:root{--bg:#eef2f6;--panel:#fff;--soft:#f6f8fa;--text:#17202a;--muted:#667381;--border:rgba(20,30,40,.12);--primary:#a10f1b;--danger:#b42318;--warning:#b54708;--warning-soft:#fffaeb;--warning-border:#fedf89;--shadow:0 14px 40px rgba(20,30,40,.12)}html[data-theme=dark]{--bg:#090c10;--panel:#12171e;--soft:#181e26;--text:#f1f4f7;--muted:#9ca9b7;--border:rgba(255,255,255,.09);--primary:#d93b48;--danger:#f97066;--warning:#fdb022;--warning-soft:#2b2110;--warning-border:#7a5616;--shadow:0 18px 50px rgba(0,0,0,.38)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,rgba(161,15,27,.12),transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;background:color-mix(in srgb,var(--panel) 84%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);z-index:20}.brand{display:flex;align-items:center;text-decoration:none;color:var(--text);min-width:0}.ffms-wordmark{display:block;width:286px;height:58px;overflow:visible}.ffms-shield{fill:var(--primary)}.ffms-flame{fill:#fff}.ffms-letter{fill:currentColor}.ffms-accent{fill:var(--primary)}.ffms-subtitle{fill:currentColor;font-family:Inter,system-ui,sans-serif;font-size:8px;font-weight:900;letter-spacing:1.2px}.ffms-subtitle-small{font-size:5px;letter-spacing:.45px;opacity:.68}.brand:hover .ffms-shield{filter:brightness(1.12)}.actions{display:flex;align-items:center;gap:10px}.clock{text-align:right;padding:8px 12px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.clock small{display:block;color:var(--muted)}.clock strong{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none;cursor:pointer;font-weight:700}.btn.primary{background:var(--primary);color:#fff;border:0}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.theme-toggle{width:44px;padding:0;font-size:1.1rem}.page{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:32px 0;flex:1 0 auto}.hero{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}h1{font-size:clamp(2rem,4vw,3.2rem);margin:0;letter-spacing:-.05em}h2{margin-top:1.2em}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:21px;box-shadow:var(--shadow)}a.card{text-decoration:none;transition:.2s}a.card:hover{transform:translateY(-3px)}.icon{font-size:1.8rem}.module-code{color:var(--primary);font-size:.75rem;font-weight:900}.field{margin-bottom:15px}.field label{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}.setting-source{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.68rem;font-weight:700;vertical-align:middle}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--text)}textarea{min-height:110px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-size:.78rem}.alert{padding:13px 15px;border-radius:12px;background:rgba(161,15,27,.12);margin-bottom:15px}.maintenance-notice{display:flex;align-items:flex-start;gap:13px;padding:15px 16px;border:1px solid var(--warning-border);border-radius:14px;background:var(--warning-soft);color:var(--text)}.maintenance-notice-icon{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--warning);color:#fff;font-weight:900}.maintenance-notice strong{color:var(--warning)}.maintenance-notice p{margin:4px 0 0;white-space:pre-wrap}.login-maintenance-notice{margin:16px 0}.dashboard-maintenance-notice{align-items:center;margin-bottom:22px}.dashboard-maintenance-notice>div{flex:1}.maintenance-action{white-space:nowrap;border-color:var(--warning-border);color:var(--warning)}.maintenance-settings-card{margin-bottom:16px;border-color:color-mix(in srgb,var(--warning) 35%,var(--border))}.maintenance-settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.maintenance-settings-head h2{margin:.25rem 0}.maintenance-settings-head p{margin:.4rem 0 0;max-width:760px}.maintenance-settings-grid{grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr)}.maintenance-message-field textarea{min-height:92px}.status.maintenance-active{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning);border:1px solid var(--warning-border)}.status.maintenance-inactive{background:rgba(18,183,106,.14);color:#067647;border:1px solid rgba(18,183,106,.22)}.login-shell{min-height:0;flex:1 0 auto;display:grid;place-items:center;padding:30px}.login-card{width:min(460px,100%)}.login-submit{width:100%}.forgot-password-link{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin:12px 0 18px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 7%,var(--panel));color:var(--primary);font-size:.9rem;font-weight:800;text-decoration:none;transition:background .18s,border-color .18s,transform .18s}.forgot-password-link:hover{background:color-mix(in srgb,var(--primary) 13%,var(--panel));border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transform:translateY(-1px)}.forgot-password-link:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}.forgot-password-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--primary);color:#fff;font-size:1rem}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:10px;background:var(--soft)}.check input{width:auto;margin-top:3px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.inline-form{display:inline}.section-gap{margin-top:16px}.section-gap-small{margin-top:10px}.favicon-preview{display:flex;align-items:center;gap:12px;margin:14px 0}.favicon-preview img{width:64px;height:64px;object-fit:contain;border-radius:12px;background:var(--soft);border:1px solid var(--border);padding:6px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.status.active{background:rgba(18,183,106,.14);color:#067647}.status.inactive{background:rgba(217,45,32,.12);color:var(--danger)}.permission-code{display:block;color:var(--muted);font-family:ui-monospace,monospace;margin-top:3px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.block{display:block}.nowrap{white-space:nowrap}.audit-description{margin-top:6px;min-width:240px}.audit-table code{font-size:.78rem;color:var(--primary)}.audit-details{display:grid;grid-template-columns:max-content minmax(140px,1fr);gap:4px 10px;margin:8px 0}.audit-details dt{font-weight:800}.audit-details dd{margin:0;overflow-wrap:anywhere}.toolbar,.form-actions,.section-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-head{justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;margin-bottom:16px}.click-row{cursor:pointer}.click-row:hover{background:var(--soft)}.status-active,.status-valid,.status-approved{color:#067647;background:rgba(18,183,106,.14)}.status-archived,.status-expired,.status-rejected{color:var(--danger);background:rgba(217,45,32,.12)}.status-inactive,.status-leave,.status-retired,.status-pending,.status-suspended,.status-planned,.status-cancelled{color:var(--warning);background:var(--warning-soft)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.detail-list{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:9px;margin:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.inline-form.module-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-top:14px}.inline-form.module-form input,.inline-form.module-form select{width:auto;min-width:150px;flex:1}.danger-zone{margin-top:16px;padding:16px}.btn.danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:28px}.form-actions{margin-top:18px}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.ffms-wordmark{width:248px}.form-grid,.detail-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.inline-form.module-form>*{width:100%!important}}@media(max-width:700px){.topbar{padding:10px 14px;flex-wrap:wrap}.brand{width:calc(100% - 58px)}.ffms-wordmark{width:min(286px,100%);height:auto}.actions{margin-left:auto}.clock{order:3;width:100%;text-align:center}.hero{flex-direction:column;align-items:flex-start}.maintenance-settings-head{flex-direction:column}.maintenance-settings-grid{grid-template-columns:1fr}.dashboard-maintenance-notice{align-items:flex-start;flex-wrap:wrap}.maintenance-action{width:100%}}@media(max-width:620px){.grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}

body.has-app-background::before{content:"";position:fixed;inset:0;z-index:0;background-image:linear-gradient(rgba(9,12,16,.24),rgba(9,12,16,.24)),var(--app-background-image);background-position:center center;background-repeat:no-repeat;background-size:cover;pointer-events:none}html[data-theme=dark] body.has-app-background::before{background-image:linear-gradient(rgba(4,6,8,.78),rgba(4,6,8,.78)),var(--app-background-image)}body.has-app-background>*{position:relative;z-index:1}.dashboard-module-card h2{color:var(--text)}.dashboard-module-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.dashboard-module-card:hover,.dashboard-module-card:focus-visible{transform:translateY(-7px) scale(1.01);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 22px 48px rgba(20,30,40,.22),0 0 25px color-mix(in srgb,var(--primary) 34%,transparent);outline:none}html[data-theme=dark] .dashboard-module-card:hover,html[data-theme=dark] .dashboard-module-card:focus-visible{box-shadow:0 24px 55px rgba(0,0,0,.55),0 0 28px color-mix(in srgb,var(--primary) 42%,transparent)}.app-footer{min-height:58px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 26px;background:color-mix(in srgb,var(--panel) 84%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;font-weight:700}.background-preview{display:flex;align-items:center;gap:14px;margin:14px 0}.background-preview img{width:min(320px,55vw);aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:14px;border:1px solid var(--border);background:var(--soft)}@media(max-width:620px){.app-footer{flex-direction:column;gap:5px;text-align:center}.dashboard-module-card:hover,.dashboard-module-card:focus-visible{transform:translateY(-4px)}}

.dashboard-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:15px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--primary) 10%,var(--soft));color:var(--primary)}
.dashboard-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-module-card:hover .dashboard-icon{background:var(--primary);color:#fff;border-color:var(--primary)}

/* FFMS 2.3.3: durchgehend lesbare Seitentitel vor frei wählbaren Hintergründen */
:root{--page-heading-bg:rgba(255,255,255,.93);--page-heading-text:#17202a;--page-heading-muted:#4d5b69;--page-heading-border:rgba(20,30,40,.16);--page-heading-shadow:0 12px 34px rgba(20,30,40,.2)}
html[data-theme=dark]{--page-heading-bg:rgba(18,23,30,.93);--page-heading-text:#f1f4f7;--page-heading-muted:#b4bec9;--page-heading-border:rgba(255,255,255,.12);--page-heading-shadow:0 16px 38px rgba(0,0,0,.46)}
.page .hero>div:first-child:not(.toolbar),.page>.page-heading{width:fit-content;max-width:min(780px,100%);padding:17px 21px;border:1px solid var(--page-heading-border);border-radius:16px;background:var(--page-heading-bg);box-shadow:var(--page-heading-shadow);color:var(--page-heading-text);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.page .hero>div:first-child:not(.toolbar){align-self:flex-start}
.page .hero>div:first-child:not(.toolbar) .module-code,.page>.page-heading .module-code{display:block;margin:0 0 6px}
.page .hero>div:first-child:not(.toolbar) h1,.page>.page-heading h1{color:var(--page-heading-text)}
.page .hero>div:first-child:not(.toolbar) .muted,.page>.page-heading .muted{color:var(--page-heading-muted);margin:.55rem 0 0}
.page>h1{display:block;width:fit-content;max-width:100%;margin:0 0 24px;padding:17px 21px;border:1px solid var(--page-heading-border);border-radius:16px;background:var(--page-heading-bg);box-shadow:var(--page-heading-shadow);color:var(--page-heading-text);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:700px){.page .hero>div:first-child:not(.toolbar),.page>.page-heading,.page>h1{width:100%;max-width:100%;padding:15px 17px}.page .hero>div:first-child:not(.toolbar) h1,.page>.page-heading h1,.page>h1{overflow-wrap:anywhere}}

.toolbar,.form-actions,.section-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-head{justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;margin-bottom:16px}.click-row{cursor:pointer}.click-row:hover{background:var(--soft)}.status-active,.status-valid,.status-approved,.status-completed{color:#067647;background:rgba(18,183,106,.14)}.status-archived,.status-expired,.status-rejected,.status-out_of_service,.status-failed{color:var(--danger);background:rgba(217,45,32,.12)}.status-inactive,.status-leave,.status-retired,.status-pending,.status-suspended,.status-planned,.status-cancelled,.status-maintenance,.status-limited,.status-due,.status-in_progress{color:var(--warning);background:var(--warning-soft)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.detail-list{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:9px;margin:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.inline-form.resource-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-top:14px}.inline-form.resource-form input,.inline-form.resource-form select{width:auto;min-width:150px;flex:1}.resource-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.resource-document-name{overflow-wrap:anywhere}.empty{text-align:center;color:var(--muted);padding:28px}.form-actions{margin-top:18px}@media(max-width:850px){.form-grid,.detail-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.inline-form.resource-form>*{width:100%!important}}

.full{grid-column:1/-1}.inline{display:inline}.view-switch{margin-bottom:14px}.calendar-list{display:grid;gap:12px}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{min-height:150px;padding:12px}.calendar-day>header{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:9px}.calendar-day>header strong{color:var(--text);font-size:1.2rem}.calendar-event{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:7px;margin-top:6px;border-radius:9px;background:color-mix(in srgb,var(--primary) 12%,var(--soft));color:var(--text);text-decoration:none;font-size:.77rem}.calendar-event small{grid-column:2;color:var(--muted)}.calendar-event.cancelled{opacity:.5;text-decoration:line-through}.booking-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:18px}.booking-card h2{margin:0 0 6px}.booking-card p{margin:0 0 8px}.booking-card.cancelled{opacity:.62}.booking-date{display:grid;gap:5px;text-align:center;border-right:1px solid var(--border);padding-right:16px}.booking-date strong{font-size:1.45rem}.booking-date span{color:var(--muted);font-variant-numeric:tabular-nums}.public-room-display{display:block;background:#08100d;color:#fff}.public-room-display::before{display:none!important}.room-display{min-height:100vh;padding:clamp(24px,4vw,64px);display:grid;grid-template-rows:auto 1fr auto;gap:clamp(24px,4vw,54px);background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.12),transparent 32%),#123b2b}.room-display.is-occupied{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.1),transparent 32%),#681a22}.room-display header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.room-display h1{font-size:clamp(2.4rem,7vw,6rem);letter-spacing:-.04em}.room-display header p{font-size:clamp(1rem,2vw,1.5rem);opacity:.78}.display-clock{display:grid;text-align:right}.display-clock span{font-size:clamp(3rem,8vw,7rem);font-weight:900;font-variant-numeric:tabular-nums}.display-clock small{font-size:clamp(1rem,2vw,1.5rem)}.display-status{align-self:center}.display-status strong{font-size:clamp(5rem,16vw,14rem);line-height:.85;letter-spacing:-.07em}.display-status p{font-size:clamp(1.4rem,3vw,2.6rem)}.display-next{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:16px;align-items:center}.display-next h2{margin:0}.display-next article{display:grid;gap:5px;padding:14px 18px;border-left:3px solid rgba(255,255,255,.5)}.display-next time{opacity:.75}@media(max-width:1000px){.month-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.month-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card{grid-template-columns:90px 1fr}.booking-card>.toolbar{grid-column:1/-1}.display-next{grid-template-columns:1fr}.room-display header{flex-direction:column}.display-clock{text-align:left}}@media(max-width:520px){.month-calendar{grid-template-columns:1fr}}
.display-actions{min-width:18rem}.display-actions .btn{margin:.15rem .15rem .15rem 0}.display-setup{border-color:var(--primary)}.display-setup label{display:block;margin:.75rem 0}.display-setup input[readonly]{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* FFMS 2.3.2: echte Monatsansicht, stabile Buchungsrückmeldung und QR-Buchung */
.booking-form-error{margin-bottom:16px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 12%,var(--panel))}
.calendar-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto minmax(280px,1.3fr) auto;gap:12px;align-items:end;margin-bottom:14px}
.calendar-toolbar h2{margin:.15rem 0 0}.calendar-room-filter{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.calendar-room-filter label{font-size:.82rem;font-weight:800}.calendar-room-filter select{margin-top:6px}
.month-calendar-scroll{overflow-x:auto;padding-bottom:8px}.month-calendar{min-width:980px;display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px}
.calendar-weekday{padding:9px 12px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.calendar-day{min-height:168px;display:flex;flex-direction:column;padding:11px}.calendar-day-empty{min-height:80px;border:1px dashed var(--border);border-radius:18px;background:color-mix(in srgb,var(--soft) 60%,transparent)}
.calendar-day.is-today{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent),var(--shadow)}.calendar-day.is-today>header strong{color:var(--primary)}
.calendar-events{display:grid;gap:5px}.calendar-add{margin-top:auto;padding-top:9px;color:var(--primary);font-size:.76rem;font-weight:800;text-decoration:none}.calendar-add:hover{text-decoration:underline}
.booking-list-filter{grid-template-columns:1fr 1fr 1.4fr auto auto}.list-summary{display:flex;justify-content:space-between;gap:16px;padding:4px 2px;color:var(--muted)}.list-summary strong{color:var(--text)}
.display-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end}.display-booking-qr{display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;column-gap:14px;align-items:center;padding:12px 16px;border-radius:18px;background:#fff;color:#111;text-decoration:none;box-shadow:0 14px 40px rgba(0,0,0,.24)}
.display-booking-qr [data-booking-qr]{grid-row:1/3;display:grid;place-items:center}.display-booking-qr svg{display:block;width:112px;height:112px}.display-booking-qr strong{align-self:end;font-size:1.15rem}.display-booking-qr small{align-self:start;color:#4b5563}
@media(max-width:1000px){.month-calendar{grid-template-columns:repeat(7,minmax(130px,1fr))}.calendar-toolbar{grid-template-columns:auto 1fr auto}.calendar-room-filter{grid-column:1/-1}.calendar-toolbar>a:last-child{grid-column:1/-1}.display-footer{grid-template-columns:1fr}.display-booking-qr{justify-self:start}.display-next{grid-template-columns:1fr}}
@media(max-width:850px){.month-calendar{grid-template-columns:repeat(7,minmax(130px,1fr))}.booking-list-filter{grid-template-columns:1fr}.list-summary{flex-direction:column}.display-booking-qr svg{width:96px;height:96px}}

/* FFMS 2.3.4: öffentliche Raumbuchung, erledigte Termine und fixierter Rahmen */
body:not(.public-room-display):not(.public-booking-page){padding-top:var(--topbar-height,78px);padding-bottom:var(--footer-height,58px)}
.topbar{position:fixed!important;top:0;right:0;left:0;width:100%;z-index:100}
.app-footer{position:fixed!important;right:0;bottom:0;left:0;width:100%;z-index:100;margin-top:0}
.list-summary{padding:14px 17px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);color:var(--muted)}
.list-summary strong{color:var(--text)}
.calendar-event.cancelled,.calendar-event.completed{opacity:.5;text-decoration:line-through}
.booking-card.cancelled,.booking-card.completed{opacity:.62}
.booking-card.completed .status{opacity:1;text-decoration:none}
.public-booking-option{align-items:flex-start;padding:14px}
.public-booking-option span{display:grid;gap:4px}
.public-booking-option small{color:var(--muted);font-weight:600;line-height:1.45}
.public-booking-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 0,rgba(161,15,27,.16),transparent 32%),var(--bg)}
.public-booking-shell{width:min(760px,100%);margin:auto}
.public-booking-card{padding:clamp(22px,4vw,38px)}
.public-booking-heading{margin-bottom:24px}
.public-booking-heading h1{font-size:clamp(2rem,5vw,3rem);margin:0}
.public-booking-heading p:last-child{margin:.65rem 0 0;color:var(--muted)}
.public-booking-success{margin:20px 0;padding:18px;border:1px solid rgba(18,183,106,.28);border-radius:14px;background:rgba(18,183,106,.12)}
.public-booking-success strong{font-size:1.15rem;color:#067647}
.public-booking-success p{margin:.35rem 0 0}
.public-booking-note{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.public-booking-submit{width:100%}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){body:not(.public-room-display):not(.public-booking-page){padding-top:var(--topbar-height,154px)}}

/* FFMS 2.3.5: fixierte Rahmenebenen immer vor dem scrollenden Seiteninhalt */
body:not(.public-room-display):not(.public-booking-page)>.topbar,
body.has-app-background:not(.public-room-display):not(.public-booking-page)>.topbar{
 isolation:isolate;
 z-index:10000!important
}

body:not(.public-room-display):not(.public-booking-page)>.app-footer,
body.has-app-background:not(.public-room-display):not(.public-booking-page)>.app-footer{
 isolation:isolate;
 z-index:9000!important
}

/* FFMS 2.4.0: Formulare, Unterschriften und Dokumentenmanagement */
.forms-filter{grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) auto auto}
.status-draft,.status-submitted{color:var(--warning);background:var(--warning-soft)}
.status-published{color:#067647;background:rgba(18,183,106,.14)}
.signature-entry{display:grid;gap:10px}
.signature-entry canvas{display:block;width:100%;max-width:900px;height:auto;background:#fff;border:2px solid var(--border);border-radius:14px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);touch-action:none}
.signature-entry canvas:focus{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);border-color:var(--primary)}
.signature-notice{max-width:900px;line-height:1.5}
.signature-proof{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.signature-proof img{display:block;width:min(700px,100%);height:auto;padding:12px;background:#fff;border:1px solid var(--border);border-radius:12px}
.signature-proof code{overflow-wrap:anywhere}
.submission-sheet{display:grid;gap:20px}
.review-form{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--border)}
@media(max-width:850px){.forms-filter{grid-template-columns:1fr}}
@media print{
 body{padding:0!important;background:#fff!important;color:#111!important}
 body::before,.topbar,.app-footer,.hero .toolbar,.review-form{display:none!important}
 .page{max-width:none;padding:0}
 .hero{margin-bottom:16px}
 .page .hero>div:first-child:not(.toolbar),.card{background:#fff!important;color:#111!important;box-shadow:none!important;border-color:#bbb!important}
 .muted{color:#444!important}
}

/* FFMS 2.4.1: erweiterte Raumdisplayverwaltung */
.status-online{color:#067647}.status-offline{color:var(--danger)}
.device-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.device-detail-grid>div{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.device-detail-grid>div>strong{overflow-wrap:anywhere}
.room-display-profile-note{line-height:1.55}
label small{display:block;margin-top:6px;color:var(--muted);font-weight:600;line-height:1.4}

@media (orientation:landscape) and (max-width:950px) and (max-height:500px){
 .public-room-display{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 .room-display{min-height:100dvh;padding:12px 18px;grid-template-rows:auto 1fr auto;gap:8px}
 .room-display header{flex-direction:row;align-items:flex-start;gap:18px}
 .room-display h1{font-size:clamp(1.65rem,5vw,2.6rem)}
 .room-display header p{margin:.2rem 0;font-size:.8rem}
 .display-clock{text-align:right}
 .display-clock span{font-size:clamp(2rem,7vw,3.25rem)}
 .display-clock small{font-size:.85rem}
 .display-status{align-self:center}
 .display-status strong{font-size:clamp(3.6rem,15vw,6.4rem);line-height:.8}
 .display-status p{margin:.45rem 0 0;font-size:clamp(.9rem,2.5vw,1.25rem)}
 .display-footer{grid-template-columns:minmax(0,1fr) auto;gap:14px}
 .display-next{grid-template-columns:auto repeat(3,minmax(0,1fr));gap:8px}
 .display-next h2{font-size:1rem}
 .display-next article{padding:5px 8px;font-size:.72rem}
 .display-booking-qr{grid-template-columns:auto;grid-template-rows:auto;padding:7px}
 .display-booking-qr [data-booking-qr]{grid-row:auto}
 .display-booking-qr svg{width:58px;height:58px}
 .display-booking-qr strong,.display-booking-qr small{display:none}
}
@media(max-width:850px){.device-detail-grid{grid-template-columns:1fr}}

/* FFMS 2.5.0: zentrale Anmeldung, Ticketsystem und Integrationen */
.full-width{width:100%}
.auth-primary{margin:24px 0}
.auth-primary h2{margin-bottom:4px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin:24px 0 12px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--border)}
.help-text{margin-top:0}
.login-help{text-align:center;margin-bottom:0}
.eyebrow{color:var(--primary);font-size:.72rem;font-weight:900;letter-spacing:.08em;margin:0 0 5px}
.integration-head{justify-content:space-between;margin-bottom:18px}
.integration-head h2{margin:0}
.notice{padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--muted);margin:4px 0 16px}
.test-form{margin-top:12px}
.mapping-form{display:grid;grid-template-columns:1.2fr 1.2fr auto auto;gap:12px;align-items:end;margin-top:16px}
.mapping-form .field{margin:0}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.mapping-row small{display:block;color:var(--muted);margin-top:3px}
.search-field{min-width:min(620px,100%);margin:0}
@media(max-width:850px){.mapping-form{grid-template-columns:1fr}.integration-head{align-items:flex-start}.list-row{align-items:flex-start;flex-direction:column}}

/* FFMS 2.5.2: Rechtegesteuerter Tool-Bereich und Passwortgenerator */
.topbar-tools-link{gap:8px}
.topbar-tools-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tools-grid{align-items:stretch}
.tool-card{display:flex;flex-direction:column;min-height:250px}
.tool-card h2{margin:.9rem 0 .35rem;color:var(--text)}
.tool-card p{margin:.25rem 0 0;line-height:1.55}
.tool-card:hover,.tool-card:focus-visible{transform:translateY(-7px);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 22px 48px rgba(20,30,40,.22),0 0 25px color-mix(in srgb,var(--primary) 34%,transparent);outline:none}
.tool-card:hover .dashboard-icon,.tool-card:focus-visible .dashboard-icon{background:var(--primary);color:#fff;border-color:var(--primary)}
.tools-empty{grid-column:1/-1}
.tools-empty h2{margin-top:0}

/* FFMS 2.6.2: interner WYSIWYG-Texteditor */
.text-editor-card{display:grid;gap:16px}.text-editor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--border)}.text-document-name{max-width:620px}.wysiwyg-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;background:var(--soft)}.wysiwyg-toolbar button{min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font-weight:700}.wysiwyg-toolbar button:hover,.wysiwyg-toolbar button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.wysiwyg-editor{min-height:460px;padding:20px;border:1px solid var(--border);border-radius:0 0 12px 12px;background:var(--panel);color:var(--text);line-height:1.6;overflow-wrap:anywhere;outline:none}.wysiwyg-editor:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.wysiwyg-editor h1{font-size:2rem}.wysiwyg-editor h2{font-size:1.5rem}.wysiwyg-editor h3{font-size:1.2rem}.text-editor-note{margin:0;padding:12px 14px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:.86rem}.document-picker{width:min(1040px,calc(100% - 30px));max-height:85vh;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.35)}.document-picker::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(4px)}.document-picker-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.document-picker-head h2{margin:.3rem 0}.document-picker-head p{margin:.3rem 0 0}.text-document-table{min-width:760px}.text-document-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.text-document-row-actions form{margin:0}.text-document-row-actions .btn{min-height:38px;padding-inline:12px}
@media(max-width:700px){.text-editor-actions>.btn{flex:1}.wysiwyg-editor{min-height:360px;padding:15px}.document-picker{padding:16px}.document-picker-head{flex-direction:column}.document-picker-head>.btn{width:100%}}
.password-generator{padding:clamp(20px,3vw,32px)}
.password-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.range-field{padding:18px;border:1px solid var(--border);border-radius:15px;background:var(--soft)}
.range-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.range-heading label{margin:0}
.range-heading output{min-width:105px;text-align:right;color:var(--primary);font-weight:900;font-variant-numeric:tabular-nums}
.range-field input[type=range]{padding:0;accent-color:var(--primary);cursor:pointer}
.range-field small,.special-characters small{display:block;margin-top:8px;color:var(--muted);line-height:1.45}
.password-options{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:15px}
.password-options legend{padding:0 8px;font-weight:900}
.password-options>p{margin-top:0;line-height:1.5}
.password-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.password-option-grid .check{min-height:46px;align-items:center}
.password-option-grid .check input{margin-top:0}
.special-characters{margin:18px 0 0}
.special-characters input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em}
.password-generator-error{margin:0 0 16px}
.password-generate-button{min-width:220px}
.password-results{margin-top:18px}
.password-results h2{margin:.1rem 0}
.password-results .table{min-width:560px}
.password-results th:first-child,.password-results td:first-child{width:70px}
.password-results th:last-child,.password-results td:last-child{width:150px;text-align:right}
.generated-password{display:block;max-width:100%;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;line-height:1.5;color:var(--text)}
.copy-password{gap:7px;white-space:nowrap}
.copy-password svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.copy-password.is-copied{border-color:rgba(18,183,106,.45);color:#067647}
.password-privacy-note{margin:18px 0 0;padding:13px 15px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:.86rem;line-height:1.55}
[hidden]{display:none!important}
@media(max-width:850px){
 .password-sliders{grid-template-columns:1fr}
 .password-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* FFMS 2.7.0: Digital Signage und Informationsmonitore */
.signage-module{--signage-accent:#b5121b}.signage-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.signage-stat{display:grid;gap:6px;text-decoration:none;color:var(--text);border-top:4px solid var(--signage-accent)}.signage-stat span{color:var(--muted);font-weight:800}.signage-stat strong{font-size:clamp(2rem,4vw,3.3rem);line-height:1;color:var(--text)}.signage-stat small{color:var(--muted)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h2{margin:.3rem 0}.section-heading p{margin:.35rem 0 0}.signage-emergency-editor{border-top:4px solid var(--danger)}.signage-targets{border:1px solid var(--border);border-radius:12px;padding:14px}.signage-targets legend{font-weight:900;padding:0 8px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.signage-emergency-list{display:grid;gap:12px}.signage-emergency-list article{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-left:5px solid var(--warning);border-radius:12px;background:var(--soft)}.signage-emergency-list article.emergency-critical{border-left-color:var(--danger)}.signage-emergency-list article.emergency-information{border-left-color:#1570ef}.signage-emergency-list h3{margin:.4rem 0}.signage-emergency-list p{margin:.4rem 0;line-height:1.55}.privacy-badge,.monitor-status,.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--soft);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.privacy-public{color:#067647;background:rgba(18,183,106,.14)}.privacy-internal{color:#175cd3;background:rgba(21,112,239,.14)}.privacy-personal{color:#b54708;background:rgba(247,144,9,.16)}.privacy-management{color:#6941c6;background:rgba(105,65,198,.15)}.monitor-status.online{color:#067647;background:rgba(18,183,106,.14)}.monitor-status.warning{color:#b54708;background:rgba(247,144,9,.16)}.monitor-status.offline{color:var(--danger);background:rgba(217,45,32,.12)}.monitor-status.disabled{color:var(--muted);background:var(--soft)}.signage-monitor-table{min-width:1180px}.signage-content-table{min-width:1050px}.signage-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.command-grid .btn{justify-content:center}.signage-privacy-note{padding:14px 16px;border:1px solid rgba(21,112,239,.3);border-radius:12px;background:rgba(21,112,239,.08);line-height:1.55}.signage-config-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.compact-form{align-content:start}.color-chip{display:inline-block;width:28px;height:28px;margin-right:6px;border:1px solid var(--border);border-radius:7px;background:var(--chip)}

body.public-room-display{margin:0;padding:0;overflow:hidden;background:#101820}.info-display{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--display-bg);color:var(--display-text);font-family:Inter,system-ui,sans-serif}.info-display-header{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:clamp(18px,2.2vw,36px);border-bottom:3px solid var(--display-accent);background:color-mix(in srgb,var(--display-bg) 90%,#000)}.info-display-header>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center}.info-display-header>div:first-child strong{font-size:clamp(1.35rem,2.5vw,2.8rem)}.info-display-header>div:first-child small{grid-column:2;color:color-mix(in srgb,var(--display-text) 72%,transparent);font-size:clamp(.9rem,1.3vw,1.3rem)}.info-display-brand{grid-row:1/3;display:grid;place-items:center;min-width:82px;min-height:58px;padding:8px 14px;border-radius:12px;background:var(--display-accent);font-size:clamp(1.2rem,2vw,2rem);font-weight:1000;letter-spacing:.08em}.info-display-clock{text-align:right}.info-display-clock span{display:block;font-size:clamp(.9rem,1.3vw,1.3rem)}.info-display-clock strong{display:block;font-size:clamp(1.8rem,3.7vw,4rem);font-variant-numeric:tabular-nums}.info-display-stage{position:relative;min-height:0;overflow:hidden}.info-display-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,80px);overflow:hidden}.info-display-slide[hidden]{display:none}.info-display-slide h1{margin:0 0 .25em;color:var(--display-text);font-size:clamp(2.2rem,5vw,6.5rem);line-height:1.05}.info-display-slide h2{margin:0 0 1em;color:color-mix(in srgb,var(--display-text) 75%,transparent);font-size:clamp(1.2rem,2.2vw,2.8rem)}.info-display-content{font-size:clamp(1.35rem,2.6vw,3.4rem);line-height:1.35}.info-display-content p{margin:.35em 0}.info-display-slide>img{width:100%;height:100%;object-fit:contain}.info-display-slide>iframe{width:100%;height:100%;border:0;background:#fff}.signage-room-list{display:grid;gap:.45em}.signage-room-list>div{display:flex;justify-content:space-between;gap:1em;padding:.35em .55em;border-left:.18em solid var(--display-accent);background:color-mix(in srgb,var(--display-text) 7%,transparent)}.signage-room-list span{font-weight:600}.signage-appointments{display:grid;gap:.5em;margin:0;padding:0;list-style:none}.signage-appointments li{padding:.35em .55em;border-left:.18em solid var(--display-accent);background:color-mix(in srgb,var(--display-text) 7%,transparent)}.signage-appointments span{float:right;color:color-mix(in srgb,var(--display-text) 72%,transparent)}.info-display-footer{display:flex;justify-content:space-between;gap:20px;padding:10px clamp(18px,2.2vw,36px);background:color-mix(in srgb,var(--display-bg) 88%,#000);color:color-mix(in srgb,var(--display-text) 70%,transparent);font-size:clamp(.75rem,1vw,1rem)}.info-display-emergency{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5vw;text-align:center;background:#9b1c1c;color:#fff}.info-display-emergency>span{padding:.45em .8em;border:2px solid currentColor;border-radius:999px;font-weight:1000;text-transform:uppercase}.info-display-emergency h1{margin:.35em 0;font-size:clamp(3rem,7vw,9rem);line-height:1}.info-display-emergency p{max-width:1500px;margin:.25em 0;font-size:clamp(1.7rem,3.7vw,4.5rem);line-height:1.25}.info-display-emergency.emergency-warning{background:#b54708}.info-display-emergency.emergency-information{background:#175cd3}.info-display-portrait .info-display-header{align-items:flex-start}.template-two_columns .info-display-stage{display:grid;grid-template-columns:1fr 1fr}.template-two_columns .region-left{right:50%}.template-two_columns .region-right{left:50%}.template-headline_sidebar .region-main{right:34%}.template-headline_sidebar .region-right{left:66%;padding-left:2vw}

.signage-playlist-content-list{display:grid;gap:10px}.signage-playlist-content-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.45fr) minmax(130px,.25fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.signage-playlist-content-row .check{align-self:center}.signage-playlist-content-row .check span{display:grid;gap:3px}.signage-playlist-content-row label{margin:0}.info-display-slide.region-footer{top:auto;height:18%;padding:1.2vw 2.5vw;border-top:2px solid var(--display-accent)}

.signage-template-catalog{margin-bottom:18px}.signage-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.signage-template-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(220px,1.1fr);gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.signage-template-card>form{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.signage-template-card h3,.signage-playlist-template-card h3{margin:.1rem 0 .5rem}.signage-template-card p,.signage-playlist-template-card p{color:var(--muted);line-height:1.5}.signage-layout-preview{position:relative;min-height:150px;overflow:hidden;border:3px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:10px;background:#101820}.signage-layout-preview>span{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);display:grid;place-items:center;border:2px solid rgba(255,255,255,.5);background:rgba(181,18,27,.18);color:#fff;text-align:center}.signage-layout-preview>span:nth-child(even){background:rgba(21,112,239,.22)}.signage-layout-preview small{padding:4px 7px;border-radius:6px;background:rgba(0,0,0,.58);font-weight:800}.signage-playlist-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.signage-playlist-template-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);border-top:4px solid var(--signage-accent);border-radius:14px;background:var(--soft)}.signage-playlist-template-card p{flex:1}.signage-source-settings{border:1px solid var(--border);border-radius:12px;padding:14px}.signage-source-settings legend{padding:0 8px;font-weight:900}

.info-display-region{position:absolute;left:var(--region-x);top:var(--region-y);width:var(--region-w);height:var(--region-h);overflow:hidden;border:1px solid color-mix(in srgb,var(--display-text) 12%,transparent)}.info-display-region .info-display-slide{position:absolute;inset:0;padding:clamp(14px,2.4vw,44px)}.info-display-region .info-display-slide h1{font-size:clamp(1.45rem,3.2vw,4.4rem)}.info-display-region .info-display-slide h2{font-size:clamp(1rem,1.7vw,2rem)}.info-display-region .info-display-content{font-size:clamp(1rem,1.75vw,2.35rem)}.info-display-region-empty{position:absolute;inset:0;display:grid;place-content:center;gap:.35em;text-align:center;color:color-mix(in srgb,var(--display-text) 55%,transparent)}.info-display-region-empty span{font-weight:900}.info-display-region-empty small{font-size:.72em}.region-footer .info-display-slide,.region-bottom .info-display-slide{padding:1vw 2vw}.region-footer .info-display-slide h1,.region-bottom .info-display-slide h1{font-size:clamp(1.1rem,2vw,2.6rem)}.region-footer .info-display-content,.region-bottom .info-display-content{font-size:clamp(.95rem,1.55vw,2rem)}.signage-source-empty{padding:1em;border-left:.2em solid var(--display-accent);background:color-mix(in srgb,var(--display-text) 7%,transparent)}.signage-source-empty strong{display:block;font-size:1.1em}.signage-source-empty p{font-size:.72em}.signage-source-note{font-size:.48em;color:color-mix(in srgb,var(--display-text) 72%,transparent)}.signage-weather{display:grid;gap:.65em}.signage-weather-heading{display:flex;justify-content:space-between;align-items:end;gap:1em}.signage-weather-heading span{font-size:.48em;color:color-mix(in srgb,var(--display-text) 72%,transparent)}.signage-weather-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35em}.signage-weather-grid>div{display:grid;gap:.15em;padding:.45em;border-radius:.35em;background:color-mix(in srgb,var(--display-text) 8%,transparent)}.signage-weather-grid time{font-size:.55em}.signage-weather-grid strong{font-size:1em}.signage-weather-grid span{font-size:.45em}.signage-weather>small{font-size:.4em}.signage-source-list{display:grid;gap:.45em}.signage-source-list article{display:grid;grid-template-columns:1fr auto;gap:.2em .8em;padding:.45em;border-left:.18em solid var(--display-accent);background:color-mix(in srgb,var(--display-text) 7%,transparent)}.signage-source-list article span{font-size:.7em}.signage-source-list article small{grid-column:2;grid-row:1/3;font-size:.52em;align-self:center}

@media(max-width:1000px){.signage-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.signage-config-grid,.signage-detail-grid{grid-template-columns:1fr}.command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signage-playlist-content-row{grid-template-columns:1fr 1fr}.signage-playlist-content-row>.check{grid-column:1/-1}.signage-template-grid,.signage-playlist-template-grid{grid-template-columns:1fr}}
@media(max-width:650px){.signage-stats,.check-grid,.command-grid{grid-template-columns:1fr}.signage-emergency-list article{flex-direction:column}.signage-emergency-list form,.signage-emergency-list .btn{width:100%}.signage-template-card{grid-template-columns:1fr}.signage-template-card>form{grid-template-columns:1fr}.signage-template-card .btn{width:100%}}
@media(max-width:700px){
 .topbar .brand{width:100%}
 .topbar .actions{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .topbar .actions>.clock{grid-column:1/-1;grid-row:2;width:100%}
 .topbar .actions>form,.topbar .actions>form .btn{width:100%}
 .topbar .actions>.btn{width:100%;padding-inline:10px}
}
@media(max-width:520px){
 .topbar .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .topbar .actions>.clock{grid-row:auto}
 .password-option-grid{grid-template-columns:1fr}
 .range-heading{align-items:flex-start;flex-direction:column;gap:4px}
 .range-heading output{text-align:left}
 .password-generate-button{width:100%;min-width:0}
}

/* FFMS 2.6.0: Digitales Verbandbuch und PSU-Sicherheitsbereich */
.sensitive-module{--sensitive-accent:#8b1e2d}
.psu-module{--sensitive-accent:#4b3f72}
.psu-list-heading{margin-bottom:12px}.psu-list-heading h2{margin:0;color:var(--text)}.psu-list-heading p{margin:.35rem 0 0;color:var(--muted)}
.psu-filter-panel{align-items:end;padding:16px;background:var(--panel);border-color:color-mix(in srgb,var(--sensitive-accent) 30%,var(--border));box-shadow:var(--shadow)}.psu-filter-panel label{display:grid;gap:7px;color:var(--text);font-size:.82rem;font-weight:900}.psu-filter-panel input,.psu-filter-panel select{background:var(--soft);color:var(--text)}
.psu-case-list{background:var(--panel)}.psu-case-list .table{min-width:900px}.psu-case-table thead{background:color-mix(in srgb,var(--sensitive-accent) 9%,var(--panel))}.psu-case-table th{color:var(--text);font-weight:900;line-height:1.35}.psu-case-table td{color:var(--text);background:var(--panel)}.psu-case-table .click-row:hover td{background:var(--soft)}.psu-case-reference{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--sensitive-accent) 42%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--sensitive-accent) 12%,var(--panel));color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;font-weight:900;letter-spacing:.025em;text-decoration:none;white-space:nowrap}.psu-case-reference:hover{background:color-mix(in srgb,var(--sensitive-accent) 19%,var(--panel));border-color:var(--sensitive-accent)}.psu-case-reference:focus-visible{outline:3px solid color-mix(in srgb,var(--sensitive-accent) 35%,transparent);outline-offset:2px}.psu-case-reference-static{cursor:default}.psu-case-title{display:block;min-width:180px;color:var(--text);font-size:.98rem;line-height:1.4;overflow-wrap:anywhere}
.sensitive-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 16px;align-items:start;border-color:color-mix(in srgb,var(--sensitive-accent) 38%,var(--border));background:color-mix(in srgb,var(--sensitive-accent) 10%,var(--panel))}
.sensitive-notice strong{color:var(--sensitive-accent)}
.sensitive-notice span{line-height:1.55}
.sensitive-form{border-top:4px solid var(--sensitive-accent)}
.sensitive-details{grid-template-columns:minmax(160px,.55fr) minmax(0,1fr)}
.sensitive-details dd{font-weight:600;white-space:normal;overflow-wrap:anywhere;line-height:1.55}
.status-open,.status-new{color:var(--warning);background:var(--warning-soft)}
.status-closed{color:#067647;background:rgba(18,183,106,.14)}
.status-invalid{color:var(--danger);background:rgba(217,45,32,.12)}
.status-follow_up{color:#4b3f72;background:rgba(75,63,114,.14)}
.revision-history details{margin-top:12px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.revision-history summary{cursor:pointer;padding:14px 16px;font-weight:800;line-height:1.45}
.revision-history details .detail-list{padding:0 16px 16px}
.secure-notes{display:grid;gap:12px;margin-top:16px}
.secure-notes article{padding:16px;border:1px solid var(--border);border-left:4px solid var(--sensitive-accent);border-radius:12px;background:var(--soft)}
.secure-notes article header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.secure-notes article header span{color:var(--muted);font-size:.82rem}
.secure-notes article p{margin:.75rem 0 0;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:850px){
 .sensitive-details{grid-template-columns:1fr}
 .sensitive-details dt{padding-top:8px;font-weight:800}
 .secure-notes article header{flex-direction:column;gap:4px}
}

/* FFMS 2.9.4: Wissen & Dokumentation */
.knowledge-module{--knowledge-accent:#8f1824}.knowledge-hero{border-left:5px solid var(--knowledge-accent)}
.knowledge-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:start}.knowledge-sidebar{position:sticky;top:18px}.knowledge-sidebar h2{margin-top:0}.knowledge-sidebar nav{display:grid;gap:6px}.knowledge-area-link{display:block;padding:10px 12px;border-radius:10px;color:var(--text);font-weight:750;text-decoration:none}.knowledge-area-link:hover,.knowledge-area-link.active{background:color-mix(in srgb,var(--knowledge-accent) 13%,var(--soft));color:var(--knowledge-accent)}.knowledge-legacy-note{margin-top:20px;font-size:.86rem;line-height:1.5}.knowledge-content-column{min-width:0}.knowledge-filter{grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto;align-items:end;margin-bottom:18px}.knowledge-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.knowledge-card{display:flex;flex-direction:column;border-top:4px solid var(--knowledge-accent)}.knowledge-card h2{margin:.7rem 0 .45rem}.knowledge-card h2 a{color:var(--text);text-decoration:none}.knowledge-card h2 a:hover{color:var(--knowledge-accent)}.knowledge-card p{flex:1;line-height:1.55}.knowledge-card footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}.knowledge-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--muted);font-size:.84rem;font-weight:700}.status-draft{color:#b54708;background:rgba(247,144,9,.16)}.status-published{color:#067647;background:rgba(18,183,106,.14)}.knowledge-tags{color:var(--knowledge-accent);font-weight:750}.knowledge-form{border-top:4px solid var(--knowledge-accent)}.knowledge-editor-section{margin:24px 0}.knowledge-editor-section h2{margin-bottom:12px}.knowledge-editor{min-height:420px}.knowledge-publish{padding-top:18px;border-top:1px solid var(--border)}.knowledge-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 14px;color:var(--muted);font-size:.88rem}.knowledge-breadcrumbs a{color:var(--knowledge-accent);font-weight:750;text-decoration:none}.knowledge-article-hero{align-items:flex-start;border-left:5px solid var(--knowledge-accent)}.knowledge-draft-notice{border-left:5px solid var(--warning)}.knowledge-article-layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:18px;align-items:start}.knowledge-toc{position:sticky;top:18px}.knowledge-toc h2{margin-top:0;font-size:1.05rem}.knowledge-toc nav{display:grid;gap:4px}.knowledge-toc a{padding:6px 8px;border-left:2px solid var(--border);color:var(--text);font-size:.88rem;text-decoration:none}.knowledge-toc a:hover{border-color:var(--knowledge-accent);color:var(--knowledge-accent)}.knowledge-toc .toc-level-3{padding-left:22px}.knowledge-toc .toc-level-4{padding-left:36px}.knowledge-article-body{min-width:0;font-size:1.01rem;line-height:1.72}.knowledge-article-body h2,.knowledge-article-body h3,.knowledge-article-body h4{scroll-margin-top:18px}.knowledge-article-body table{width:100%;border-collapse:collapse}.knowledge-article-body th,.knowledge-article-body td{padding:9px 11px;border:1px solid var(--border);vertical-align:top}.knowledge-article-body th{background:var(--soft)}.knowledge-article-body pre{max-width:100%;overflow:auto;padding:14px;border-radius:10px;background:#101820;color:#f8fafc}.knowledge-article-body .ffms-editor-hinweis{padding:14px 16px;border-left:5px solid var(--knowledge-accent);border-radius:10px;background:color-mix(in srgb,var(--knowledge-accent) 10%,var(--soft))}.knowledge-metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.knowledge-chip{display:inline-flex;margin:3px;padding:5px 9px;border-radius:999px;background:var(--soft);font-size:.82rem;font-weight:750}.knowledge-chip.tag{color:var(--knowledge-accent)}.knowledge-admin-section{margin-bottom:18px;border-top:4px solid var(--knowledge-accent)}.knowledge-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.knowledge-admin-editor{border:1px solid var(--border);border-radius:12px;background:var(--soft)}.knowledge-admin-editor summary{cursor:pointer;padding:13px 15px;font-weight:850}.knowledge-admin-editor summary small{margin-left:8px;color:var(--muted)}.knowledge-admin-editor form{padding:0 15px 15px}.knowledge-admin-editor[open] summary{color:var(--knowledge-accent)}
@media(max-width:950px){.knowledge-layout,.knowledge-article-layout{grid-template-columns:1fr}.knowledge-sidebar,.knowledge-toc{position:static}.knowledge-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-card-grid{grid-template-columns:1fr}.knowledge-admin-list{grid-template-columns:1fr}}
@media(max-width:650px){.knowledge-filter{grid-template-columns:1fr}.knowledge-sidebar nav,.knowledge-metadata-grid{grid-template-columns:1fr}.knowledge-hero .actions,.knowledge-form>.actions{width:100%}.knowledge-hero .actions .btn,.knowledge-form>.actions .btn{width:100%}}

/* FFMS 2.9.5: Revisionsverlauf und Versionsvergleich */
.knowledge-revision-hero{border-left:5px solid var(--knowledge-accent)}.knowledge-compare-picker{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(170px,.55fr)) auto;gap:14px;align-items:end;margin-bottom:18px}.knowledge-compare-picker h2,.knowledge-compare-picker p{margin:.15rem 0}.knowledge-revision-list,.knowledge-compare-meta,.knowledge-diff{border-top:4px solid var(--knowledge-accent)}.knowledge-revision-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.status-restored{color:#6941c6;background:rgba(127,86,217,.14)}.knowledge-restore{min-width:180px}.knowledge-restore summary{cursor:pointer;color:var(--knowledge-accent);font-weight:800}.knowledge-restore form{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--soft)}.knowledge-restore p{margin:0;font-size:.82rem}.knowledge-changed th{border-left:4px solid #b54708}.knowledge-diff{margin-top:18px}.knowledge-diff-legend{display:flex;gap:8px}.knowledge-diff-legend span{padding:5px 9px;border-radius:8px;font-size:.8rem;font-weight:800}.knowledge-diff-added{background:rgba(18,183,106,.16);color:#067647}.knowledge-diff-removed{background:rgba(240,68,56,.15);color:#b42318}.knowledge-diff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-diff-head{position:sticky;top:0;z-index:1;background:var(--soft);border:1px solid var(--border);border-radius:10px 10px 0 0}.knowledge-diff-head strong{padding:10px 12px}.knowledge-diff-row{border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.knowledge-diff-cell{min-width:0;padding:10px 12px;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-diff-cell+ .knowledge-diff-cell{border-left:1px solid var(--border)}.knowledge-diff-row.state-hinzugefügt .knowledge-diff-cell:last-child{background:rgba(18,183,106,.13)}.knowledge-diff-row.state-entfernt .knowledge-diff-cell:first-child{background:rgba(240,68,56,.12)}
@media(max-width:950px){.knowledge-compare-picker{grid-template-columns:1fr 1fr}.knowledge-compare-picker>div{grid-column:1/-1}}
@media(max-width:650px){.knowledge-compare-picker,.knowledge-diff-grid{grid-template-columns:1fr}.knowledge-diff-head{position:static}.knowledge-diff-head strong:before{content:'Stand: '}.knowledge-diff-cell+ .knowledge-diff-cell{border-left:0;border-top:1px dashed var(--border)}.knowledge-diff-cell:first-child:before{content:'Älter: ';font-weight:800}.knowledge-diff-cell:last-child:before{content:'Neuer: ';font-weight:800}}

/* FFMS 2.9.6: Bereichsrechte, sichere Suche, Synonyme und Weiterleitungen */
.knowledge-access-hero,.knowledge-access-section{border-left:5px solid var(--knowledge-accent)}.knowledge-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.knowledge-reference-grid>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.knowledge-reference-grid h3{margin-top:0}.knowledge-reference-grid p{margin:.35rem 0}.knowledge-simulation{display:grid;gap:4px;margin-top:14px;padding:14px;border-radius:12px}.knowledge-simulation.allowed{background:rgba(18,183,106,.14);color:#067647}.knowledge-simulation.denied{background:rgba(240,68,56,.14);color:#b42318}.knowledge-filter label:first-child{position:relative}.knowledge-suggestions{position:absolute;z-index:20;top:100%;left:0;right:0;display:grid;overflow:hidden;border:1px solid var(--border);border-radius:0 0 12px 12px;background:var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.18)}.knowledge-suggestions a{display:grid;gap:2px;padding:10px 12px;color:var(--text);text-decoration:none}.knowledge-suggestions a:hover,.knowledge-suggestions a:focus{background:var(--soft)}.knowledge-suggestions small,.knowledge-area-link small{color:var(--muted)}.knowledge-area-link{display:flex;justify-content:space-between;gap:10px}.knowledge-metadata-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(max-width:800px){.knowledge-reference-grid{grid-template-columns:1fr}.knowledge-filter{grid-template-columns:1fr 1fr}.knowledge-filter label:first-child{grid-column:1/-1}}@media(max-width:650px){.knowledge-filter{grid-template-columns:1fr}}

/* FFMS 2.8.0: Core-Untermodul Systemupdates */
.update-center{display:grid;gap:18px}.update-center>.hero{margin-bottom:0}.update-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.update-summary-grid .card{border-top:4px solid var(--primary)}.update-summary-grid h2{margin:.45rem 0 .2rem;font-size:clamp(1.35rem,2.5vw,2rem);overflow-wrap:anywhere}.update-summary-grid p{margin:0}.update-status-card{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}.update-status-card .section-head h2{margin:.35rem 0}.update-progress{height:18px;margin:18px 0 10px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--soft)}.update-progress>span{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 65%,#f59e0b));transition:width .35s ease}.update-progress-meta{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.update-progress-meta strong{font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}.update-progress-meta span{text-align:right;color:var(--muted)}.update-steps{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.update-steps li{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1fr);gap:14px;padding:11px 13px;border:1px solid var(--border);border-left:5px solid var(--muted);border-radius:11px;background:var(--soft)}.update-steps li span{color:var(--muted);overflow-wrap:anywhere}.update-steps .step-running{border-left-color:var(--warning)}.update-steps .step-succeeded{border-left-color:#067647}.update-steps .step-failed{border-left-color:var(--danger)}.update-steps .step-skipped{border-left-color:#175cd3}.update-package-table{min-width:930px}.update-package-table td:first-child{min-width:300px}.update-package-table td:first-child>span{display:block;margin-top:7px;line-height:1.45}.update-package-table details{min-width:225px}.update-package-table summary{list-style:none}.update-package-table summary::-webkit-details-marker{display:none}.update-start-form{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.update-start-form .field{margin:0}.update-state.state-running,.update-state.state-queued{color:var(--warning);background:var(--warning-soft)}.update-state.state-succeeded{color:#067647;background:rgba(18,183,106,.14)}.update-state.state-failed{color:var(--danger);background:rgba(217,45,32,.12)}.update-state.state-idle{color:var(--muted);background:var(--soft)}
@media(max-width:850px){.update-summary-grid{grid-template-columns:1fr}.update-progress-meta{flex-direction:column}.update-progress-meta span{text-align:left}.update-steps li{grid-template-columns:1fr;gap:4px}}
.update-package-details{margin-top:11px}.update-package-details summary{cursor:pointer;color:var(--primary);font-size:.83rem;font-weight:800}.update-package-details dl{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1fr);gap:5px 10px;margin:10px 0 0;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--soft);font-size:.8rem}.update-package-details dt{color:var(--muted);font-weight:800}.update-package-details dd{margin:0;overflow-wrap:anywhere}
@media(max-width:620px){.update-package-details dl{grid-template-columns:1fr}.update-package-details dd{margin-bottom:5px}}

/* FFMS 2.8.1: Einheitliche Modul- und Systemrechte */
.permission-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 0 14px}.permission-section-heading h2{margin:0}.permission-section-heading p{margin:.45rem 0 0;max-width:760px}.permission-legend{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--soft);color:var(--muted);font-size:.76rem;font-weight:800;white-space:nowrap}.permission-editor{display:grid;gap:12px}.permission-module{overflow:hidden;border:1px solid var(--border);border-left:5px solid var(--muted);border-radius:15px;background:var(--panel);transition:border-color .18s,box-shadow .18s}.permission-module.is-active{border-left-color:var(--primary);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 10%,transparent)}.permission-module-head{display:grid;grid-template-columns:minmax(240px,1fr) minmax(165px,.42fr) auto;gap:14px;align-items:center;padding:16px 17px}.permission-module-identity{display:grid;gap:3px;min-width:0}.permission-module-identity strong{font-size:1.02rem;overflow-wrap:anywhere}.permission-module-identity small:not(.module-code){color:var(--muted);line-height:1.4}.permission-module-access{display:flex;align-items:center;gap:9px;justify-self:start;padding:9px 11px;border:1px solid var(--border);border-radius:11px;background:var(--soft);font-size:.84rem;font-weight:900;cursor:pointer}.permission-module-access input{width:auto;margin:0}.permission-effect{display:grid;gap:5px;font-size:.76rem;font-weight:900}.permission-effect select{min-width:155px;padding:9px 11px}.permission-disclosure{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-weight:800;cursor:pointer}.permission-disclosure span{font-size:1.1rem;transition:transform .18s}.permission-disclosure[aria-expanded=true] span{transform:rotate(180deg)}.permission-disclosure:disabled{cursor:not-allowed;opacity:.45}.permission-module-summary{padding:0 17px 13px;color:var(--muted);font-size:.78rem}.permission-module-rights{padding:15px 17px 17px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--soft) 72%,var(--panel))}.permission-module-rights[hidden]{display:none}.permission-right-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.permission-right{display:flex;gap:10px;align-items:flex-start;min-height:62px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--panel);cursor:pointer}.permission-right input{width:auto;margin:4px 0 0}.permission-right strong{display:block;font-size:.88rem;line-height:1.35}.permission-effect-list{display:grid;gap:8px}.permission-effect-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(145px,.25fr);gap:14px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.permission-effect-row strong{display:block;font-size:.88rem;line-height:1.35}.permission-effect-row select{padding:9px 11px}.permission-system{border-left-color:#667085}.permission-system .permission-module-head{grid-template-columns:minmax(240px,1fr) auto}
@media(max-width:780px){.permission-section-heading{align-items:flex-start;flex-direction:column}.permission-module-head,.permission-system .permission-module-head{grid-template-columns:1fr}.permission-module-access,.permission-effect,.permission-disclosure{width:100%}.permission-effect select{min-width:0}.permission-right-grid{grid-template-columns:1fr}.permission-effect-row{grid-template-columns:1fr;gap:9px}}

/* FFMS 2.8.2: Display- und Geräteverwaltung */
.fdm-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}
.fdm-module .section-head{align-items:flex-start;gap:1rem}
.fdm-module fieldset{border:1px solid var(--border);border-radius:14px;padding:1rem;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.fdm-module fieldset legend{font-weight:800;padding:0 .35rem}
.fdm-module .check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.fdm-module .check{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;border-radius:10px;background:var(--panel)}
.fdm-module .check input{width:auto;margin-top:.18rem}
.fdm-safety-note{border-left:5px solid var(--primary)}
@media(max-width:1000px){.fdm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.fdm-summary-grid,.fdm-module .check-grid{grid-template-columns:1fr}.fdm-module .table{min-width:760px}}

/* FFMS 2.8.4: Systemdarstellung und einheitliche Fehlerseiten */
:root{color-scheme:light}
html[data-theme=dark]{color-scheme:dark}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.theme-control{display:inline-flex;min-width:0}
.theme-toggle{width:auto;min-width:118px;max-width:145px;padding:0 32px 0 12px;font-size:.82rem;font-weight:800}
.error-page{width:min(880px,calc(100% - 28px));margin:auto;padding:42px 0;display:grid;place-items:center;flex:1 0 auto}
.error-card{width:100%;display:grid;grid-template-columns:minmax(150px,.42fr) minmax(280px,1fr);gap:22px 34px;align-items:center;padding:clamp(24px,5vw,48px);border-top:5px solid var(--primary);background:color-mix(in srgb,var(--panel) 95%,transparent)}
.error-status{font-size:clamp(4.8rem,14vw,9rem);font-weight:950;line-height:.82;letter-spacing:-.08em;color:var(--primary);text-align:center;text-shadow:0 12px 36px color-mix(in srgb,var(--primary) 24%,transparent)}
.error-kicker{margin:0 0 8px;color:var(--primary);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.error-copy h1{margin:0 0 12px;font-size:clamp(2rem,5vw,3.5rem)}
.error-description{margin:0 0 10px;font-size:1.06rem;line-height:1.6}
.error-hint{margin:0;color:var(--muted);line-height:1.55}
.error-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--border)}
@media(max-width:700px){.theme-toggle{min-width:106px;max-width:120px}.error-page{padding:24px 0}.error-card{grid-template-columns:1fr;gap:18px;padding:26px 20px}.error-status{text-align:left;font-size:4.8rem}.error-actions{grid-column:1}.error-actions .btn{flex:1 1 180px}}

/* FFMS 2.8.5 – dreistufige Darstellung, Chat und Benachrichtigungen */
.theme-segmented{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:13px;background:var(--panel);box-shadow:0 5px 16px rgba(20,30,40,.06)}
.theme-segmented button{display:grid;place-items:center;width:36px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;transition:.18s}
.theme-segmented button:hover{color:var(--text);background:var(--soft)}.theme-segmented button:focus-visible,.communication-button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}
.theme-segmented button.is-active{color:#fff;background:var(--primary);box-shadow:0 5px 13px color-mix(in srgb,var(--primary) 30%,transparent)}
.theme-segmented svg,.communication-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-button{display:grid;place-items:center;width:44px;height:42px;padding:0}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.logout-button:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
.communication-button{position:relative;display:grid;place-items:center;width:44px;height:42px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none;transition:.18s}
.communication-button:hover,.communication-button.has-unread{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));color:var(--primary);box-shadow:0 0 18px color-mix(in srgb,var(--primary) 18%,transparent)}
.communication-badge{position:absolute;right:-7px;top:-8px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--panel);border-radius:999px;background:var(--primary);color:#fff;font-size:.68rem;font-weight:900;font-variant-numeric:tabular-nums}
.toast-region{position:fixed;right:18px;bottom:calc(var(--footer-height,58px) + 18px);z-index:90;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 28px));pointer-events:none}
.message-toast{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:15px 44px 15px 16px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-left:4px solid var(--primary);border-radius:15px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 20px 55px rgba(0,0,0,.22);color:var(--text);text-decoration:none;opacity:0;transform:translateY(14px);transition:.25s;pointer-events:auto;backdrop-filter:blur(16px)}
.message-toast.is-visible{opacity:1;transform:none}.message-toast strong,.message-toast span,.message-toast small{grid-column:1}.message-toast span{font-weight:800}.message-toast small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-toast button{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;border-radius:8px;background:var(--soft);color:var(--muted);font-size:1.2rem;cursor:pointer}
.communication-grid{display:grid;grid-template-columns:minmax(210px,.62fr) minmax(390px,1.55fr) minmax(260px,.83fr);gap:16px;align-items:start}.communication-grid h2{margin:0}.chat-contacts,.notification-panel{padding:16px}.chat-contacts .section-head,.notification-panel .section-head{align-items:flex-start;margin-bottom:12px}.chat-contacts p,.notification-panel p{margin:.35rem 0 0}
.communication-grid.chat-only{grid-template-columns:minmax(220px,.6fr) minmax(420px,1.7fr)}.communication-grid.notifications-only{grid-template-columns:1fr}.communication-grid.notifications-only .notification-panel{grid-column:auto}
.contact-list{display:flex;flex-direction:column;gap:4px}.contact-separator{padding:16px 9px 5px;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.chat-contact{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--text);text-decoration:none}.chat-contact:hover,.chat-contact.is-selected{background:var(--soft)}.chat-contact.is-selected{box-shadow:inset 3px 0 var(--primary)}.chat-contact>span:last-child{display:flex;min-width:0;flex-direction:column}.chat-contact small{color:var(--muted)}
.update-package-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.update-package-actions details{width:min(100%,330px)}.update-delete-form{display:grid;gap:12px;margin-top:10px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:12px;background:var(--panel)}
.presence-dot{display:inline-block;flex:0 0 auto;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#98a2b3}.presence-dot.online{background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.13)}
.chat-panel{padding:0;overflow:hidden}.chat-heading{padding:18px 20px;border-bottom:1px solid var(--border)}.chat-heading p{margin:.35rem 0 0}.chat-messages{height:440px;overflow:auto;display:flex;flex-direction:column;gap:11px;padding:20px;background:color-mix(in srgb,var(--soft) 72%,transparent)}.chat-message{max-width:82%;padding:11px 13px;border:1px solid var(--border);border-radius:15px 15px 15px 4px;background:var(--panel);overflow-wrap:anywhere}.chat-message.own{align-self:flex-end;border-color:color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:15px 15px 4px 15px;background:color-mix(in srgb,var(--primary) 9%,var(--panel))}.chat-message-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:.72rem;color:var(--muted)}.chat-message-body>*:first-child{margin-top:0}.chat-message-body>*:last-child{margin-bottom:0}.chat-message-body a{color:var(--primary)}.chat-composer{padding:16px 20px}.chat-editor{min-height:105px;max-height:230px;overflow:auto}.chat-placeholder{min-height:630px;display:grid;place-content:center;text-align:center;padding:30px}.chat-placeholder svg{width:56px;margin:0 auto 12px;fill:none;stroke:var(--primary);stroke-width:1.5}.chat-placeholder p{margin:.5rem 0}
.notification-list{display:flex;flex-direction:column;gap:6px}.notification-item{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:11px;border:1px solid transparent;border-radius:12px;color:var(--text);text-decoration:none}.notification-item:hover{background:var(--soft)}.notification-item.unread{border-color:color-mix(in srgb,var(--primary) 25%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--panel))}.notification-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--soft)}.notification-item>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.notification-item small{color:var(--muted);font-size:.7rem}.notification-item>span:last-child>span{font-size:.82rem;overflow-wrap:anywhere}
.notification-composer{margin:0 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.notification-composer summary{cursor:pointer;font-weight:800}.notification-composer form{margin-top:14px}.notification-composer textarea{min-height:80px}
@media(max-width:1050px){.communication-grid{grid-template-columns:230px 1fr}.notification-panel{grid-column:1/-1}}
@media(max-width:700px){.theme-segmented button{width:34px}.communication-grid{grid-template-columns:1fr}.notification-panel{grid-column:auto}.chat-messages{height:52vh;min-height:320px}.chat-placeholder{min-height:320px}.chat-message{max-width:92%}.toast-region{right:14px;bottom:calc(var(--footer-height,58px) + 12px)}.topbar .actions{gap:7px}}
.alert-error{background:color-mix(in srgb,var(--danger) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger);font-weight:700}

/* FFMS 2.8.8: System-Mailvorlagen und geschützte Benutzerlöschung */
.mail-template-card{border-top:4px solid var(--primary)}.mail-template-card .section-head h2{margin:.35rem 0}.mail-template-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin:18px 0}.mail-template-picker .field{margin:0}.mail-template-editor{min-height:260px;max-height:560px;overflow:auto}.mail-template-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:16px}.mail-placeholder-panel,.mail-preview-panel{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.mail-placeholder-panel h3,.mail-preview-panel h3{margin:0 0 8px}.mail-placeholder-list{display:grid;gap:8px;margin-top:14px}.mail-placeholder{display:grid;gap:4px;width:100%;padding:11px 12px;text-align:left;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}.mail-placeholder:hover{border-color:var(--primary)}.mail-placeholder code{color:var(--primary);font-weight:900}.mail-placeholder span{color:var(--muted);font-size:.78rem;line-height:1.45}.mail-preview-subject{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow-wrap:anywhere}.mail-preview-body{min-height:220px;margin-top:10px;padding:16px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#17202a;overflow-wrap:anywhere}.mail-preview-body a{color:#a10f1b}.mail-template-restore{margin-top:12px}.user-delete-form{margin-top:16px}
@media(max-width:850px){.mail-template-layout{grid-template-columns:1fr}}@media(max-width:620px){.mail-template-picker{grid-template-columns:1fr}}

.two-factor-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.two-factor-qr{display:grid;place-items:center;min-height:280px;padding:1rem;background:#fff;border-radius:16px}.two-factor-qr svg{width:min(100%,280px);height:auto}.secret-key{font:700 1.05rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;overflow-wrap:anywhere;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted)}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.recovery-code-grid code{font-size:1.05rem;text-align:center;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted)}.status-list{display:grid;gap:.65rem}.status-list>div{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.status-list dt{font-weight:700}.status-list dd{margin:0}.status-badge{display:inline-flex;width:max-content;padding:.28rem .65rem;border-radius:999px;font-weight:700}.status-success{background:#dff5e5;color:#135c2b}.text-button{margin-top:.5rem;background:transparent;border:0}.auth-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.two-factor-setup-grid,.auth-policy-grid{grid-template-columns:1fr}.recovery-code-grid{grid-template-columns:1fr}.status-list>div{grid-template-columns:1fr;gap:.25rem}}@media print{header,.app-footer,.hero a,.two-factor-page button,.alert-warning{display:none!important}.recovery-code-grid{grid-template-columns:repeat(2,1fr)}.card{box-shadow:none!important;border:1px solid #999!important}}
.secret-key,.recovery-code-grid code{background:var(--soft)}
.ffms-editor-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.65rem;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;background:color-mix(in srgb,var(--panel) 94%,var(--primary) 6%);position:sticky;top:78px;z-index:5}.ffms-editor-toolbar button{min-height:36px;padding:.35rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-weight:650;cursor:pointer}.ffms-editor-toolbar button:hover,.ffms-editor-toolbar button:focus-visible{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:1px}.ffms-editor-area{min-height:260px;border-radius:0 0 12px 12px}.ffms-editor-area:focus{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:1px}.ffms-editor-area table{width:100%;border-collapse:collapse;margin:1rem 0}.ffms-editor-area th,.ffms-editor-area td{padding:.55rem;border:1px solid var(--border);vertical-align:top}.ffms-editor-area th{background:var(--soft);text-align:left}.ffms-editor-area pre{overflow:auto;padding:1rem;border-radius:10px;background:var(--soft);border:1px solid var(--border)}.ffms-editor-hinweis{display:block;margin:1rem 0;padding:1rem;border-left:5px solid var(--primary);border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,var(--primary) 12%)}.ffms-editor-area blockquote{margin:1rem 0;padding:.65rem 1rem;border-left:4px solid var(--muted);background:var(--soft)}@media(max-width:700px){.ffms-editor-toolbar{position:static}.ffms-editor-toolbar button{flex:1 1 auto}.ffms-editor-area{min-height:220px}}

.knowledge-media-hero,.knowledge-media-card,.knowledge-media-detail>.card,.knowledge-media-detail>aside,.knowledge-media-grid>.card{background:var(--panel);color:var(--text)}.knowledge-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.knowledge-media-card{padding:0;overflow:hidden}.knowledge-media-card>div{padding:18px}.knowledge-media-card h2{margin:.45rem 0}.knowledge-media-card h2 a{color:var(--text);text-decoration:none}.knowledge-media-thumb{display:block;aspect-ratio:16/10;background:var(--soft);overflow:hidden}.knowledge-media-thumb img{width:100%;height:100%;object-fit:cover}.knowledge-media-file{display:grid;place-items:center;align-content:center;gap:6px;aspect-ratio:16/10;background:var(--soft);color:var(--text);text-decoration:none}.knowledge-media-file span{font-size:.72rem;color:var(--muted);font-weight:900;letter-spacing:.08em}.knowledge-media-file strong{font-size:1.8rem;color:var(--primary)}.knowledge-media-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px;margin-bottom:16px}.knowledge-media-preview{display:block;max-width:100%;max-height:70vh;margin:auto;border-radius:12px;object-fit:contain}.knowledge-media-document{min-height:280px;display:grid;place-items:center;align-content:center;gap:16px;text-align:center}.knowledge-media-document span{color:var(--muted);font-weight:900;font-size:.78rem}.knowledge-definition-list{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:10px 14px}.knowledge-definition-list dt{font-weight:800;color:var(--muted)}.knowledge-definition-list dd{margin:0;min-width:0;overflow-wrap:anywhere}.knowledge-hash{font-size:.72rem;overflow-wrap:anywhere}.knowledge-embed-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.knowledge-media-embed{margin:1rem 0}.knowledge-media-embed img{display:block;max-width:100%;height:auto;border-radius:12px}.knowledge-media-embed figcaption{margin-top:.45rem;color:var(--muted);font-size:.9rem}.knowledge-article-body img{max-width:100%;height:auto}@media(max-width:900px){.knowledge-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-media-detail{grid-template-columns:1fr}}@media(max-width:650px){.knowledge-media-grid{grid-template-columns:1fr}.knowledge-definition-list{grid-template-columns:1fr}.knowledge-definition-list dd{margin-bottom:6px}.knowledge-media-card .knowledge-card-meta{display:flex}.knowledge-media-detail .btn{width:100%}}

/* FFMS 3.0.1 R2: gleichmaessige responsive Aktionsleiste in Wissen & Dokumentation */
.knowledge-hero>.actions{display:grid;grid-template-columns:repeat(3,minmax(138px,1fr));gap:10px;align-content:center;flex:1 1 620px;min-width:0}
.knowledge-hero>.actions .btn{width:100%;min-width:0;min-height:46px;padding:9px 14px;font-size:.88rem;line-height:1.2;text-align:center;white-space:normal}
@media(max-width:1100px){.knowledge-hero{align-items:stretch;flex-direction:column}.knowledge-hero>.actions{grid-template-columns:repeat(3,minmax(0,1fr));flex:none;width:100%}}
@media(max-width:650px){.knowledge-hero>.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.knowledge-hero>.actions .btn{min-height:48px;padding:9px 10px;font-size:.84rem}.knowledge-hero>.actions .btn:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:380px){.knowledge-hero>.actions{grid-template-columns:1fr}.knowledge-hero>.actions .btn:last-child:nth-child(odd){grid-column:auto}}
.knowledge-workflow{margin:18px 0;border-top:4px solid var(--knowledge-accent)}.knowledge-workflow .section-heading{align-items:center}.knowledge-workflow-responsibility{margin:16px 0}.knowledge-workflow-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px}.knowledge-workflow-actions form{display:grid;align-content:start;gap:11px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.knowledge-workflow-actions h3{margin:0}.knowledge-workflow-actions label{display:grid;gap:6px;font-weight:750}.knowledge-workflow-actions textarea{resize:vertical}.workflow-status{max-width:260px;text-align:center;white-space:normal}.workflow-status-draft,.workflow-status-changes_requested,.workflow-status-rejected,.workflow-status-withdrawn{color:#b54708;background:rgba(247,144,9,.16)}.workflow-status-pending_review,.workflow-status-pending_approval{color:#175cd3;background:rgba(21,112,239,.14)}.workflow-status-reviewed,.workflow-status-approved,.workflow-status-published{color:#067647;background:rgba(18,183,106,.14)}.knowledge-workflow-history{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.knowledge-workflow-history summary{cursor:pointer;font-weight:850;color:var(--knowledge-accent)}.knowledge-workflow-history ol{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.knowledge-workflow-history li{display:grid;gap:4px;padding:12px 14px;border-left:4px solid var(--knowledge-accent);border-radius:8px;background:var(--soft)}.knowledge-workflow-history li>span{color:var(--muted);font-size:.86rem}.knowledge-workflow-history li p{margin:.35rem 0 0;white-space:normal;overflow-wrap:anywhere}@media(max-width:650px){.knowledge-workflow .section-heading{align-items:flex-start;flex-direction:column}.workflow-status{max-width:100%}.knowledge-workflow-actions{grid-template-columns:1fr}.knowledge-workflow-actions .actions{display:grid;grid-template-columns:1fr}.knowledge-workflow-actions .btn{width:100%}}
/* FFMS 3.0.3 – Aufgaben, Fristen und Release-Ausgangsstand */
.task-hero{align-items:flex-end;gap:1.25rem}.task-hero .knowledge-title-card{max-width:760px}.task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.task-filter-card,.task-list-card,.task-form,.task-main-card,.task-status-card,.task-lower-grid>.card,.release-baseline-form-card,.release-baseline-scope,.release-baseline-jobs{background:var(--surface,#fff);border:1px solid var(--border,#d9dde5)}
.task-filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:.85rem;align-items:end}.task-filter-grid label,.task-form label,.task-status-card label{display:grid;gap:.35rem;font-weight:700}.task-filter-actions{display:flex;flex-wrap:wrap;gap:.55rem;grid-column:1/-1}.task-list-card .section-heading,.release-baseline-jobs .section-heading{align-items:center;gap:1rem}.task-list{display:grid;gap:.65rem}.task-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto minmax(170px,auto);align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--border,#d9dde5);border-radius:14px;background:var(--surface-strong,#fff);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.task-row:hover{border-color:var(--accent,#a10f1b);transform:translateY(-1px)}.task-row.is-overdue{border-left:5px solid #b42318}.task-row-main{display:grid;gap:.2rem}.task-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.task-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.28rem .65rem;border-radius:999px;background:#edf0f4;color:#202735;font-size:.86rem;font-weight:800;line-height:1.15;white-space:nowrap}.task-status-open{background:#e8f1ff;color:#174ea6}.task-status-in_progress{background:#fff1cc;color:#805400}.task-status-question{background:#eee7ff;color:#5b2ca0}.task-status-completed{background:#def5e7;color:#17663a}.task-status-cancelled{background:#ececef;color:#555b66}.task-priority-low{background:#edf6ef;color:#2f6840}.task-priority-normal{background:#edf0f4;color:#344054}.task-priority-high{background:#fff0df;color:#9a4c00}.task-priority-urgent,.task-overdue{background:#fde3e1;color:#9f1c16}.task-due{font-weight:700;color:var(--muted,#667085);text-align:right}.task-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.task-form .span-2{grid-column:1/-1}.task-form select[multiple]{min-height:13rem}.task-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem}.task-main-card h2,.task-status-card h2,.task-lower-grid h2{margin-top:0}.pre-wrap{white-space:normal;overflow-wrap:anywhere}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.25rem 0}.detail-list>div{padding:.75rem;border-radius:12px;background:var(--surface-muted,#f5f6f8)}.detail-list dt{font-size:.82rem;font-weight:800;color:var(--muted,#667085);text-transform:uppercase;letter-spacing:.04em}.detail-list dd{margin:.25rem 0 0;font-weight:700}.task-document-link{margin-top:1rem;padding:1rem;border:1px solid var(--border,#d9dde5);border-radius:14px;background:var(--surface-muted,#f5f6f8)}.task-status-card form{display:grid;gap:.9rem}.task-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.task-comments{display:grid;gap:.7rem;margin-bottom:1rem}.task-comments article{padding:.8rem;border-left:4px solid var(--accent,#a10f1b);border-radius:8px;background:var(--surface-muted,#f5f6f8)}.task-comments time,.task-timeline time{display:block;color:var(--muted,#667085);font-size:.82rem}.task-timeline{display:grid;gap:.7rem;padding-left:1.25rem}.task-timeline li{padding-left:.2rem}.task-timeline span{display:block;margin:.15rem 0}
.core-page-hero{align-items:center}.core-settings-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem}.release-baseline-form-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.release-baseline-form-card label{display:grid;gap:.35rem;font-weight:700}.release-baseline-form-card .span-2{grid-column:1/-1}.release-baseline-scope ul{display:grid;gap:.5rem;padding-left:1.2rem}.release-baseline-jobs{margin-top:1rem}.release-job-list{display:grid;gap:.85rem}.release-job{padding:1rem;border:1px solid var(--border,#d9dde5);border-radius:14px;background:var(--surface-strong,#fff)}.release-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.release-job-head p{margin:.2rem 0}.release-progress{height:12px;margin:.85rem 0;border-radius:999px;background:#e7e9ee;overflow:hidden}.release-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8c0d18,#c3182a);transition:width .25s ease}.release-status-succeeded{background:#def5e7;color:#17663a}.release-status-failed{background:#fde3e1;color:#9f1c16}.release-status-running{background:#e8f1ff;color:#174ea6}.release-status-pending{background:#fff1cc;color:#805400}.release-downloads{display:flex;flex-wrap:wrap;gap:.55rem}
[data-theme="dark"] .task-filter-card,[data-theme="dark"] .task-list-card,[data-theme="dark"] .task-form,[data-theme="dark"] .task-main-card,[data-theme="dark"] .task-status-card,[data-theme="dark"] .task-lower-grid>.card,[data-theme="dark"] .release-baseline-form-card,[data-theme="dark"] .release-baseline-scope,[data-theme="dark"] .release-baseline-jobs,[data-theme="dark"] .task-row,[data-theme="dark"] .release-job{background:rgba(24,29,39,.96);border-color:#465065}[data-theme="dark"] .detail-list>div,[data-theme="dark"] .task-document-link,[data-theme="dark"] .task-comments article{background:#252c3a;border-color:#465065}[data-theme="dark"] .task-chip{filter:saturate(.85) brightness(.9)}
@media(max-width:1000px){.task-filter-grid{grid-template-columns:1fr 1fr}.task-row{grid-template-columns:minmax(220px,1fr) auto auto}.task-due{grid-column:1/-1;text-align:left}.task-detail-grid,.task-lower-grid,.core-settings-layout{grid-template-columns:1fr}}
@media(max-width:700px){.task-hero{align-items:stretch}.task-actions{justify-content:stretch}.task-actions .btn{flex:1 1 100%;white-space:normal;text-align:center}.task-filter-grid,.task-form .form-grid,.release-baseline-form-card .form-grid,.detail-list{grid-template-columns:1fr}.task-form .span-2,.release-baseline-form-card .span-2{grid-column:auto}.task-row{grid-template-columns:1fr;align-items:start}.task-due{text-align:left}.task-chip{justify-self:start}.release-job-head{display:grid}.release-downloads .btn{width:100%;white-space:normal;text-align:center}}

/* FFMS 3.0.4 – Beobachtung, Favoriten, Diskussionen und persönliche Ansichten */
.knowledge-personal-views,.knowledge-personal-actions,.knowledge-discussion{margin-bottom:18px;border-top:4px solid var(--knowledge-accent)}
.knowledge-personal-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.knowledge-personal-actions h2{margin:.2rem 0}.knowledge-personal-actions p{margin:.4rem 0 0;max-width:760px}.knowledge-personal-actions .actions{display:flex;flex-wrap:wrap;gap:9px}.knowledge-personal-actions form{margin:0}
.knowledge-view-list{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.knowledge-view-item{display:flex;gap:5px}.knowledge-view-item form{margin:0}.knowledge-view-save{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.knowledge-view-save summary{cursor:pointer;color:var(--knowledge-accent);font-weight:850}.knowledge-view-save form{margin-top:12px}.knowledge-view-save .check{display:flex;align-items:center;gap:8px}.knowledge-view-save .check input{width:auto}
.knowledge-discussion-list{display:grid;gap:12px;margin:16px 0}.knowledge-comment{padding:14px 16px;border:1px solid var(--border);border-left:5px solid var(--knowledge-accent);border-radius:12px;background:var(--soft)}.knowledge-comment.is-hidden{border-left-color:var(--muted);opacity:.88}.knowledge-comment header{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--muted);font-size:.84rem}.knowledge-comment header strong{color:var(--text)}.knowledge-comment>p{margin:.7rem 0 0;line-height:1.6;overflow-wrap:anywhere}.knowledge-comment-moderation{margin-top:10px}.knowledge-comment-moderation summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:800}.knowledge-comment-moderation form{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:9px}.knowledge-comment-moderation label{display:grid;gap:5px;min-width:240px;flex:1;font-weight:750}.knowledge-comment-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
[data-theme="dark"] .knowledge-personal-views,[data-theme="dark"] .knowledge-personal-actions,[data-theme="dark"] .knowledge-discussion,[data-theme="dark"] .knowledge-comment{background:rgba(24,29,39,.96);border-color:#465065}
@media(max-width:800px){.knowledge-personal-actions{align-items:stretch;flex-direction:column}.knowledge-personal-actions .actions{display:grid;grid-template-columns:1fr 1fr}.knowledge-personal-actions .btn{width:100%}}
@media(max-width:650px){.knowledge-view-list,.knowledge-view-item{display:grid;grid-template-columns:1fr}.knowledge-view-item .btn{width:100%}.knowledge-personal-actions .actions{grid-template-columns:1fr}.knowledge-comment-moderation form{display:grid}.knowledge-comment-moderation label{min-width:0}}
.knowledge-object-relations,.knowledge-object-backlinks{margin-top:1.25rem}.knowledge-object-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.knowledge-object-list>li{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface-soft)}.knowledge-object-list>li>div{display:grid;gap:.3rem}.knowledge-object-list a{display:inline-block}.knowledge-object-list small{color:var(--muted)}.knowledge-object-list p{margin:.25rem 0 0}.knowledge-object-relations .knowledge-admin-editor{margin-top:1rem}@media(max-width:650px){.knowledge-object-list>li{display:grid}.knowledge-object-list form,.knowledge-object-list button{width:100%}}

/* FFMS 3.1.0 – kontrollierte Druck-, PDF-, Export- und QR-Ausgaben */
.knowledge-output-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.knowledge-output-actions form{margin:0}.knowledge-output-actions .btn{min-height:40px}.knowledge-output-page{max-width:1100px}.knowledge-output-toolbar{display:flex;justify-content:flex-end;gap:.65rem;margin-bottom:1rem}.knowledge-print-page .topbar,.knowledge-print-page .app-footer{display:none}.knowledge-print-page{background:#eef0f4}.knowledge-print-sheet{position:relative;max-width:900px;margin:24px auto;padding:44px 56px;background:#fff;color:#111;box-shadow:0 16px 50px rgba(20,25,35,.15)}.knowledge-print-header{padding-bottom:22px;border-bottom:2px solid #8c0d18}.knowledge-print-header h1{margin:.35rem 0;font-size:2rem;line-height:1.18}.knowledge-print-summary{margin:.7rem 0 0;font-size:1.08rem;color:#404752}.knowledge-print-meta{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:.35rem 1.2rem;margin:22px 0;padding:16px;border:1px solid #c8ccd4;border-radius:10px;background:#f7f8fa}.knowledge-print-meta dt{font-weight:800}.knowledge-print-meta dd{margin:0;overflow-wrap:anywhere}.knowledge-print-document-meta{margin:1.5rem 0}.knowledge-print-document-meta h2{margin-bottom:.5rem}.knowledge-print-document-meta .knowledge-print-meta{margin-top:0}.knowledge-print-content{font-size:1rem;line-height:1.65}.knowledge-print-content h2,.knowledge-print-content h3,.knowledge-print-content h4{break-after:avoid;color:#541018}.knowledge-print-content img{max-width:100%;height:auto}.knowledge-print-content table{width:100%;border-collapse:collapse}.knowledge-print-content th,.knowledge-print-content td{padding:.45rem;border:1px solid #999;vertical-align:top}.knowledge-print-footer{display:grid;gap:.3rem;margin-top:30px;padding-top:12px;border-top:1px solid #999;color:#4b5058;font-size:.78rem}.knowledge-output-watermark{padding:.65rem 1rem;border:3px solid #a64b00;color:#873e00;font-weight:900;letter-spacing:.08em;text-align:center;transform:rotate(-1deg)}.knowledge-export-confirm{max-width:820px;margin-inline:auto}.knowledge-export-confirm .alert{margin:1.25rem 0}.knowledge-export-confirm .check{display:flex;align-items:flex-start;gap:.65rem}.knowledge-export-confirm .check input{width:auto;margin-top:.3rem}.knowledge-qr-card{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:2rem;align-items:center}.knowledge-qr-code{display:grid;place-items:center;min-height:340px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff;color:#111}.knowledge-qr-code svg{display:block;width:min(100%,340px);height:auto}.knowledge-qr-card a{overflow-wrap:anywhere}.knowledge-qr-card .actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.knowledge-qr-card button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:800px){.knowledge-qr-card{grid-template-columns:1fr}.knowledge-print-sheet{margin:0;padding:28px 22px;box-shadow:none}.knowledge-print-meta{grid-template-columns:1fr}.knowledge-print-meta dd{margin-bottom:.35rem}.knowledge-output-actions{justify-content:stretch}.knowledge-output-actions .btn,.knowledge-output-actions form{width:100%}.knowledge-output-actions form .btn{width:100%}}
@media print{
 @page{size:A4;margin:14mm 15mm 16mm}
 .knowledge-print-page{background:#fff!important}.knowledge-print-page .no-print,.knowledge-print-page .topbar,.knowledge-print-page .app-footer,.knowledge-print-page .toast-region{display:none!important}.knowledge-print-page .knowledge-print-sheet{max-width:none;margin:0;padding:0;box-shadow:none}.knowledge-print-page .knowledge-output-watermark{break-inside:avoid}.knowledge-print-page .knowledge-print-meta,.knowledge-print-page .knowledge-print-content table{break-inside:avoid}.knowledge-print-page .knowledge-print-content a{color:#111;text-decoration:underline}.knowledge-qr-card{grid-template-columns:1fr 1fr;box-shadow:none!important}.knowledge-qr-card .actions,.knowledge-output-page>.hero .actions{display:none!important}
}

/* FFMS 3.1.3 – kompakter mobiler Kopfbereich und konfigurierbare Logos */
.header-logo-image{display:block;width:auto;height:auto;max-width:286px;max-height:58px;object-fit:contain;object-position:left center}.login-app-symbol{display:flex;justify-content:center;margin:14px 0 18px}.login-app-symbol img{display:block;width:auto;height:auto;max-width:96px;max-height:96px;object-fit:contain}.header-logo-preview{display:flex;align-items:center;gap:14px;margin:14px 0}.header-logo-preview img{display:block;width:auto;height:auto;max-width:min(286px,100%);max-height:58px;object-fit:contain;object-position:left center}.header-logo-preview span{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.topbar .actions{width:100%;margin-left:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:7px}.topbar .actions>.btn{width:auto;max-width:100%;flex:0 1 auto;padding-inline:12px}.topbar .actions>form{width:auto;flex:0 0 auto;margin:0}.topbar .actions>form .btn{width:auto}.topbar .actions>.theme-segmented,.topbar .actions>.communication-button{flex:0 0 auto}.topbar .actions>.clock{order:10;flex:1 0 100%;width:100%;grid-column:auto;grid-row:auto}.header-logo-image{max-width:100%;max-height:58px}}

/* FFMS 3.4.0 – fachmodulübergreifende Aufgabensteuerung */
.task-dashboard{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.75rem;margin:0 0 1rem}.task-dashboard .card{display:grid;gap:.2rem;color:inherit;text-align:center;text-decoration:none}.task-dashboard strong{font-size:1.9rem}.task-dashboard span{color:var(--muted);font-weight:800}.task-dashboard-alert{border-top:4px solid #b42318!important}.task-assignment-fieldset{margin:1.25rem 0;padding:1rem;border:1px solid var(--border);border-radius:14px}.task-assignment-fieldset>legend{padding:0 .5rem;font-size:1.08rem;font-weight:900}.task-role-block{margin-top:1rem;padding:1rem;border-radius:12px;background:var(--soft)}.task-role-block h3{margin-top:0}.task-role-block .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-role-block select[multiple]{min-height:10rem}.task-attachments{display:grid;gap:.65rem;margin-bottom:1rem}.task-attachments article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.task-attachments article>div{display:grid;gap:.3rem}.task-attachments article>div:last-child{display:flex;align-items:center;gap:.5rem}.task-attachments form{margin:0}.task-calendar-list{display:grid;gap:.55rem}.task-calendar-list h3{margin:1rem 0 .1rem}.task-notification-profile{margin-bottom:1rem}.task-notification-profile table{width:100%;margin:1rem 0;border-collapse:collapse}.task-notification-profile th,.task-notification-profile td{padding:.6rem;border-bottom:1px solid var(--border);text-align:left}
@media(max-width:1000px){.task-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.task-role-block .form-grid{grid-template-columns:1fr 1fr}.task-attachments article{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.task-dashboard{grid-template-columns:1fr 1fr}.task-role-block .form-grid{grid-template-columns:1fr}.task-notification-profile{overflow-x:auto}.task-attachments article>div:last-child{align-items:stretch;flex-direction:column;width:100%}.task-attachments .btn{width:100%}}

/* FFMS 3.5.0 – Formular- und Checklistenplattform */
.form-platform{display:grid;gap:1rem}.form-hero{margin-bottom:0}.form-library-filters{grid-template-columns:2fr 1fr 1fr auto}.form-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.form-library-card{display:grid;gap:.7rem;border-top:4px solid var(--primary)}.form-library-card h2{margin:0}.form-library-card p{margin:0}.form-library-meta{display:flex;flex-wrap:wrap;gap:.45rem}.form-version-banner{overflow-wrap:anywhere}.form-designer-grid{align-items:start}.form-side-stack{display:grid;gap:1rem}.form-element-list{display:grid;gap:.7rem}.form-element-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:12px;background:var(--soft)}.form-element-item h3{margin:.45rem 0 .25rem}.form-element-item p{margin:.2rem 0}.form-element-item .toolbar form{margin:0}.form-element-add{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:12px}.form-element-add summary{cursor:pointer;color:var(--primary);font-weight:900}.form-element-form{margin-top:1rem}.form-lifecycle-actions{display:grid;gap:.8rem}.form-lifecycle-actions form{display:grid;gap:.6rem;margin:0;padding:.8rem;border:1px solid var(--border);border-radius:11px;background:var(--soft)}.form-fill{display:grid;gap:1rem}.form-fill fieldset{display:grid;gap:1rem;padding:0;border:0}.form-structure{display:grid;gap:.7rem;padding:1rem;border:1px solid var(--border);border-radius:14px}.form-structure-page{border-top:5px solid var(--primary)}.form-structure-section{margin:.4rem 0;background:var(--soft)}.form-structure h2,.form-structure h3{margin:0}.form-structure-heading{padding:.7rem 0;border-bottom:2px solid var(--border)}.form-help{display:grid;gap:.4rem}.form-help p{margin:0}.form-fill-field{display:grid;gap:.35rem}.form-fill-field>label{display:grid;gap:.45rem;font-weight:800}.form-fill-field.is-sensitive{padding:.85rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:12px}.form-fill-field[hidden],.form-structure[hidden],.form-help[hidden]{display:none!important}.form-drawing{display:grid;gap:.55rem}.form-drawing canvas{display:block;width:100%;max-width:900px;height:auto;touch-action:none;border:2px solid var(--border);border-radius:10px;background:#fff}.form-repeater{display:grid;gap:.65rem}.form-repeater table{min-width:680px}.form-repeater input,.form-repeater select{min-width:120px}.form-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.form-submit-bar p{margin:0}.form-submission-values dd{overflow-wrap:anywhere}.form-file-list{display:grid;gap:.7rem}.form-file-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.form-file-list article>div{display:grid;gap:.25rem;min-width:0}.form-file-list small,.form-file-list code{overflow-wrap:anywhere}.signature-proof img{display:block;max-width:min(100%,760px);max-height:260px;border:1px solid var(--border);border-radius:10px;background:#fff}
.form-rich-text{display:grid;gap:.45rem;line-height:1.55}.form-rich-text>:first-child{margin-top:0}.form-rich-text>:last-child{margin-bottom:0}.form-static-image{display:grid;justify-items:start;gap:.45rem;margin:.25rem 0}.form-static-image img{display:block;max-width:100%;max-height:520px;object-fit:contain;border-radius:10px}.form-static-image figcaption{color:var(--muted);font-size:.88rem}.form-number-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.form-number-with-unit>span{display:grid;place-items:center;min-width:3rem;padding:.45rem .7rem;border:1px solid var(--border);border-left:0;border-radius:0 9px 9px 0;background:var(--soft);font-weight:850}.form-number-with-unit>input{border-radius:9px 0 0 9px}.form-notice-neutral{border-color:var(--border);background:var(--soft)}.form-notice-success{border-color:#69a36e;background:#eef8ef}.form-notice-warning{border-color:#d6a23c;background:#fff8e5}.form-notice-danger{border-color:var(--danger);background:#fff0f0}
.runtime-status-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);align-items:center;gap:1rem;border-left:5px solid var(--primary)}.runtime-status-card>div:first-child{display:grid;gap:.25rem}.runtime-save-state{grid-column:1/-1;padding:.65rem .8rem;border-radius:10px;background:var(--soft);font-weight:800}.runtime-progress{display:flex;align-items:center;gap:.7rem;min-width:0}.runtime-progress>span{display:block;flex:1;min-width:120px;height:.72rem;overflow:hidden;border-radius:999px;background:var(--border)}.runtime-progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.runtime-progress strong{white-space:nowrap}.runtime-progress-compact{min-width:200px}.runtime-existing-assets{display:flex;flex-wrap:wrap;gap:.4rem}.runtime-error{overflow-wrap:anywhere}.runtime-draft-list td small{display:block;margin-top:.25rem}
@media(max-width:1000px){.form-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-library-filters{grid-template-columns:1fr 1fr}.form-library-filters label:first-child{grid-column:1/-1}}
@media(max-width:700px){.form-library-grid,.form-library-filters{grid-template-columns:1fr}.form-library-filters label:first-child{grid-column:auto}.form-element-item,.form-submit-bar,.form-file-list article{align-items:stretch;flex-direction:column}.form-element-item .toolbar,.form-submit-bar .btn,.form-file-list .btn{width:100%}.form-element-item .toolbar .btn{flex:1}.form-drawing canvas{height:190px}.form-repeater table{min-width:620px}}
@media(max-width:700px){.runtime-status-card{grid-template-columns:1fr}.runtime-save-state{grid-column:1}.runtime-progress-compact{min-width:170px}.runtime-draft-list .btn{width:100%}}
@media print{.form-platform .toolbar,.form-platform .review-form,.form-platform .btn{display:none!important}.form-platform .card{box-shadow:none}.form-submission-values dd{break-inside:avoid}}

/* FFMS 3.6.0 bis 3.6.1 – visueller Designer und neue Inhaltsbausteine */
.form-designer-page{width:min(1540px,calc(100% - 28px))}.designer-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-left:5px solid var(--primary)}.designer-workspace{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(420px,1.35fr) minmax(270px,.72fr);gap:1rem;align-items:start}.designer-palette,.designer-inspector{position:sticky;top:94px;max-height:calc(100vh - 112px);overflow:auto}.designer-palette>h2,.designer-inspector>h2,.designer-palette section h3{margin-top:0}.designer-palette section{margin-top:1.1rem}.designer-palette-list{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.designer-component{display:grid;gap:.18rem;min-width:0;padding:.65rem;border:1px solid var(--border);border-radius:10px;background:var(--soft);color:var(--text);font:inherit;text-align:left;cursor:grab}.designer-component:hover{border-color:var(--primary)}.designer-component span{font-weight:850}.designer-component small{color:var(--muted);overflow-wrap:anywhere}.designer-canvas{display:grid;gap:.45rem;min-height:360px;padding:.7rem;border:1px dashed var(--border);border-radius:14px;background:var(--soft)}.designer-dropzone{min-height:34px;display:grid;place-items:center;border:2px dashed transparent;border-radius:9px;color:var(--muted);font-size:.78rem}.designer-dropzone:empty{border-color:var(--border)}.designer-dropzone.is-drop-target,.designer-drop-before.is-drop-target{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent)}.designer-drop-before{height:8px;border-top:2px solid transparent}.designer-node{display:grid;gap:.2rem;margin-left:calc(var(--designer-depth) * .7rem);padding:.45rem .65rem .65rem;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:11px;background:var(--panel);cursor:pointer}.designer-node.is-selected{outline:3px solid color-mix(in srgb,var(--primary) 34%,transparent)}.designer-node.is-dragging{opacity:.42}.designer-node-head{display:flex;align-items:center;gap:.55rem}.designer-node-head>div{display:grid;flex:1;min-width:0}.designer-node-head strong,.designer-node-head small{overflow-wrap:anywhere}.designer-children{display:grid;gap:.35rem;margin:.35rem 0 0 .45rem;padding:.35rem 0 .15rem .6rem;border-left:2px solid var(--border)}.designer-inspector [data-inspector-fields]{display:grid;gap:.75rem}.designer-inspector label{display:grid;gap:.35rem;font-weight:800}.designer-inspector label[hidden]{display:none}.designer-inspector .check{display:flex}.designer-preview-card{overflow:hidden}.designer-device-switch{display:flex;gap:.35rem}.designer-device-switch .is-active{background:var(--primary);color:#fff}.designer-preview-shell{margin:1rem auto 0;overflow:auto;padding:18px;border:1px solid var(--border);border-radius:18px;background:#d9dee5;transition:max-width .2s}.designer-preview-shell.is-desktop{max-width:1100px}.designer-preview-shell.is-tablet{max-width:760px}.designer-preview-shell.is-phone{max-width:390px}.designer-preview-document{display:grid;gap:.8rem;min-height:360px;padding:clamp(14px,3vw,28px);border-radius:12px;background:var(--panel);box-shadow:0 7px 25px rgba(20,30,40,.14)}.designer-preview-title{font-size:1.35rem;font-weight:900}.designer-preview-heading{margin:.5rem 0 0;padding-bottom:.35rem;border-bottom:2px solid var(--border)}.designer-preview-drawing,.designer-preview-table{min-height:82px;display:grid;place-items:center;border:2px dashed var(--border);border-radius:10px;color:var(--muted);background:var(--soft)}
.designer-rich-control{display:grid;gap:.35rem}.designer-rich-control>span{font-weight:800}.designer-rich-toolbar{display:flex;flex-wrap:wrap;gap:.3rem}.designer-rich-toolbar .btn{padding:.4rem .55rem}.designer-rich-editor{min-height:130px;padding:.65rem;border:1px solid var(--border);border-radius:9px;background:var(--panel);line-height:1.45}.designer-rich-editor:focus{outline:3px solid color-mix(in srgb,var(--primary) 24%,transparent);border-color:var(--primary)}
@media(max-width:1180px){.designer-workspace{grid-template-columns:minmax(210px,.6fr) minmax(420px,1.4fr)}.designer-inspector{position:static;grid-column:1/-1;max-height:none}.designer-inspector [data-inspector-fields]{grid-template-columns:1fr 1fr}.designer-inspector .toolbar{grid-column:1/-1}}
@media(max-width:760px){.form-designer-page{width:min(100% - 18px,1540px)}.designer-status{align-items:flex-start;flex-direction:column}.designer-workspace{grid-template-columns:1fr}.designer-palette{position:static;max-height:none}.designer-palette-list{grid-template-columns:1fr 1fr}.designer-inspector{grid-column:auto}.designer-inspector [data-inspector-fields]{grid-template-columns:1fr}.designer-canvas-card{padding-inline:.7rem}.designer-node{margin-left:min(calc(var(--designer-depth) * .35rem),.7rem)}.designer-device-switch{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}.designer-device-switch .btn{padding-inline:.45rem}.designer-preview-shell{padding:8px}.designer-preview-shell.is-phone{max-width:100%}}

/* FFMS 3.6.2 – Auswahl-, Bewertungs- und Statusbausteine */
.form-choice-field{display:grid!important;gap:.55rem!important;margin:0;padding:.15rem 0!important;border:0!important;min-width:0}.form-choice-field>legend{padding:0;font-weight:850}.form-choice-grid{display:grid;gap:.55rem}.form-choice-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-choice-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-choice-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-choice-option{position:relative;display:flex!important;align-items:stretch;gap:0!important;margin:0;padding:.7rem .8rem;border:1px solid var(--border);border-left:5px solid color-mix(in srgb,var(--text) 25%,var(--border));border-radius:11px;background:var(--panel);font-weight:650!important;cursor:pointer}.form-choice-option:hover{border-color:var(--primary)}.form-choice-option:has(input:checked){outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--panel))}.form-choice-option input{width:auto;margin:.18rem .65rem 0 0;align-self:flex-start}.form-choice-option input:disabled:not(:checked){opacity:.45}.form-choice-body{display:grid;gap:.22rem;min-width:0}.form-choice-body strong,.form-choice-body small{overflow-wrap:anywhere}.form-choice-body small{color:var(--muted);font-weight:550}.form-choice-icon{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;margin-bottom:.15rem;border-radius:999px;background:var(--soft);font-size:1.05rem;font-weight:900}.form-choice-green{border-left-color:#16824b}.form-choice-yellow{border-left-color:#c58a00}.form-choice-orange{border-left-color:#d56300}.form-choice-red{border-left-color:#c53030}.form-choice-blue{border-left-color:#2563b9}.form-choice-gray{border-left-color:#6b7280}.form-choice-green .form-choice-icon{color:#067647;background:rgba(18,183,106,.14)}.form-choice-yellow .form-choice-icon,.form-choice-orange .form-choice-icon{color:#8a4b00;background:rgba(247,144,9,.18)}.form-choice-red .form-choice-icon{color:#b42318;background:rgba(217,45,32,.13)}.form-choice-blue .form-choice-icon{color:#175cd3;background:rgba(21,112,239,.14)}.form-toggle{display:inline-flex!important;align-items:center;gap:.7rem!important;width:max-content;max-width:100%;cursor:pointer}.form-toggle>input{position:absolute;opacity:0;pointer-events:none}.form-toggle-track{position:relative;width:3.3rem;height:1.85rem;border:1px solid var(--border);border-radius:999px;background:var(--border);transition:.2s}.form-toggle-track i{position:absolute;top:.18rem;left:.18rem;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}.form-toggle>input:checked+.form-toggle-track{background:#16824b}.form-toggle>input:checked+.form-toggle-track i{transform:translateX(1.42rem)}.form-toggle>input:focus-visible+.form-toggle-track{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}.form-rating,.form-stars{display:flex;flex-wrap:wrap;gap:.4rem}.form-rating label,.form-stars label{position:relative;cursor:pointer}.form-rating input,.form-stars input{position:absolute;opacity:0}.form-rating label>span,.form-stars label>span{display:grid;place-items:center;min-width:2.65rem;min-height:2.65rem;padding:.35rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-weight:900}.form-stars label>span{color:#916500;font-size:1.55rem}.form-rating input:checked+span,.form-stars input:checked+span{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.form-rating input:focus-visible+span,.form-stars input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent)}.form-choice-grid.has-error{padding:.45rem;border:2px solid var(--danger);border-radius:12px}.form-choice-grid.has-error+[data-multi-hint]{color:var(--danger);font-weight:850}
@media(max-width:760px){.form-choice-columns-3,.form-choice-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.form-choice-columns-2,.form-choice-columns-3,.form-choice-columns-4{grid-template-columns:1fr}.form-rating,.form-stars{gap:.3rem}.form-rating label>span,.form-stars label>span{min-width:2.4rem;min-height:2.4rem}}

/* FFMS 3.5.2 – persistentes Forms-&-Process-Schema */
.core-capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.core-capability-grid .card{display:grid;align-content:start;gap:.45rem;border-top:4px solid var(--primary)}.core-capability-grid h2,.core-integration-grid h3{margin:.25rem 0}.core-capability-grid small,.core-integration-grid small{overflow-wrap:anywhere}.forms-process-core-grid{align-items:start}.core-status-models{display:grid;gap:1rem}.core-status-models section{display:grid;gap:.5rem}.core-status-models h3{margin:0}.core-object-types{display:grid;gap:.55rem}.core-object-types div{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1fr);gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.core-object-types dt{font-weight:800}.core-object-types dd{margin:0}.core-integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.core-integration-grid article{padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
@media(max-width:1100px){.core-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.core-integration-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.core-capability-grid,.core-integration-grid{grid-template-columns:1fr}.core-object-types div{grid-template-columns:1fr;gap:.2rem}}
