:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#20334a;background:#f4f7fb;font-size:14px;--blue:#285ad8;--line:#e1e7f0;--muted:#697b91}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button,.button{border:1px solid var(--line);background:white;border-radius:9px;padding:9px 13px;color:#20334a;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:background .18s,transform .18s}button:hover{background:#edf2fc;transform:translateY(-1px)}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#aa2440}button:disabled{opacity:.45;cursor:default;transform:none}aside#nav{position:fixed;width:235px;inset:0 auto 0 0;background:#10243c;color:#d6e0ec;padding:28px 18px;overflow:auto}.brand{font-size:23px;color:#fff;font-weight:750;letter-spacing:-1px}.brand small{display:block;font-size:16px;line-height:1.25;font-weight:650;letter-spacing:0;color:#e6eef8;margin:8px 0 30px;overflow-wrap:anywhere}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#b9c9da;text-align:left;padding:12px}nav button.active{color:white;background:#284768}nav button:hover{background:#203c59}aside a{color:#acc7e4;font-size:12px;display:block;margin-top:24px}main{margin-left:235px;padding:36px 40px 100px;max-width:1800px}h1{font-size:29px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:19px;letter-spacing:-.3px}h3{font-size:15px}.muted,small{color:var(--muted)}.bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.actions{display:flex;flex-wrap:wrap;gap:8px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin:16px 0;box-shadow:0 3px 12px #20334a03}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{padding:23px;background:white;border-radius:14px;border:1px solid var(--line)}.kpi b{font-size:32px;display:block;margin-bottom:6px}.kpi span{color:var(--muted)}label{display:grid;gap:7px;color:#4a5e75;font-size:12px;font-weight:600;margin-bottom:12px}input,select,textarea{width:100%;min-width:0;border:1px solid #d7e0eb;border-radius:8px;background:#fff;padding:10px;color:#20334a;font-weight:400}textarea{min-height:85px;resize:vertical}input[type=checkbox]{width:18px;height:18px;margin:0}input[type=file]{max-width:100%}input[readonly]{background:#f0f4f8}select{transition:box-shadow .2s}select:focus{box-shadow:0 0 0 3px #285ad81a}fieldset{border:0;padding:0;min-width:0}fieldset:disabled input,fieldset:disabled textarea,fieldset:disabled select{background:#f5f7fb;color:#65788d}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f8fafc;color:#6a7b8d;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:14px;white-space:nowrap}td{padding:14px;border-top:1px solid var(--line);vertical-align:top}td button.link{padding:0;border:0;background:none;color:var(--blue);text-align:left;font-weight:650}tr:hover td{background:#fafcff}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:#eef2f9;font-size:11px;white-space:nowrap}.badge.done{background:#dff4e9;color:#186746}.badge.warn{background:#fff0d7;color:#8a5911}.notice{padding:13px;border-radius:9px;background:#fff3de;color:#805617;margin:12px 0}.empty{text-align:center;padding:36px;color:var(--muted)}details.filter{margin:18px 0}details.filter summary{display:inline-flex;gap:7px;border:1px solid var(--line);border-radius:8px;padding:9px 13px;cursor:pointer;background:white;list-style:none}details.filter[open] .grid{margin-top:12px}@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(1100px,96vw);max-height:92dvh;box-shadow:0 30px 100px #00163045}dialog::backdrop{background:#0c203a88;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;background:#fff;z-index:3;padding:18px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{margin:0}.dialog-body{padding:24px}.dialog-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px 24px}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.tabs button.active{background:#e5edfd;color:#2556c7;border-color:#c9d9fa}.check{display:flex;align-items:center;gap:10px;font-size:14px;margin:12px 0}.photo{height:100px;max-width:160px;object-fit:cover;border-radius:8px}.photos{display:flex;flex-wrap:wrap;gap:12px}.signature{width:100%;height:170px;border:1px dashed #9bacc2;background:#fff;touch-action:none;border-radius:8px}.signature-preview{max-width:100%;height:130px;object-fit:contain;background:#fff}.calendar{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow:auto}.day{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;min-height:210px}.day b{display:block;margin-bottom:12px}.slot{display:block;width:100%;text-align:left;margin:8px 0;padding:10px;background:#eef4ff;border-color:#d9e5ff;font-size:12px}.slot.conflict{background:#fff0d7;border-color:#eccc96}#save{position:fixed;bottom:14px;right:18px;background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:12px;z-index:8;max-width:90vw;box-shadow:0 3px 18px #142a4310}#save.error{color:#ab243e;border-color:#e7a7b4}#toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#142c48;color:white;padding:12px 20px;border-radius:9px;z-index:20;display:none;max-width:90vw}.section-label{color:#8093aa;letter-spacing:1.5px;font-size:10px;text-transform:uppercase;margin-bottom:10px}.rowlink{display:block;color:#285ad8;margin:10px 0}.report-head{border-bottom:2px solid #254c7c;padding-bottom:18px}.report-sheet{line-height:1.6}.report-sheet p{white-space:pre-wrap}.report-sheet img{max-width:100%}@media(max-width:900px){aside#nav{position:static;width:auto;padding:18px}.brand small{margin:5px 0 15px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}aside a{margin:12px 0 0}main{margin:0;padding:24px 18px 95px}.kpis{grid-template-columns:repeat(2,1fr)}.bar{align-items:flex-start;flex-wrap:wrap}.dialog-body{padding:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{background:white}#nav,main,#save,#toast,dialog>.dialog-head,dialog>.dialog-foot,.no-print{display:none!important}dialog{position:static;display:block!important;max-height:none!important;overflow:visible;width:100%;border:0;box-shadow:none}dialog::backdrop{display:none}.dialog-body{padding:0}.report-sheet{font-size:11pt}table{break-inside:auto}tr,img{break-inside:avoid}}
.symptoms{margin:12px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chips .badge{display:inline-flex;align-items:center;gap:6px}.chips .badge button{border:0;background:none;padding:0 2px;cursor:pointer;font-size:16px;line-height:1;color:inherit}.suggestion{border-top:1px solid var(--line);padding:12px 0}.suggestion:first-of-type{border-top:0}.suggestion p{margin:6px 0}
.switch{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600;cursor:pointer;margin:6px 0 4px;color:inherit;position:relative}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .track{width:46px;height:26px;border-radius:13px;background:#c1cddc;position:relative;transition:background .2s;flex:none}.switch .track::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switch input:checked+.track{background:var(--blue)}.switch input:checked+.track::after{transform:translateX(20px)}.switch input:focus-visible+.track{outline:2px solid var(--blue);outline-offset:3px}
.personalize-bar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#e5edfd;border:1px solid #c9d9fa;color:#1f4aa8;border-radius:12px;padding:12px 16px;margin:0 0 22px}.personalize-bar span{display:block;font-size:12px;opacity:.85;margin-top:2px}.nav-hint{font-size:12px;color:#8cabc8;margin:-14px 0 14px}
body.customizing{user-select:none;-webkit-user-select:none}body.dragging,body.dragging *{cursor:grabbing!important}
body.customizing nav button{cursor:grab;touch-action:none;outline:1px dashed #5d7ea3;outline-offset:-1px}body.customizing nav button::before{content:'⠿';opacity:.7}
body.customizing .kpi{cursor:grab;touch-action:none;outline:2px dashed #9fb4d4;outline-offset:3px;position:relative}body.customizing .kpi::after{content:'⠿';position:absolute;right:12px;top:8px;color:#8093aa;font-size:16px}
body.customizing .dnd-block{border:2px dashed #9fb4d4;border-radius:14px;padding:10px 12px 4px;margin-bottom:18px}body.customizing .dnd-block>:not(.dnd-handle):not(.kpis){pointer-events:none}
.dnd-handle{cursor:grab;touch-action:none;background:#e5edfd;color:#2556c7;font-weight:650;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-size:13px}
.dnd-slot{border:2px dashed var(--blue);background:#285ad814;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:650;font-size:13px;min-height:44px;min-width:90px}
.dnd-ghost{position:fixed;z-index:60;pointer-events:none;margin:0;overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 18px 44px #0a1d3a55;transform:rotate(1.2deg) scale(1.02);opacity:.85;cursor:grabbing}.dnd-ghost-nav{background:#284768;color:#fff;padding:12px;font-size:14px;text-align:left;border:0;display:flex;align-items:center}.dnd-ghost-blocks{padding:10px 12px}
html[data-theme=dark]{background:#0d1724;color:#dbe6f2;color-scheme:dark;--line:#2a3f56;--muted:#8da3bb;--blue:#6e98ff}
html[data-theme=dark] aside#nav{background:#08111d}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3{color:#eef4fa}
html[data-theme=dark] button,html[data-theme=dark] .button{background:#1c3047;color:#dbe6f2;border-color:#2a3f56}html[data-theme=dark] button:hover{background:#26405c}html[data-theme=dark] button.primary{background:#3a66e0;border-color:#3a66e0;color:#fff}html[data-theme=dark] button.primary:hover{background:#4b76ee}html[data-theme=dark] button.danger{color:#ff9bad}
html[data-theme=dark] nav button{background:transparent;color:#b9c9da;border:0}html[data-theme=dark] nav button.active{background:#284768;color:#fff}html[data-theme=dark] nav button:hover{background:#203c59}html[data-theme=dark] td button.link{background:none;color:var(--blue)}
html[data-theme=dark] .card,html[data-theme=dark] .kpi,html[data-theme=dark] .table-wrap,html[data-theme=dark] .day,html[data-theme=dark] #save,html[data-theme=dark] details.filter summary,html[data-theme=dark] dialog,html[data-theme=dark] .dialog-head,html[data-theme=dark] .dialog-foot,html[data-theme=dark] .dnd-ghost{background:#17283b;border-color:var(--line)}
html[data-theme=dark] dialog{color:#dbe6f2}html[data-theme=dark] label{color:#a9bbcf}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0f1c2c;border-color:#2e4660;color:#dbe6f2}html[data-theme=dark] fieldset:disabled input,html[data-theme=dark] fieldset:disabled textarea,html[data-theme=dark] fieldset:disabled select,html[data-theme=dark] input[readonly]{background:#142437;color:#8da3bb}
html[data-theme=dark] th{background:#1c3047;color:#8da3bb}html[data-theme=dark] td{border-top-color:var(--line)}html[data-theme=dark] tr:hover td{background:#1c3047}
html[data-theme=dark] .badge{background:#24394f;color:#c9d7e6}html[data-theme=dark] .badge.done{background:#17402f;color:#8de0b4}html[data-theme=dark] .badge.warn{background:#4a3714;color:#f0c878}html[data-theme=dark] .notice{background:#4a3714;color:#f0c878}
html[data-theme=dark] .tabs button.active{background:#223d63;color:#a9c4ff;border-color:#34568a}html[data-theme=dark] .slot{background:#1f3a5c;border-color:#2e4f7a;color:#dbe6f2}html[data-theme=dark] .slot.conflict{background:#4a3714;border-color:#7a5d22}
html[data-theme=dark] .personalize-bar,html[data-theme=dark] .dnd-handle{background:#1c3560;border-color:#34568a;color:#a9c4ff}html[data-theme=dark] .dnd-slot{background:#6e98ff1f}html[data-theme=dark] .switch .track{background:#3a4f67}html[data-theme=dark] .switch input:checked+.track{background:#3a66e0}html[data-theme=dark] body.customizing .dnd-block,html[data-theme=dark] body.customizing .kpi{border-color:#4a6788;outline-color:#4a6788}
html[data-theme=dark] .rowlink{color:var(--blue)}html[data-theme=dark] .dnd-ghost-nav{background:#284768;color:#fff}
.calendar .slot{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}#unscheduled button.link{cursor:grab;touch-action:none}
.plan-source{opacity:.35}.plan-ghost{position:fixed;z-index:60;pointer-events:none;margin:0!important;box-shadow:0 14px 34px #0a1d3a55;transform:rotate(1deg);opacity:.92;cursor:grabbing;background:#eef4ff;border:1px solid #d9e5ff;border-radius:9px;padding:10px;text-align:left;font-size:12px;display:block}
.day{transition:background .15s,outline-color .15s}.day.drop-target{outline:2px dashed var(--blue);outline-offset:-2px;background:#285ad80d}.plan-slot{margin:8px 0;min-height:52px;text-align:center;padding:6px}
html[data-theme=dark] .day.drop-target{background:#1b3358}html[data-theme=dark] .plan-ghost{background:#1f3a5c;border-color:#2e4f7a;color:#dbe6f2}
.slot.moved{background:#fff3a6;border-color:#e0bf1f;color:#4f3f00}.notice.move-notice,.move-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff3a6;color:#4f3f00;border:1px solid #e0bf1f}
html[data-theme=dark] .slot.moved{background:#5a4a08;border-color:#a88a10;color:#ffe27a}html[data-theme=dark] .move-notice{background:#4f4107;border-color:#a88a10;color:#ffe27a}
.move-notice>div:first-child{flex:1 1 280px;min-width:0}.move-notice .actions{flex:none;flex-wrap:nowrap}
@keyframes nudge{0%,100%{transform:translateX(0)}15%{transform:translateX(-6px)}30%{transform:translateX(6px)}45%{transform:translateX(-5px)}60%{transform:translateX(5px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}
@keyframes redflash{0%,100%{box-shadow:0 0 0 0 #d93a5500}35%,65%{background:#e0405a;border-color:#e0405a;color:#fff;box-shadow:0 0 0 4px #d93a5555}}
button.attention{animation:nudge .6s ease-in-out,redflash .6s ease-in-out}
@media(prefers-reduced-motion:reduce){button.attention{animation:redflash .6s!important}}
label.highlight input{background:#fffbe3;border-color:#e3d58a}
html[data-theme=dark] label.highlight input{background:#3d3410;border-color:#8a7620;color:#f1deb0}
.dd{position:relative;width:100%}.dd>select{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none}
.dd-btn,.dd-btn:hover{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:10px 12px;border:1px solid #d7e0eb;border-radius:10px;background:#fff;font-weight:400;color:#20334a;transform:none;transition:border-color .18s,box-shadow .18s,background .18s}
.dd-btn:hover{border-color:#b4c4d9}.dd-btn:focus-visible,.dd.open .dd-btn{border-color:var(--blue);box-shadow:0 0 0 3px #285ad81f;outline:none}
.dd-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.dd-val.ph{color:#8a9bb0}
.dd-chev{flex:none;width:16px;height:16px;color:#6a7b8d;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.dd.open .dd-chev{transform:rotate(180deg)}
.dd-btn:disabled,.dd-btn:disabled:hover{background:#f5f7fb;color:#65788d;border-color:#e3e9f1;cursor:default}.dd-btn:disabled .dd-chev{opacity:.4}
.dd-pop{position:fixed;z-index:1000;width:max-content;max-width:min(520px,calc(100vw - 16px));padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 44px #10243c2b,0 2px 8px #10243c14;overflow:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.97);transform-origin:top center;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s}
.dd-pop.up{transform:translateY(8px) scale(.97);transform-origin:bottom center}
.dd.open .dd-pop{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.dd-opt{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1.35;color:#20334a;transition:background .1s}.dd-opt>span{flex:1;min-width:0;overflow-wrap:anywhere}
.dd-opt.active{background:#eef3fd}.dd-opt.ph{color:#8a9bb0}.dd-opt[aria-selected=true]{color:var(--blue);font-weight:600}.dd-opt[aria-disabled=true]{opacity:.45;cursor:default}
.dd-opt .tick{flex:none;width:15px;height:15px;opacity:0;transform:scale(.6);transition:opacity .15s,transform .2s}.dd-opt[aria-selected=true] .tick{opacity:1;transform:none}
:root{interpolate-size:allow-keywords}details.filter::details-content{height:0;opacity:0;overflow:clip;transition:height .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease,content-visibility .28s allow-discrete}details.filter[open]::details-content{height:auto;opacity:1}details.filter summary{transition:background .15s,border-color .15s}details.filter summary:hover{background:#edf2fc}
html[data-theme=dark] .dd-btn,html[data-theme=dark] .dd-btn:hover{background:#0f1c2c;border-color:#2e4660;color:#dbe6f2}html[data-theme=dark] .dd-btn:hover{border-color:#47658a}html[data-theme=dark] .dd-btn:focus-visible,html[data-theme=dark] .dd.open .dd-btn{border-color:var(--blue);box-shadow:0 0 0 3px #6e98ff33}
html[data-theme=dark] .dd-btn:disabled,html[data-theme=dark] .dd-btn:disabled:hover{background:#142437;color:#8da3bb;border-color:#22364b}html[data-theme=dark] .dd-chev{color:#8da3bb}html[data-theme=dark] .dd-val.ph,html[data-theme=dark] .dd-opt.ph{color:#7389a3}
html[data-theme=dark] .dd-pop{background:#17283b;border-color:#2a3f56;box-shadow:0 16px 44px #0009,0 2px 8px #0006}html[data-theme=dark] .dd-opt{color:#dbe6f2}html[data-theme=dark] .dd-opt.active{background:#233b57}html[data-theme=dark] .dd-opt[aria-selected=true]{color:#9bbcff}html[data-theme=dark] details.filter summary:hover{background:#1c3047}
.dd-pop{font-weight:400;text-transform:none;letter-spacing:0}
.custom-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.custom-row.with-actions{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.custom-row.with-actions>.actions{margin-bottom:12px}.custom-row.is-hidden{opacity:.55}.custom-draft{border-style:dashed;border-color:var(--blue)}.dialog-head>.actions{flex-wrap:nowrap}
@media(max-width:700px){.custom-row,.custom-row.with-actions{grid-template-columns:1fr}}
.grid.fill{grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}
.fzone.editing{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;border:2px dashed #9fb4d4;border-radius:12px;padding:12px;min-height:76px;margin-bottom:14px;align-items:start}.fzone-empty{grid-column:1/-1;margin:0;align-self:center;text-align:center;color:var(--muted);font-size:13px}
.fcell{display:grid;gap:8px;align-content:start;background:#fafcff;border:1px solid var(--line);border-radius:10px;padding:8px}.fcell .dnd-handle{margin:0}.fcell label{margin:0}.fcell input[readonly]{pointer-events:none}.fcell.is-hidden{opacity:.6}.fcell .actions{gap:6px}.fcell .actions button{padding:6px 10px;font-size:12px}.fcell .move-notice{margin:0;padding:10px}
html[data-theme=dark] .fcell{background:#1a2c42}html[data-theme=dark] .fzone.editing{border-color:#4a6788}

.brand-logo{display:block;width:100%;height:auto;max-height:120px;object-fit:contain;background:#fff;border-radius:8px;padding:6px 8px;margin:0 0 8px;box-sizing:border-box}
.logo-edit{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:8px}
.logo-preview{max-height:80px;max-width:260px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.logo-empty{padding:22px 28px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}
.file-button{margin:0;font-weight:400;font-size:inherit;color:#20334a}
.rep-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}
.rep-kpi{padding:20px;background:white;border-radius:14px;border:1px solid var(--line)}
.rep-kpi b{font-size:28px;display:block;margin-bottom:4px}
.rep-kpi span{color:var(--muted)}
.rep-split{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.rep-split .card{margin:0}
.rep-warn{color:#b3261e;margin:0 0 12px}
@media(max-width:900px){.rep-kpis{grid-template-columns:repeat(2,1fr)}.rep-split{grid-template-columns:1fr}}
html[data-theme=dark] .rep-kpi{background:#17283b;border-color:var(--line)}
html[data-theme=dark] .file-button{color:#dbe6f2}
html[data-theme=dark] .logo-preview{border-color:var(--line)}
html[data-theme=dark] .rep-warn{color:#ff9a93}

.import-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}
.import-row p{margin:4px 0 0;max-width:640px}
.file-button.primary{background:#2358d6;color:#fff;border-color:#2358d6}
.import-preview{margin-top:8px;padding:16px;border:1px dashed var(--line);border-radius:12px}
.import-errors{color:#b3261e;margin:0 0 12px;padding-left:20px}
html[data-theme=dark] .import-errors{color:#ff9a93}

dialog.confirm-dialog{width:min(440px,92vw);padding:24px;overflow:visible}
.confirm-body{display:flex;gap:16px;align-items:flex-start}
.confirm-body h2{margin:0 0 6px;font-size:19px}
.confirm-body p{margin:0;color:var(--muted);line-height:1.45}
.confirm-icon{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px;background:#e8eefb;color:#2358d6}
.confirm-icon.danger{background:#fde8ec;color:#aa2440}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.confirm-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 16px;cursor:pointer;color:#20334a;font:inherit}
.confirm-actions button.primary{background:#2358d6;border-color:#2358d6;color:#fff}
.confirm-actions button.danger-solid{background:#c62840;border-color:#c62840;color:#fff}
.confirm-actions button:hover{filter:brightness(.95)}
dialog.confirm-dialog[open]{animation:confirmIn .18s ease-out}
@keyframes confirmIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
html[data-theme=dark] dialog.confirm-dialog{background:#17283b;color:#e6eef8}
html[data-theme=dark] .confirm-actions button{background:#1c3047;color:#dbe6f2;border-color:#2a3f56}
html[data-theme=dark] .confirm-icon{background:#1f3558;color:#9fbcff}
html[data-theme=dark] .confirm-icon.danger{background:#4a1e29;color:#ff9bad}

.req-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}
.req-grid .card{margin:0}
.req-row{display:flex;align-items:center;gap:10px;padding:8px 0;margin:0;font-weight:500;font-size:14px;color:inherit;border-top:1px solid var(--line)}
.req-row small{margin-left:auto;color:var(--muted);font-weight:400}
.req-row input{margin:0}
label.missing{color:#b3261e}
label.missing input,label.missing select,label.missing textarea{border-color:#c62840;box-shadow:0 0 0 3px #c6284022;background:#fff7f8}
html[data-theme=dark] label.missing{color:#ff9a93}
html[data-theme=dark] label.missing input,html[data-theme=dark] label.missing select{background:#3a1d26;border-color:#e0556b}
@media(max-width:900px){.req-grid{grid-template-columns:1fr}}

.kpi-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0 0 16px}
button.kpi-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:18px 20px;border-radius:14px;border:1.5px solid var(--line);background:#fff;cursor:pointer;color:inherit;font:inherit;transition:border-color .18s,box-shadow .18s,transform .18s}
button.kpi-card b{font-size:16px}
button.kpi-card span{color:var(--muted);font-size:13px;line-height:1.4}
button.kpi-card:hover{border-color:#9fb4d4;transform:translateY(-1px)}
button.kpi-card.active{border-color:#2358d6;box-shadow:0 0 0 3px #2358d622;background:#f3f7ff}
.rep-split.two{grid-template-columns:repeat(2,1fr)}
.kpi-chart{margin:0}
.kpi-chart svg{width:100%;height:auto;display:block}
.kc-grid{stroke:var(--line);stroke-width:1}
.kc-axis{fill:var(--muted);font-size:11px}
.kc-value{fill:currentColor;font-size:11px;font-weight:700}
.kc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13px;color:var(--muted)}
.kc-key{display:inline-flex;align-items:center;gap:6px}
.kc-key i{width:11px;height:11px;border-radius:3px;display:inline-block}
.kpi-empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
.kpi-over{color:#b3261e;font-weight:600}
.kpi-under{color:#1b7f4d;font-weight:600}
.kpi-bar{display:block;width:90px;height:8px;border-radius:4px;background:#e8eef7;overflow:hidden}
.kpi-bar i{display:block;height:100%;background:#2358d6;border-radius:4px}
@media(max-width:900px){.kpi-picker,.rep-split.two{grid-template-columns:1fr}}
html[data-theme=dark] button.kpi-card{background:#17283b;border-color:var(--line)}
html[data-theme=dark] button.kpi-card.active{background:#1b3150;border-color:#5b8def;box-shadow:0 0 0 3px #5b8def33}
html[data-theme=dark] .kpi-over{color:#ff9a93}
html[data-theme=dark] .kpi-under{color:#6fd3a0}
html[data-theme=dark] .kpi-bar{background:#243a55}
html[data-theme=dark] .kc-value{fill:#e6eef8}

.lvl{display:inline-block;border-radius:20px;padding:5px 11px;font-size:11px;font-weight:700;white-space:nowrap;background:#eef2f9;color:#40536a}
.lvl-green{background:#dff4e9;color:#146140}.lvl-yellow{background:#fff1c2;color:#7a5a00}.lvl-red{background:#fde0e0;color:#a11d1d}.lvl-none{background:#eef2f9;color:#40536a}
.stage-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.stage-row .lvl{min-width:120px;text-align:center}.stage-row input{width:80px!important;flex:none}.stage-row select,.stage-row .dd{width:140px!important;flex:none}.stage-text{color:var(--muted)}
.maint-list{display:grid;gap:8px}.maint-row{display:grid;grid-template-columns:150px 1fr auto auto;gap:14px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-left:6px solid #aab7c8;border-radius:10px;background:#fff}
.maint-row.lvl-b-green{border-left-color:#2e9e6b}.maint-row.lvl-b-yellow{border-left-color:#e0a800}.maint-row.lvl-b-red{border-left-color:#d64545}
.maint-main small,.maint-due small{display:block;color:var(--muted)}.maint-row .lvl{text-align:center}
@media(max-width:800px){.maint-row{grid-template-columns:1fr}}
html[data-theme=dark] .lvl{background:#24394f;color:#c9d7e6}html[data-theme=dark] .lvl-green{background:#17402f;color:#8de0b4}html[data-theme=dark] .lvl-yellow{background:#4a3f10;color:#f3d86b}html[data-theme=dark] .lvl-red{background:#5a1f24;color:#ffaaaa}html[data-theme=dark] .maint-row{background:#17283a;border-color:#2c4057}

#toast,#save{margin:0;overflow:visible;width:max-content;height:auto}#toast{bottom:auto;right:auto;border:0;font:inherit}#save{top:auto;left:auto}
#toast.error{background:#a8431f;color:#fff;box-shadow:0 6px 22px #a8431f55}html[data-theme=dark] #toast.error{background:#b84a22;color:#fff}
#save.error{background:#a8431f;color:#fff;border-color:#a8431f}#save.error button{color:#a8431f;background:#fff}

.dd-combo input{width:100%;padding-right:36px}.dd-combo>.dd-chev{position:absolute;right:11px;top:50%;margin-top:-8px;pointer-events:none}.dd-combo.open input{border-color:var(--blue);box-shadow:0 0 0 3px #285ad81f;outline:none}.dd-opt.ph{color:var(--muted);cursor:default}

.gs-btn{display:flex;align-items:center;gap:10px;width:100%;margin:16px 0 6px;padding:10px 12px;border:1px solid #2c4a68;border-radius:10px;background:#1a3350;color:#b9c9da;cursor:pointer;text-align:left}.gs-btn:hover{background:#203e60}.gs-btn span{flex:1}.gs-btn kbd,.gs-head kbd{font:inherit;font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid #3a5878;color:#9fb4ca}
.gs-ico{width:18px;height:18px;flex:none}
dialog.gs-dialog{width:min(680px,94vw);margin:11vh auto auto;max-height:72dvh;overflow:hidden;padding:0}dialog.gs-dialog[open]{display:flex;flex-direction:column}
.gs-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--muted)}.gs-head input{flex:1;border:0;outline:0;background:transparent;font-size:17px;color:inherit;padding:4px 0;box-shadow:none}.gs-head input::placeholder{color:#8c9bb0}.gs-head kbd{border-color:var(--line);color:var(--muted)}
.gs-body{overflow:auto;padding:8px 10px 12px}.gs-group h4{margin:12px 8px 4px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center}.gs-group h4 span{background:#eef2f9;border-radius:10px;padding:1px 7px;font-size:11px}
.gs-item{display:block;width:100%;text-align:left;border:0;border-radius:9px;background:transparent;padding:9px 12px;cursor:pointer;color:inherit}.gs-item.active{background:#eef3fd}.gs-item b{display:block;font-weight:600}.gs-item small{display:block;color:var(--muted);margin-top:2px}
.gs-empty,.gs-more{color:var(--muted);padding:14px 10px;margin:0}.gs-more{padding:4px 12px;font-size:12px}
.gs-dialog mark{background:#ffe9a6;color:inherit;border-radius:3px;padding:0 1px}
html[data-theme=dark] dialog.gs-dialog{background:#17283b;color:#e6eef8}html[data-theme=dark] .gs-item.active{background:#233a54}html[data-theme=dark] .gs-group h4 span{background:#24394f}html[data-theme=dark] .gs-dialog mark{background:#6b5a14;color:#fff}
@media print{.gs-btn,.gs-dialog{display:none!important}}

.gs-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;flex:none}.gs-close:hover{background:#eef2f9;color:#20334a}.gs-close svg{width:18px;height:18px}
html[data-theme=dark] .gs-close:hover{background:#24394f;color:#e6eef8}

.gs-all{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.gs-all:hover{text-decoration:none}html[data-theme=dark] .gs-all{color:#8fb0ff}

/* ---------- Anmeldeseite ---------- */
.auth-body{min-height:100dvh;display:grid;place-items:center;background:#10243c;color:#20334a;margin:0;padding:24px}
.auth-wrap{width:min(440px,100%)}.auth-brand{color:#fff;font-size:28px;font-weight:750;letter-spacing:-1px;margin-bottom:18px;text-align:center}.auth-brand small{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:#9fb4ca;margin-top:4px}
.auth-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 30px 80px #0006}.auth-card h1{margin:0 0 14px;font-size:22px}
.auth-field{display:block;margin:14px 0;font-weight:600;font-size:13px}.auth-field small{display:block;font-weight:400;margin-top:6px;line-height:1.4}
.auth-input{position:relative;display:block;margin-top:6px}.auth-input input{width:100%;padding:11px 42px 11px 12px;border:1px solid #cdd6e3;border-radius:10px;font-size:15px;background:#fff;color:inherit}.auth-input input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #285ad81f;outline:none}
.auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#697b91;cursor:pointer;display:grid;place-items:center}.auth-eye svg{width:18px;height:18px}.auth-eye:hover{background:#eef2f9}.auth-eye[aria-pressed=true]{color:var(--blue)}
.auth-submit{width:100%;margin-top:6px;padding:12px;font-size:15px;font-weight:600}
.auth-error{background:#fde8e1;color:#8a2f10;border:1px solid #f1b9a4;border-radius:10px;padding:10px 12px;margin:12px 0 0;font-size:13px}.auth-error[hidden]{display:none}
.auth-note{background:#eef3fd;border:1px solid #cddcfb;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13px}
.auth-links{margin:16px 0 0;text-align:center;font-size:13px}.auth-links a,.auth-link{color:var(--blue);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.auth-foot{text-align:center;font-size:12px;margin-top:16px;color:#9fb4ca}
html[data-theme=dark] .auth-card{background:#17283b;color:#e6eef8}html[data-theme=dark] .auth-input input{background:#0f1c2b;border-color:#2c4057;color:#e6eef8}html[data-theme=dark] .auth-note{background:#1d3250;border-color:#2c4a73}html[data-theme=dark] .auth-error{background:#4a2216;border-color:#7a3b25;color:#ffc9b3}html[data-theme=dark] .auth-eye:hover{background:#24394f}

.nav-user{margin:26px 0 8px;padding:12px;border:1px solid #2c4a68;border-radius:10px;background:#142c47;color:#d6e0ec}.nav-user-name b{display:block;font-weight:650}.nav-user-name small{display:block;color:#9fb4ca;margin-top:2px;word-break:break-all}
.nav-user-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px}.nav-user-actions a{color:#9fc0ff}.nav-user-actions button{border:1px solid #3a5878;background:transparent;color:#d6e0ec;padding:5px 10px;border-radius:8px;cursor:pointer}.nav-user-actions button:hover{background:#203e60}
.temp-pass{margin:12px 0}.temp-code{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}.temp-code code{font-size:18px;letter-spacing:.06em;padding:8px 12px;background:#fff;border:1px dashed #b0842c;border-radius:8px;color:#20334a;user-select:all}
html[data-theme=dark] .temp-code code{background:#0f1c2b;color:#e6eef8}
@media print{.nav-user{display:none!important}}

.nav-user-actions .nav-settings{border:1px solid #3a5878;background:transparent;color:#d6e0ec;padding:5px 10px;border-radius:8px;cursor:pointer}
dialog.set-dialog{width:min(560px,94vw)}
.set-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.set-head h2{margin:0}.set-x{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:inherit;padding:2px 8px;border-radius:8px}.set-x:hover{background:rgba(127,127,127,.18)}
.set-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(127,127,127,.35);margin-bottom:14px}.set-tabs button{border:0;background:transparent;color:inherit;padding:8px 12px;cursor:pointer;border-bottom:3px solid transparent;font:inherit}.set-tabs button.on{border-bottom-color:#2b6cff;font-weight:650}
.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.set-grid.one{grid-template-columns:1fr}.set-f{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-top:6px}.set-f input{padding:8px 10px;border:1px solid #b9c4d0;border-radius:8px;font:inherit;background:#fff;color:#111}
.set-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:16px 0 4px;font-size:13px}.set-info dt{opacity:.65;font-size:12px}.set-info dd{margin:0;font-weight:600}
.set-hint{font-size:13px;opacity:.8;margin:0 0 6px}.set-err{color:#a8431f;font-weight:600;font-size:13px;margin:10px 0 0}.set-err.ok{color:#2e7d32}
@media(max-width:520px){.set-grid,.set-info{grid-template-columns:1fr}}

.dialog-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.dialog-foot .audit{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11.5px;color:var(--muted);text-align:right}
.dialog-foot .audit{display:block!important;white-space:nowrap}.dialog-foot .audit>div{display:block;line-height:1.5}
.dialog-foot .audit{text-align:left!important;align-items:flex-start!important}

.audit-link{border:0;background:transparent;padding:0;margin:0;font:inherit;color:#2b6cff;cursor:pointer;text-align:left;text-decoration:underline dotted}.audit-link:hover{text-decoration:underline}
html[data-theme=dark] .audit-link{color:#9fc0ff}
dialog.audit-dialog{width:min(780px,95vw)}.audit-scroll{max-height:55vh;overflow:auto;margin-top:8px}.audit-dialog table{width:100%;border-collapse:collapse;font-size:13px}.audit-dialog th,.audit-dialog td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(127,127,127,.3);vertical-align:top;word-break:break-word}.audit-dialog th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.audit-dialog .muted{opacity:.65}

.tpl-items{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.tpl-item{display:flex;gap:8px;align-items:center}.tpl-item input{flex:1;min-width:0}.tpl-no{width:26px;text-align:center;color:var(--muted);font-weight:600}.tpl-item button{white-space:nowrap}

.tab-hint{margin:6px 0 -8px}.tab-wrap{display:inline-flex;align-items:center;gap:2px;cursor:grab;touch-action:none}.tab-wrap .tab-eye{padding:7px 8px;border-radius:10px;display:inline-flex;align-items:center;color:var(--muted)}.tab-wrap.is-hidden>button:first-child{opacity:.5;text-decoration:line-through}.tab-wrap.is-hidden .tab-eye{color:#a8431f}

.badge.cancel{background:#fbe6dc;color:#a8431f}html[data-theme=dark] .badge.cancel{background:#4a2416;color:#f2a88a}

.card.tap{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.card.tap:hover{border-color:var(--blue);box-shadow:0 6px 18px #285ad81f;transform:translateY(-1px)}.card.tap:active{transform:none}

.lic-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.lic-bar{height:10px;border-radius:6px;background:#e4eaf3;overflow:hidden;margin:6px 0 12px}.lic-bar i{display:block;height:100%;background:#2e8b57;border-radius:6px}.lic-bar i.high{background:#d99a1c}.lic-bar i.full{background:#c2410c}html[data-theme=dark] .lic-bar{background:#243649}

.photo-item{display:flex;flex-direction:column;gap:6px;max-width:190px}.photo-item .photo{display:block}.photo-open{padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.photo-item small{overflow-wrap:anywhere}.photo-item .actions{gap:6px}.photo-item .actions .button,.photo-item .actions button{padding:5px 9px;font-size:12px}
dialog.photo-dialog{width:min(900px,96vw);max-height:94dvh;overflow:auto}.photo-big{display:block;max-width:100%;max-height:70dvh;margin:0 auto;border-radius:8px;object-fit:contain}
.photo-stage{display:flex;align-items:center;gap:10px;justify-content:center}.photo-nav{font-size:28px;line-height:1;padding:8px 14px;flex:none}.photo-count{text-align:center;margin:8px 0}a.button[data-action=photoView]{cursor:pointer}

/* Hintergrund nicht mitscrollen, solange ein Dialog offen ist */
html:has(dialog[open]){overflow:hidden;scrollbar-gutter:stable}dialog{overscroll-behavior:contain}
.mat-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mat-actions button{padding:6px 10px;font-size:13px}.mat-n{background:rgba(127,127,127,.25);border-radius:10px;padding:0 7px;font-size:12px;margin-left:4px}.mat-qty{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:400;font-size:12px;margin:8px 0 0}.mat-qty input{width:80px;padding:5px 8px}
.kpi:has(.kpi-filter){position:relative}.kpi .dd:has(.kpi-filter){position:absolute;top:12px;right:12px;width:auto;max-width:58%}.kpi .dd:has(.kpi-filter) .dd-btn{padding:5px 9px;font-size:12px;gap:6px}

.plan-jump{position:fixed;top:38%;height:70px;width:70px;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;background:rgba(40,90,216,.88);color:#fff;border:2px dashed rgba(255,255,255,.55);overflow:hidden;box-shadow:0 8px 28px rgba(16,36,60,.35);user-select:none;transition:transform .15s,background .15s}
.plan-jump-prev{left:250px}.plan-jump-next{right:12px}
.plan-jump b{font-size:28px;line-height:1;position:relative}.plan-jump small{font-size:10px;line-height:1.1;text-align:center;position:relative;padding:0 4px}
.plan-jump-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:rgba(255,255,255,.35)}
.plan-jump.charging{transform:scale(1.06)}.plan-jump.charging .plan-jump-fill{animation:jumpfill 1s linear forwards}
@keyframes jumpfill{from{height:0}to{height:100%}}
@media(max-width:900px){.plan-jump-prev{left:8px}}

.dd-opt.suggested{background:#eaf7ef;box-shadow:0 0 0 1px #8fd3a8 inset,0 0 14px #4cc27a55;animation:ddglow 2.4s ease-in-out infinite}.dd-opt.suggested.active{background:#dcf2e5}
.dd-hint{flex:none;font-style:normal;font-size:11px;font-weight:600;color:#1d7a46;background:#d3f0de;border-radius:999px;padding:2px 8px}
@keyframes ddglow{0%,100%{box-shadow:0 0 0 1px #8fd3a8 inset,0 0 6px #4cc27a33}50%{box-shadow:0 0 0 1px #6cc590 inset,0 0 16px #4cc27a77}}
html[data-theme=dark] .dd-opt.suggested{background:#173a2a;box-shadow:0 0 0 1px #2f8a5b inset,0 0 14px #3fbf7a44}html[data-theme=dark] .dd-hint{color:#8be0ae;background:#1f4d37}
@media(prefers-reduced-motion:reduce){.dd-opt.suggested{animation:none}}

@media(min-width:901px){
html[data-nav=right] aside#nav{inset:0 0 0 auto}html[data-nav=right] main{margin-left:0;margin-right:235px}
html[data-nav=top] aside#nav{position:sticky;width:auto;height:auto;inset:0 auto auto 0;display:flex;align-items:center;gap:16px;padding:10px 24px;overflow:visible;z-index:60;box-shadow:0 2px 14px #10243c33}
html[data-nav=top] main{margin-left:0;max-width:none}
html[data-nav=top] aside#nav .brand{flex:none;margin:0}html[data-nav=top] aside#nav .brand small{display:none}
html[data-nav=top] aside#nav .gs-btn{width:auto;margin:0;flex:none}html[data-nav=top] aside#nav .gs-btn span{min-width:70px}
html[data-nav=top] aside#nav nav{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}html[data-nav=top] aside#nav nav button{width:auto}
html[data-nav=top] aside#nav .nav-user{margin:0 0 0 auto;padding:6px 10px;display:flex;align-items:center;gap:12px;flex:none}html[data-nav=top] aside#nav .nav-user-actions{margin:0}html[data-nav=top] aside#nav .nav-user-name small{display:none}
}
.actions button[aria-pressed=true]{pointer-events:none}
@media(min-width:901px){html[data-nav=top] aside#nav nav button{padding:7px 10px;white-space:nowrap}html[data-nav=top] aside#nav .gs-btn kbd{display:none}html[data-nav=top] aside#nav{gap:12px;padding:8px 18px}}

.page-head{position:sticky;top:var(--navh,0px);z-index:40;background:#f4f7fb;margin:-36px -40px 24px;padding:36px 40px 14px;box-shadow:0 1px 0 var(--line)}
html[data-theme=dark] .page-head{background:#0d1724}
body.customizing .page-head{position:static;box-shadow:none}
@media(max-width:900px){.page-head{position:static;margin:0 0 24px;padding:0;box-shadow:none}}
.quick-config{margin:0 0 22px}.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 16px}

.head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.head-right .section-label{margin:0}.head-right .actions{justify-content:flex-end}

@media(min-width:901px){body:not(.customizing) .master-tabs{position:sticky;top:calc(var(--navh,0px) + var(--headh,0px));z-index:35;background:#f4f7fb;margin:0 -40px 18px;padding:10px 40px}html[data-theme=dark] body:not(.customizing) .master-tabs{background:#0d1724}}

.head-right{flex-direction:row;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:8px 18px}.quick{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.quick .section-label{margin:0}
.quick-hint{margin:0;max-width:250px;font-size:12px;line-height:1.4;color:var(--muted);text-align:right}

/* DI Messages */
.di-hdrs{display:grid;gap:8px;margin:8px 0 14px}.di-hdr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center}
.di-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:8px}@media(max-width:900px){.di-cols{grid-template-columns:1fr}.di-hdr{grid-template-columns:1fr}}
.di-catalog{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:6px}
.di-group{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 8px 4px;position:sticky;top:0;background:inherit;font-size:12px;color:var(--muted)}.di-group b{text-transform:uppercase;letter-spacing:.5px;font-size:11px}.di-group button.link{padding:0;border:0;background:none;color:var(--blue);font-size:12px}
.di-field{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:7px;font-size:13px}.di-field:hover:not(:disabled){background:#edf2fc;transform:none}.di-field:disabled{opacity:.4}.di-field small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.di-path{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;overflow-wrap:anywhere}
.di-sel{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.di-no{color:var(--muted);font-size:12px;min-width:22px}.di-sel-main{flex:1;min-width:0;display:grid;gap:3px}.di-sel-main.di-two{grid-template-columns:1fr 1fr;gap:8px}.di-mv{display:flex;gap:4px}.di-mv button{padding:6px 9px}
.di-pre{background:#10243c;color:#d6e6f7;border-radius:10px;padding:16px;max-height:420px;overflow:auto;font:12.5px/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap;word-break:break-word;margin:12px 0}
html[data-theme=dark] .di-field:hover:not(:disabled){background:#203c59}

/* Berechtigungen */
.perm-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;margin-top:6px}@media(max-width:900px){.perm-layout{grid-template-columns:1fr}}
.role-list{display:grid;gap:6px;align-content:start}.role-item{display:grid;gap:2px;text-align:left;padding:11px 13px;border-radius:10px}.role-item small{color:var(--muted)}.role-item.active{background:#e5edfd;border-color:#c9d9fa;color:#2556c7}
.perm-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0 18px}.perm-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;border-top:1px solid var(--line);margin:0;font-size:13px;font-weight:400;color:inherit}.perm-row:first-child{border-top:0}.perm-row>div:first-child{display:grid;gap:2px;min-width:0}.perm-row b{font-weight:650}.perm-row small{font-size:12px}
.perm-levels{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.perm-opt{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;color:inherit}.perm-opt input{width:15px;height:15px}.perm-opt:has(input:checked){background:#e5edfd;border-color:#c9d9fa;color:#2556c7}.perm-opt.off{opacity:.4;cursor:default}
.perm-act{cursor:pointer}.perm-save{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;background:inherit;padding:12px 0;border-top:1px solid var(--line);margin-top:14px}
html[data-theme=dark] .role-item.active,html[data-theme=dark] .perm-opt:has(input:checked){background:#203c59;border-color:#2f5580;color:#cfe0f7}

.perm-save{background:#fff;z-index:2}html[data-theme=dark] .perm-save{background:#17283b}
input:disabled,textarea:disabled{background:#f5f7fb;color:#65788d;cursor:not-allowed}html[data-theme=dark] input:disabled,html[data-theme=dark] textarea:disabled{background:#1b2f45;color:#8fa3b8}

@media(min-width:901px){main{transition:margin .38s cubic-bezier(.2,.8,.2,1)}}@media(prefers-reduced-motion:reduce){main{transition:none}}

/* Seitenaktionen unter dem Kopf (rechts), oben nur Schnellzugriff */
.page-tools{display:flex;justify-content:flex-end;margin:18px 0 0}.page-tools .actions{justify-content:flex-end}
.toolrow{position:relative;display:flow-root}.toolrow>.page-tools{position:absolute;right:0;top:18px;margin:0}
.tabs>.page-tools,.bar>.page-tools{margin:0 0 0 auto}
@media(max-width:900px){.toolrow>.page-tools{position:static;margin:0 0 12px}}
