:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#e9eef7;background:#0b1020;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;color:#eef2ff;background:#111b30;border:1px solid #2b3851;border-radius:10px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#a2d66d;box-shadow:0 0 0 3px #9eca681c}textarea{min-height:95px;resize:vertical}label{display:block;color:#c7cfdf;font-size:13px;font-weight:650;margin-bottom:14px}label input,label select,label textarea{margin-top:7px}small,.muted{color:#8490a9}.center{min-height:100dvh;display:grid;place-items:center}.login{background:radial-gradient(ellipse at 50% 0%,#253f2d 0%,#0b1020 57%);padding:16px}.loginbox{width:min(430px,100%);border:1px solid #2d3a43;background:#121b2b;border-radius:23px;padding:32px;box-shadow:0 24px 90px #0005}.loginbox h1{font-size:30px;margin:6px 0}.loginbox span{color:#b8ed75}.loginbox p{color:#97a5bc;margin:5px 0 25px}.loginbox small{display:block;text-align:center;margin-top:22px}.brand-icon{font-size:44px}.or{text-align:center;margin:25px 0 16px;color:#65718a;font-size:11px;letter-spacing:.15em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 16px;color:#e9eef7;border:1px solid #34435a;background:#1c2a42;border-radius:10px;text-decoration:none;font-weight:750;font-size:13px}.btn:hover{filter:brightness(1.15)}.btn.primary{background:#b7ef78;color:#193017;border-color:#b7ef78}.btn.danger{background:#512634;border-color:#7a374b;color:#ffd9df}.btn.discord{background:#5865f2;border-color:#5865f2;color:white;width:100%}.btn.ghost{background:transparent}.btn.small{padding:7px 10px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}#app{min-height:100dvh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#0e1728;border-right:1px solid #25324a;display:flex;flex-direction:column;padding:24px 15px;position:sticky;top:0;height:100dvh}.logo{font-size:16px;font-weight:750;padding:9px 13px 28px}.logo span{font-size:24px}.logo b{color:#b7ef78}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#a8b5cb;text-align:left;border-radius:11px;padding:12px 14px;font-weight:650}nav button.active{background:#203522;color:#c9f393}nav button:hover{background:#1a2940}.side-bottom{margin-top:auto;border-top:1px solid #2a354b;padding:17px 12px 0;display:grid;gap:12px}.side-bottom strong{display:block}.side-bottom small{font-size:11px}main{padding:30px 38px 80px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.top h1{margin:4px 0 0;font-size:30px;letter-spacing:-.035em}.top small{color:#b7ef78;font-size:12px}.mobile{display:none}.panel{background:#121c2d;border:1px solid #26364c;border-radius:17px;padding:21px;margin:0 0 18px}.panel h2,.panel h3{margin:0 0 15px}.panel h2{font-size:19px}.panel h3{font-size:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin-bottom:20px}.stat{border:1px solid #28374e;background:#142030;border-radius:14px;padding:20px}.stat strong{display:block;font-size:29px;margin-top:12px}.stat small{display:block}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.tablewrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:620px}.table th,.table td{border-bottom:1px solid #273347;padding:12px 10px;text-align:left;font-size:13px;vertical-align:middle}.table th{color:#889bb8;font-weight:650}.table tr:hover td{background:#1c294055}.tag{display:inline-block;border-radius:7px;padding:4px 8px;font-size:11px;background:#24334a;color:#b9cce5}.tag.good{background:#29442d;color:#a7edab}.tag.bad{background:#543037;color:#ffd4d4}.tag.warn{background:#4b4028;color:#ffd39b}/* Watchtime: native progress, keine Inline-Styles erforderlich. */
.progress{display:block;width:100%;height:8px;appearance:none;-webkit-appearance:none;border:0;background:#2a3547;border-radius:99px;overflow:hidden;margin:7px 0;accent-color:#a6da6d}
.progress::-webkit-progress-bar{background:#2a3547;border-radius:99px}
.progress::-webkit-progress-value{background:#a6da6d;border-radius:99px}
.progress::-moz-progress-bar{background:#a6da6d;border-radius:99px}
.progress.progress-unknown{opacity:.65}
.table .progress{min-width:100px}
.watchtime-hours{font-size:28px}
.help{color:#90a1bb;font-size:13px;line-height:1.55}.entry{border:1px solid #304057;background:#131f31;border-radius:12px;padding:14px;margin-bottom:10px}.entry strong{display:block;margin-bottom:9px}.entrygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.empty{padding:30px;text-align:center;color:#8091ad}.pill{border:1px solid #3b4e5e;border-radius:9px;padding:6px 10px;background:#1a293d}.selected{border-color:#c1ea8a;color:#c1ea8a}#toast{position:fixed;right:20px;bottom:20px;z-index:10;max-width:380px;border-radius:11px;background:#294a32;padding:12px 20px;color:#e9ffed;box-shadow:0 15px 40px #0006;display:none}#toast.error{background:#702f39}.days{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.days label{margin-bottom:9px}code{color:#bdec84}.sidebar.open{transform:translateX(0)}@media(max-width:850px){#app{display:block}.sidebar{position:fixed;z-index:8;width:250px;transform:translateX(-100%);transition:transform .2s}.mobile{display:inline-flex}main{padding:17px}.top{gap:12px}.top h1{font-size:24px}.grid2,.grid3{grid-template-columns:1fr}.entrygrid{grid-template-columns:1fr}.loginbox{padding:24px}}

[hidden]{display:none!important}

/* Update: saubere Häkchen und Abstände */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;margin:12px 0 8px}
.permission-option,.checkbox-option{display:flex;align-items:center;gap:11px;min-height:48px;margin:0;padding:11px 13px;border:1px solid #30415b;border-radius:11px;background:#162339;cursor:pointer;line-height:1.4}
.permission-option input[type=checkbox],.checkbox-option input[type=checkbox]{appearance:auto;width:17px!important;height:17px!important;min-width:17px;flex:0 0 17px;margin:0!important;padding:0;accent-color:#b7ef78;box-shadow:none}
.permission-option span{overflow-wrap:anywhere}
.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.form-actions{margin-top:9px;padding-top:10px;gap:12px}
.table-actions{gap:8px;min-width:max-content}
.panel .row.between{row-gap:16px}
.panel .row>.btn{margin:0}
@media(max-width:600px){.permission-grid{grid-template-columns:1fr}.panel-actions .btn{width:100%}}

/* Rollen/Rechte: Checkbox und beschreibender Text exakt ausgerichtet */
.permission-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px}
.permission-option{align-items:flex-start;min-height:104px;padding:14px;gap:12px}
.permission-option input[type=checkbox]{margin-top:4px!important}
.permission-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;font-weight:400}
.permission-copy strong{font-size:13px;color:#eef4ff;font-weight:750;line-height:1.4}
.permission-copy small{font-size:12px;color:#a7b7cd;line-height:1.5;overflow-wrap:anywhere}
.permission-copy code{font-size:10px;color:#91b8a1;overflow-wrap:anywhere}
@media(max-width:600px){.permission-grid{grid-template-columns:minmax(0,1fr)}}

/* Neue kleine Typ-Badges, ohne ganze Tabellenzeilen einzufärben */
.tag.up{background:#155c4e;color:#abf1d7}.tag.down{background:#6b384c;color:#ffe0e7}
#recordFields{margin-top:3px}.panel .table td .tag{margin:2px 3px 2px 0}

/* Streamplaner: kompakte Tageskarten und separates Terminformular */
.stream-day{margin:0;min-height:145px;display:flex;flex-direction:column;gap:14px}
.stream-day strong{margin:0 0 4px}.stream-day-summary{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.stream-day-summary p{margin:0;overflow-wrap:anywhere}.stream-day-summary small{display:block}
.stream-dialog{width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto;background:#121c2d;color:#e9eef7;border:1px solid #34435a;border-radius:17px;padding:24px;box-shadow:0 20px 80px #0008}.stream-dialog::backdrop{background:#050913b3}.stream-dialog h2{margin:0}.stream-dialog .row.between{margin-bottom:20px}.stream-dialog .form-actions{margin-top:16px}
