:root{--bg:#071923;--surface:#102331e8;--surface2:#152b3be8;--line:#2f475c;--text:#f5f8ff;--muted:#9eb0c1;--blue:#3985ff;--green:#1a9b58;--red:#d84b55;--radius:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(115deg,#03101966,#06172252 54%,#03101970),url("/assets/background_dc.png") center center/cover fixed no-repeat,#06131c;font-size:14px}.city-glow{position:fixed;inset:auto 0 0;height:50vh;pointer-events:none;opacity:.27;background:repeating-linear-gradient(90deg,transparent 0 7%,#34819713 7.2% 9%),linear-gradient(0deg,#102c34,transparent);mask-image:linear-gradient(transparent,#000)}header{height:105px;padding:22px clamp(24px,4vw,62px);position:relative;display:flex;align-items:center;justify-content:space-between;background:#071721db;border-bottom:1px solid #244153}.brand{display:flex;align-items:center;gap:16px}.se-logo{font:bold italic 33px/42px Arial,sans-serif;letter-spacing:-5px;padding:0 12px 0 6px;color:#fff;background:#af0614;border:5px solid white;border-radius:4px;box-shadow:inset 0 0 0 3px #97000e}.brand small{display:block;font-size:10px;letter-spacing:4px;color:#9cb3c5}.brand strong{display:block;font-size:21px;margin-top:3px}main{position:relative;max-width:1460px;margin:0 auto;padding:30px 28px 70px}.hero{display:flex;justify-content:space-between;align-items:end;margin:10px 0 20px}.hero h1{font-size:26px;margin:0}.hero p{color:var(--muted);margin:6px 0 0}.panel,.card{background:linear-gradient(130deg,var(--surface),#0d202ddd);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 30px #0003}.tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 18px}.tab{white-space:nowrap;padding:12px 16px;border-radius:9px;background:#233849;border:1px solid #354b60;color:#d8e4ef;cursor:pointer}.tab.active{background:linear-gradient(135deg,#2c6ee9,#338fff);border-color:#559bff;color:white}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.card{padding:19px}.card h2,.card h3{font-size:16px;margin:0 0 8px}.card p{color:var(--muted);margin:0 0 15px;line-height:1.45}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.metric{font-size:30px;font-weight:800;color:#7eb6ff}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#84a7c5}.action{display:flex;gap:9px;align-items:center;margin-top:16px}button,.button{border:0;border-radius:7px;padding:10px 14px;font:inherit;font-weight:700;color:white;background:#286ee5;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(1.12)}button.secondary{background:#294052}button.green{background:var(--green)}button.danger{background:#a63542}button.small{padding:6px 9px;font-size:12px}.split{display:flex;gap:10px;flex-wrap:wrap}.list{display:grid;gap:8px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #294459;background:#0b1d29b8;border-radius:9px}.row .meta{color:var(--muted);font-size:12px;margin-top:3px}label{display:block;font-weight:650;margin:0 0 5px}input,select,textarea{display:block;width:100%;border:1px solid #314b60;background:#0a1927;color:#f5f8ff;border-radius:6px;padding:10px;font:inherit}textarea{min-height:94px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:1/-1}.badge{font-size:11px;font-weight:800;padding:4px 8px;border-radius:30px;background:#264970;color:#b9d9ff}.badge.pending{background:#774f16;color:#ffdc98}.badge.approved{background:#145b40;color:#a5f2c9}.badge.disabled{background:#6d2831;color:#ffc1c7}.editor{display:grid;grid-template-columns:1fr 1fr;gap:20px}.embed-preview{border-left:5px solid var(--accent,#3784f6);background:#0c1c27;border-radius:6px;padding:14px;min-height:185px}.embed-preview h3{margin:0 0 8px}.embed-preview .body{white-space:pre-wrap;color:#d9e4ec}.embed-preview footer{color:#91a4b4;font-size:11px;margin-top:18px}.notice{padding:11px;border-radius:7px;background:#16395c;border:1px solid #286197;color:#cfe6ff}.auth{max-width:460px;margin:7vh auto}.auth .card{padding:28px}.auth h1{margin-top:0}.divider{display:flex;align-items:center;gap:10px;color:#7890a4;font-size:12px;margin:18px 0}.divider:before,.divider:after{content:"";height:1px;background:#2c4559;flex:1}#toast{position:fixed;bottom:22px;right:22px;max-width:380px;padding:12px 15px;border-radius:9px;background:#145e40;border:1px solid #36a66e;transform:translateY(100px);opacity:0;transition:.25s;z-index:3}#toast.show{transform:translateY(0);opacity:1}#account{display:flex;align-items:center;gap:9px;color:#b7c9d8}.muted{color:var(--muted)}.empty{padding:20px;color:var(--muted);text-align:center;border:1px dashed #315068;border-radius:9px}@media(max-width:850px){header{height:85px}.brand strong{font-size:16px}main{padding:20px 14px}.grid{display:block}.card{margin-bottom:14px}.span-3,.span-4,.span-5,.span-7,.span-8,.span-12{grid-column:auto}.editor,.form-grid{grid-template-columns:1fr}.hero{display:block}.hero .action{margin-top:14px}}

.quota-control{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;color:var(--muted)}.quota-control input{width:54px;padding:5px;font-size:12px}
.studio-layout{display:grid;grid-template-columns:270px minmax(0,1fr) 290px;gap:16px;align-items:start}.report-main{min-width:0}.report-list{position:sticky;top:16px}.topic-library{position:sticky;top:16px;max-height:calc(100vh - 135px);overflow:auto}.topic-library h2{margin-bottom:4px}.topic-library p{font-size:12px}.topic-server{border-top:1px solid #294459;padding:9px 0}.topic-server summary{display:flex;justify-content:space-between;cursor:pointer;color:#dbeaff}.topic-server summary span{font-size:11px;color:#8fb1cc}.topic-entry{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #1f394b}.topic-entry code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b6d7ff}.topic-entry small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a1b2c1;margin-top:3px}.topic-entry time{font-size:10px;color:#7791a5}.topic-token{width:25px;height:25px;padding:0;border-radius:5px;background:#235eac;cursor:grab}.topic-token:active{cursor:grabbing}.topic-empty{padding:5px 0}.report-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:16px;margin:20px 0}.editor-panel,.studio-preview{padding:17px;background:#0b1d29a8;border:1px solid #294459;border-radius:10px}.studio-preview{position:sticky;top:16px}.editor-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:13px}.editor-heading h2{margin:0}.editor-heading p{font-size:12px;margin:3px 0 0}.advanced-editor{margin:15px 0;padding:11px;border:1px solid #294459;border-radius:8px;background:#0a1924}.advanced-editor summary{cursor:pointer;font-weight:700;margin-bottom:12px}.fields-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.fields-header h3{margin:0}.fields-header p{font-size:12px;margin:3px 0}.embed-field{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;gap:7px;align-items:start;padding:9px 0;border-top:1px solid #294459}.embed-field textarea{min-height:42px}.inline-toggle{font-size:11px;white-space:nowrap;margin:7px 0 0}.inline-toggle input{display:inline;width:auto;padding:0}.discord-message{padding:12px;background:#313338;border-radius:7px;min-height:180px;color:#dbdee1}.discord-content{white-space:pre-wrap;margin:0 0 7px}.embed-preview{position:relative;max-width:520px;border-left:5px solid var(--accent,#3784f6);background:#2b2d31;border-radius:4px;padding:13px;min-height:130px}.embed-preview h3{font-size:15px;margin:6px 0}.embed-preview .body{white-space:pre-wrap;line-height:1.45}.embed-author{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.embed-author img,.embed-preview footer img{width:20px;height:20px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:5px}.embed-thumb{position:absolute;right:13px;top:13px;width:72px;height:72px;border-radius:4px;object-fit:cover}.embed-thumb~h3,.embed-thumb~.body{max-width:calc(100% - 90px)}.embed-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}.embed-field-preview{width:100%;display:grid;gap:3px;white-space:pre-wrap}.embed-field-preview.inline{width:calc(50% - 5px)}.embed-field-preview strong{font-size:12px}.embed-field-preview span{font-size:12px}.embed-image{display:block;max-width:100%;max-height:280px;object-fit:contain;border-radius:4px;margin-top:12px}.embed-preview footer{display:block;margin-top:14px;font-size:11px;color:#b5bac1}label small{font-weight:500;color:var(--muted)}@media(max-width:1180px){.studio-layout{grid-template-columns:240px 1fr}.report-list{grid-column:2}.report-studio{grid-template-columns:1fr}.studio-preview{position:static}}@media(max-width:850px){.studio-layout{display:block}.topic-library,.report-list{position:static;max-height:none;margin-bottom:14px}.embed-field{grid-template-columns:1fr}.embed-field-preview.inline{width:100%}}
.se-logo{display:block;width:108px;height:48px;object-fit:contain;object-position:center;border-radius:5px;background:#b40012;padding:2px}.brand .se-logo{flex:0 0 auto}@media(max-width:850px){.se-logo{width:82px;height:37px}}
.se-logo{padding:0;border:0;box-shadow:none;font:inherit;letter-spacing:normal;color:initial}.editor-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}.editor-tools span{font-size:11px;color:var(--muted);font-weight:700}.editor-tools button{padding:5px 7px}.row input,.row select{max-width:360px;flex:1}.row form{margin:0}@media(max-width:850px){.row{align-items:stretch;flex-wrap:wrap}.row input,.row select{max-width:none;flex-basis:100%}}
.debug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.debug-grid>div{padding:10px;border:1px solid #294459;background:#0a1927;border-radius:8px}.debug-grid .wide{grid-column:1/-1}.debug-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.debug-grid strong{word-break:break-word}.debug-grid pre{margin:0;white-space:pre-wrap;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#b6d7ff}.debug-error{color:#ffacb4}@media(max-width:850px){.debug-grid{grid-template-columns:1fr}}
.target-picker{max-width:620px;margin:14px 0 18px;padding:13px;border:1px solid #294459;border-radius:9px;background:#0a1927}
/* Auf großen Bildschirmen nutzt das Portal die volle verfügbare Breite. */
body > main#app{max-width:none;width:100%;margin:0;padding:30px 28px 70px}.studio-layout{grid-template-columns:500px minmax(0,1fr) 420px}.topic-library{width:100%}.topic-search{margin:12px 0}.topic-search span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.topic-scroll{max-height:calc(100vh - 270px);overflow:auto;padding-right:4px}@media(max-width:1180px){.studio-layout{grid-template-columns:330px minmax(0,1fr)}.report-list{grid-column:2}}@media(max-width:850px){body > main#app{padding:20px 14px}.topic-scroll{max-height:none}}
/* Visueller Discord-Embed-Editor */
.message-settings{margin:14px 0 18px;padding:18px;border:1px solid #294459;border-radius:11px;background:#0b1d29b8}.form-grid.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-studio{grid-template-columns:minmax(510px,1.2fr) minmax(380px,.8fr);align-items:start}.visual-embed-controls{display:grid;gap:12px}.editor-section{padding:15px;border:1px solid #294459;border-radius:10px;background:#091925}.editor-section h3{margin:0 0 12px;font-size:14px}.editor-section h3 small{color:var(--muted);font-weight:500}.color-line{display:flex;align-items:center;gap:9px}.color-line input[type=color]{width:46px;height:38px;padding:3px}.color-hex{width:105px!important}.quick-colors{display:flex;gap:7px;flex-wrap:wrap}.color-swatch{width:29px;height:29px;padding:0;border-radius:7px;background:var(--swatch);border:2px solid transparent}.color-swatch:hover{border-color:#fff}.embed-fields-editor{display:grid;gap:9px}.embed-field{display:grid;gap:8px;padding:12px;border:1px solid #2b4559;border-radius:9px;background:#0d202d}.field-row-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:#bcd5e7}.field-row-inputs{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:8px}.field-row-inputs textarea{min-height:42px}.timestamp-toggle{padding-top:27px}.discord-author{display:flex;align-items:center;gap:7px;margin-bottom:9px}.discord-author img{width:34px;height:34px;border-radius:50%;object-fit:cover}.discord-author .badge{padding:2px 5px;background:#5865f2}.discord-author time{font-size:11px;color:#b5bac1}.embed-preview h3 a{color:#00a8fc;text-decoration:none}@media(max-width:1280px){.visual-studio{grid-template-columns:1fr}.form-grid.triple{grid-template-columns:repeat(2,minmax(0,1fr))}.timestamp-toggle{padding-top:0}}@media(max-width:850px){.form-grid.triple,.field-row-inputs{grid-template-columns:1fr}.color-line{align-items:flex-start;flex-wrap:wrap}}
/* Die Topicliste bleibt vollständig im sichtbaren Bereich und scrollt nur innen. */
.topic-library{display:flex;flex-direction:column;height:calc(100vh - 180px);max-height:calc(100vh - 180px);overflow:hidden}.topic-library .topic-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}.topic-library .editor-heading,.topic-library .topic-search{flex:0 0 auto}@media(max-width:850px){.topic-library{height:auto;max-height:none;overflow:visible}.topic-library .topic-scroll{max-height:60vh;overflow-y:auto}}

/* Einheitliches Hintergrundmotiv fuer Portal und Login. */
.city-glow{opacity:.12}
.auth .card{background:linear-gradient(130deg,#102331f2,#0d202df0);backdrop-filter:blur(8px)}
/* Sichtbare, feste Hintergrundebene fuer die gesamte Anwendung. */
body{background:#031019;isolation:isolate}
.app-background{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,#03101959,#0617224d 54%,#03101963),url("/assets/background_dc.png") center center/cover no-repeat}
.city-glow{z-index:1}
header,main{z-index:2}
#toast{z-index:4}
/* Kompakter Symbol- und Schriftpicker direkt am Eingabefeld. */
.editor-tools{display:none}.editor-input-wrap{position:relative}.editor-input-wrap>input,.editor-input-wrap>textarea{padding-right:43px}.editor-input-wrap>textarea{min-height:94px}.editor-picker-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border-radius:7px;background:#294b63;color:#d8efff;font-size:16px;line-height:1}.editor-input-wrap:focus-within .editor-picker-toggle{background:#286ee5}.editor-popover{position:fixed;z-index:1000;max-height:min(440px,calc(100vh - 16px));overflow:auto;padding:12px;border:1px solid #46627b;border-radius:11px;background:#102332;box-shadow:0 18px 44px #000b}.editor-popover-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#91b7d4;margin:2px 0 7px}.editor-symbol-grid{display:flex;flex-wrap:wrap;gap:6px}.editor-symbol-grid button{min-width:32px;height:31px;padding:3px 6px;background:#213d52;font-size:16px}.editor-font-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.editor-font-grid button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px;background:#213d52;text-align:left}.font-admin-list{display:grid;gap:7px;margin:8px 0}.font-admin-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.75fr) auto;gap:6px}.font-admin-row input,.font-admin-row select{min-width:0}.editor-symbol-settings{min-height:120px;max-height:260px;margin-bottom:12px}@media(max-width:620px){.editor-popover{width:calc(100vw - 16px)!important;left:8px!important}.editor-font-grid{grid-template-columns:1fr}.font-admin-row{grid-template-columns:1fr auto}.font-admin-row select{grid-column:1}.font-admin-row button{grid-column:2;grid-row:1/3}}.header-tools{display:flex;align-items:center;gap:14px}.server-switcher-label{margin:0;color:#b7c9d8;font-size:11px}.server-switcher-label select{min-width:180px;margin-top:3px;padding:6px 27px 6px 9px;font-size:12px;background:#0a1927}@media(max-width:850px){.header-tools{gap:7px}.server-switcher-label{display:none}}
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;padding:10px 12px;border:1px solid rgba(103,166,255,.24);border-radius:12px;background:rgba(8,26,42,.75)}
.subtab{border:1px solid transparent;background:transparent;color:#b9cbe2;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}.subtab:hover{background:#1a3651;color:#fff}.subtab.active{background:#166dd7;color:#fff;border-color:#4a9aff}
.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid rgba(121,172,216,.26);border-radius:10px;background:rgba(7,24,39,.52);cursor:pointer}.switch-row span{display:grid;gap:3px}.switch-row strong{color:#f1f6ff}.switch-row small{color:#9db1c9;line-height:1.4}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch-row i{position:relative;display:block;width:48px;height:26px;flex:0 0 48px;border-radius:99px;background:#53677c;transition:.18s}.switch-row i:after{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0008;transition:.18s}.switch-row input:checked+i{background:#1ca867}.switch-row input:checked+i:after{transform:translateX(22px)}.switch-row:focus-within{outline:2px solid #4a9aff;outline-offset:2px}
@media (max-width:650px){.switch-row{align-items:flex-start}.switch-row i{margin-top:5px}.subtabs{margin-top:0}}
.twitch-command-layout{grid-column:1/-1;display:grid;grid-template-columns:420px minmax(0,1fr) 330px;gap:16px;align-items:start}.twitch-command-layout .twitch-topic-library{grid-column:auto;width:auto}.twitch-command-layout .twitch-command-form-card{grid-column:auto}.twitch-command-layout>.card:last-child{grid-column:auto}.twitch-command-layout .topic-scroll{max-height:calc(100vh - 320px)}
@media(max-width:1180px){.twitch-command-layout{grid-template-columns:330px minmax(0,1fr)}.twitch-command-layout>.card:last-child{grid-column:2}.twitch-command-layout .topic-scroll{max-height:calc(100vh - 340px)}}@media(max-width:850px){.twitch-command-layout{display:block}.twitch-command-layout>.card{margin-bottom:14px}.twitch-command-layout .topic-scroll{max-height:60vh}}
/* Unterseiten duerfen nicht von Layout-Regeln wieder eingeblendet werden. */
[hidden]{display:none!important}

.grid>.twitch-gateway-topic{grid-column:span 4}.grid>.twitch-gateway-topic.topic-library{width:auto}@media(max-width:850px){.grid>.twitch-gateway-topic{grid-column:span 12}}
/* MQTT→Twitch arbeitet mit einer visuellen Quellenwahl statt Freitext. */
.twitch-gateway-layout{grid-column:1/-1;display:grid;grid-template-columns:440px minmax(0,1fr) 390px;gap:18px;align-items:start}.twitch-gateway-layout .twitch-topic-library{grid-column:auto;width:auto}.twitch-gateway-layout .twitch-gateway-form-card,.twitch-gateway-layout .twitch-gateway-list-card{grid-column:auto}.gateway-topic-selection{padding:12px;border:1px dashed #41657e;border-radius:9px;background:#091925;color:#9fb4c8;font-weight:700}.gateway-topic-selection.selected{border-style:solid;border-color:#2f8cff;background:#0c2940;color:#e7f4ff}.gateway-topic-selection small{display:block;margin-top:5px;color:#9fb4c8;font-weight:500}@media(max-width:1180px){.twitch-gateway-layout{grid-template-columns:320px minmax(0,1fr)}.twitch-gateway-layout .twitch-gateway-list-card{grid-column:2}}@media(max-width:850px){.twitch-gateway-layout{display:block}.twitch-gateway-layout>.card{margin-bottom:14px}}
/* Vollständige Inhalte bleiben bei gekürzten Report-Listen per Hover lesbar. */
.topic-entry code[title],.topic-entry small[title],.report-list strong[title],.report-list .meta[title]{cursor:help}

/* Klare, kompakte Nutzerverwaltung und Passwortdialog. */
.admin-user-list{display:grid;gap:10px}.admin-user-card{padding:14px;border:1px solid #294459;border-radius:10px;background:#0a1d2a}.admin-user-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-user-head strong{font-size:15px}.admin-user-badges{display:flex;gap:6px;flex-wrap:wrap}.admin-user-overview{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px;gap:10px;margin:12px 0}.admin-user-overview>div{padding:8px 10px;border-radius:7px;background:#0d2535}.admin-user-overview span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.admin-user-overview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-quota-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-quota-grid label{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:5px;align-items:center;font-size:11px;color:#b7cadb}.admin-quota-grid input{min-width:0;padding:6px}.admin-quota-grid button{grid-column:1/-1;padding:6px;font-size:11px}.admin-user-actions{display:flex;gap:7px;margin-top:10px}.modal-backdrop{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:18px;background:#000a;backdrop-filter:blur(4px)}.password-dialog{width:min(560px,100%);margin:0;box-shadow:0 24px 70px #000b}.password-dialog .editor-heading{margin-bottom:18px}@media(max-width:980px){.admin-quota-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-user-overview,.admin-quota-grid{grid-template-columns:1fr}.admin-user-head{display:block}.admin-user-badges{margin-top:8px}}
.twitch-event-layout{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.twitch-event-form-card,.twitch-event-list-card{min-width:0}@media(max-width:980px){.twitch-event-layout{grid-template-columns:1fr}.twitch-event-list-card{grid-row:2}}
.brand{text-decoration:none;color:inherit;cursor:pointer}.brand:hover{opacity:.92}.brand:focus-visible{outline:2px solid #4f9cff;outline-offset:5px;border-radius:8px}

.webhook-row{align-items:flex-start}.row-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.webhook-url{display:flex;gap:8px;align-items:center;margin-top:8px;min-width:0}.webhook-url code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(640px,50vw);color:#b9d9ff}.webhook-url button{flex-shrink:0}@media(max-width:850px){.row-actions{width:100%}.webhook-url{max-width:100%}.webhook-url code{max-width:calc(100vw - 155px)}}

.calendar-workspace{display:grid;grid-template-columns:310px minmax(0,1fr) 310px;gap:16px;align-items:start}.calendar-sidebar{max-height:calc(100vh - 260px);overflow:auto}.calendar-editor{min-width:0}.calendar-sources{margin-top:16px}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#020912ba;backdrop-filter:blur(5px)}.modal-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto}.modal-card .editor-heading{position:sticky;top:-19px;padding:18px 0 12px;background:#102331;z-index:1}@media(max-width:1180px){.calendar-workspace{grid-template-columns:260px minmax(0,1fr)}.calendar-workspace>.calendar-sidebar:last-child{grid-column:1/-1;max-height:360px}}@media(max-width:850px){.calendar-workspace{display:block}.calendar-workspace>.card{margin-bottom:14px}.calendar-sidebar{max-height:none}.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px)}}

/* Rollen- und Moderationseditoren. */
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px;border:1px solid #29465e;border-radius:10px;background:#091b29;max-height:360px;overflow:auto}.check-line{display:flex;align-items:center;gap:7px;margin:0;padding:7px 8px;border-radius:6px;background:#10293a;font-size:12px;color:#d4e1ed}.check-line input{width:auto;margin:0}.grid select[multiple]{min-height:130px;padding:7px}.grid select[multiple] option{padding:5px}@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.permission-grid{grid-template-columns:1fr}}

/* Discord-Kanalübersicht mit Webhook-Zuordnung. */
.channel-overview{display:grid;gap:14px}.channel-overview-group{overflow:hidden;border:1px solid #2d4d65;border-radius:12px;background:rgba(6,24,38,.84)}.channel-overview-group h2{display:flex;align-items:center;gap:8px;margin:0;padding:12px 15px;border-bottom:1px solid #29475d;background:#102a3d;font-size:14px}.channel-overview-group h2 span{margin-left:auto;border-radius:999px;padding:2px 8px;background:#244861;color:#cde7fa;font-size:11px}.channel-overview-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:14px;align-items:center;padding:11px 15px;border-top:1px solid rgba(76,119,148,.24)}.channel-overview-group h2+.channel-overview-row{border-top:0}.channel-overview-channel{display:flex;align-items:center;gap:10px;min-width:0}.channel-overview-icon{width:22px;text-align:center;color:#a9c9e6}.channel-overview-channel div{min-width:0}.channel-overview-channel strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-overview-channel small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.channel-overview-hooks{display:grid;gap:6px;min-width:0}.channel-overview-hook{display:flex;align-items:center;gap:9px;min-width:0;padding:6px 8px;border-radius:7px;background:#0a1e2d}.channel-overview-hook span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.channel-overview-hook button{margin-left:auto;flex:0 0 auto}.channel-overview-hook small{font-size:11px;color:#96aabb}.compact-notice{margin-bottom:14px}@media(max-width:720px){.channel-overview-row{grid-template-columns:1fr}.channel-overview-hook{align-items:flex-start}.channel-overview-hook button{margin-left:auto}}
/* Persönliche Discord-Weiterleitungen. */
.forwarding-key-card{max-width:760px}.forwarding-key-card a{color:#81b8ff}.grid details{padding:13px 15px;border:1px solid #2c4b63;border-radius:10px;background:#0b2130}.grid details summary{cursor:pointer;font-weight:700;color:#dceeff}.grid details form{margin-top:14px}

/* Breiter, klar gegliederter Discord-Moderationsbereich. */
.moderation-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.moderation-card{min-width:0}.moderation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.moderation-card-head h2,.moderation-global h2{margin:0 0 4px}.moderation-card-head p,.moderation-global p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.moderation-switch{min-width:210px;padding:9px 11px}.moderation-switch small{display:none}.moderation-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.moderation-settings-grid .wide{grid-column:1/-1}.moderation-settings-grid .switch-row{align-self:end;height:100%}.moderation-subheading{margin:21px 0 10px;padding-top:16px;border-top:1px solid #294459}.moderation-subheading h3{margin:0 0 3px;font-size:13px}.moderation-subheading p{margin:0;color:var(--muted);font-size:12px}.moderation-whitelist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.moderation-whitelist-grid label small{display:block;margin-top:3px}.moderation-whitelist-grid select[multiple]{min-height:156px;background:#091925}.moderation-global{grid-column:1/-1;display:grid;grid-template-columns:1.1fr minmax(250px,.8fr) minmax(220px,.55fr) minmax(250px,.9fr) auto;gap:14px;align-items:end}.moderation-global .moderation-option{height:100%;align-self:stretch}.moderation-save{align-self:end}.moderation-save button{white-space:nowrap}@media(max-width:1280px){.moderation-global{grid-template-columns:repeat(2,minmax(0,1fr))}.moderation-save{grid-column:1/-1}}@media(max-width:900px){.moderation-workspace{grid-template-columns:1fr}.moderation-global{grid-column:auto;grid-template-columns:1fr}.moderation-card-head{display:block}.moderation-switch{margin-top:12px;width:100%}.moderation-whitelist-grid,.moderation-settings-grid{grid-template-columns:1fr}.moderation-save{grid-column:auto}.moderation-save button{width:100%}}