:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070b12;color:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -20%,#18253b 0,#0a101b 32%,#070b12 68%);color:#edf3fb}header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1180px)/2));border-bottom:1px solid #202a39;background:#090e17e8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.logo{font-size:18px;font-weight:850;color:#fff;letter-spacing:-.3px}.logo span,.version,.pill{font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#172235;border:1px solid #2a3a52;border-radius:999px;padding:5px 8px;color:#a9bad0}.logo span{margin-left:6px}nav{display:flex;gap:18px}a{color:#b8c5d6;text-decoration:none}a:hover{color:#fff}main{max-width:1180px;margin:0 auto;padding:34px 18px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-head h1{font-size:34px;letter-spacing:-1px;margin:3px 0 5px}.page-head p{margin:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7388a5;margin:0 0 7px;text-transform:uppercase}.muted,small{color:#8998ad}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat,.card{background:linear-gradient(180deg,#111925,#0e151f);border:1px solid #202c3d;border-radius:16px;box-shadow:0 18px 50px #0002}.stat{padding:17px}.stat-top{display:flex;justify-content:space-between;color:#91a2b8;font-size:13px}.stat strong{display:block;font-size:20px;margin:9px 0 3px}.stat small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#697386}.dot.good{background:#55d98b;box-shadow:0 0 0 4px #55d98b16}.dot.bad{background:#ff6577;box-shadow:0 0 0 4px #ff657716}.dot.warn{background:#f0b75a}.meter,.progress{height:6px;background:#202b39;border-radius:999px;overflow:hidden}.meter{margin-top:11px}.meter span,.progress span{display:block;height:100%;background:linear-gradient(90deg,#72a7ff,#8c7cff);border-radius:inherit}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{padding:20px;margin-bottom:18px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card h2{font-size:18px;margin:0;letter-spacing:-.25px}.dropzone{display:flex;min-height:155px;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed #3b4b62;border-radius:13px;background:#0a111b;padding:22px;cursor:pointer}.dropzone:hover{border-color:#7186a4;background:#0d1521}.dropzone input{position:absolute;opacity:0;pointer-events:none}.dropzone small{max-width:360px;margin-top:6px}.dropicon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#182538;border:1px solid #2b3b53;margin-bottom:9px;font-size:20px}label{display:block;margin:12px 0 6px;color:#aab8ca;font-size:13px}input,select,button{width:100%;border:1px solid #2a3749;border-radius:10px;background:#0a111b;color:#eef4fc;padding:12px 13px;font:inherit;outline:none}input:focus,select:focus{border-color:#627a9b;box-shadow:0 0 0 3px #627a9b1a}button{background:#eef4ff;color:#0b111b;font-weight:800;cursor:pointer;margin-top:12px;border:0}button:hover{filter:brightness(.94)}.health-list{margin-top:18px;border-top:1px solid #202c3d;padding-top:10px}.health-list div{display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;padding:7px 0;font-size:13px}.health-list span{color:#7f90a6;font-size:12px}.download{padding:15px 0;border-top:1px solid #202b3a}.download:first-of-type{border-top:0}.download-head,.download-meta,.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.download-head strong{display:block}.download-head small{display:block;margin-top:4px}.progress{margin:11px 0 8px;height:8px}.download-meta{justify-content:flex-start;gap:20px;font-size:12px;color:#8292a8}.row{padding:12px 0;border-top:1px solid #202b3a}.row:first-of-type{border-top:0}.row small{display:block;margin-top:4px}.clip{min-width:0;overflow:hidden;text-overflow:ellipsis}.clip strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{padding:6px 9px;border-radius:999px;font-size:11px;white-space:nowrap}.up{background:#123322;color:#8fe5ad}.warnbg{background:#3c2c14;color:#f1c675}.empty{border:1px dashed #283648;border-radius:11px;padding:20px;text-align:center;color:#78899f;background:#0b1119}.smallbtn{width:auto;margin:0;padding:8px 11px}.flash{max-width:1144px;margin:14px auto 0;padding:11px 14px;border-radius:10px;background:#172335;border:1px solid #28374b}.flash.error{background:#351820;border-color:#57252f}.flash.ok{background:#112c20;border-color:#204a35}.toggle{display:flex;align-items:center;gap:12px;border-top:1px solid #202b3a;padding:14px 0;margin:0}.toggle:first-of-type{border-top:0}.toggle input{display:none}.toggle>span{width:42px;height:24px;border-radius:999px;background:#293546;position:relative;flex:none}.toggle>span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#c7d1df;top:3px;left:3px;transition:.18s}.toggle input:checked+span{background:#4774bd}.toggle input:checked+span:after{left:21px;background:#fff}.toggle strong,.toggle small{display:block}.toggle small{margin-top:3px}.settings{max-width:900px}@media(max-width:850px){.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:560px){header{padding:0 14px}nav{gap:10px;font-size:13px}main{padding:25px 13px 50px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat strong{font-size:17px}.card{padding:16px}.page-head h1{font-size:29px}.version{display:none}.download-meta{flex-wrap:wrap;gap:8px 14px}.health-list div{grid-template-columns:16px 1fr}.health-list span{grid-column:2}.row{align-items:flex-start}}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px;align-items:start}.dashboard-grid aside .card{margin-bottom:18px}.downloads-card{min-height:350px}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact .dropzone{min-height:105px;padding:15px}.compact .dropicon{margin-bottom:5px}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;font-size:23px}.mobile-menu div{position:absolute;right:0;top:34px;min-width:170px;background:#111925;border:1px solid #2a3749;border-radius:12px;padding:8px;box-shadow:0 18px 45px #0008}.mobile-menu a{display:block;padding:10px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#080d14;border:1px solid #202c3d;padding:14px;border-radius:11px;color:#aebdd0}.card-title>.smallbtn{width:auto;margin:0}@media(max-width:900px){.dashboard-grid,.lower-grid{grid-template-columns:1fr}}@media(max-width:620px){header nav{display:none}.mobile-menu{display:block}.stats{grid-template-columns:1fr 1fr}.compact .dropzone{min-height:95px}.dashboard-grid{display:flex;flex-direction:column}.downloads-card{order:2;width:100%}.dashboard-grid aside{order:1;width:100%}.page-head{margin-bottom:17px}}
.raw-status{margin-top:9px;font-size:11px;color:#687b94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline{display:grid;grid-template-columns:28px 1fr;gap:9px 10px;align-items:center;margin:15px 0}.pipeline>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#17263a;border:1px solid #2d405b;color:#9db8da;font-size:11px;font-weight:800}.pipeline strong,.pipeline small{display:block}.pipeline small{margin-top:2px}
#live-indicator.live-ok{border-color:rgba(34,197,94,.35)}
.inline{display:inline-flex;margin:0}.inline button{width:auto;margin:0;padding:7px 11px;background:#172235;color:#c8d4e4}.queue-item{border-top:1px solid #202b3a;padding:16px 0}.queue-item:first-of-type{border-top:0}.queue-item button{max-width:320px}.queue-item .grid .grid{gap:8px}
textarea{width:100%;border:1px solid #2a3749;border-radius:10px;background:#0a111b;color:#eef4fc;padding:12px 13px;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.pipeline-live{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px;margin-bottom:12px;border:1px solid #29405d;border-radius:12px;background:#0b1522}.pipeline-live small{display:block;margin-top:4px}.pipeline-live>.progress{grid-column:1/-1;margin:0}.completed{margin-top:12px;border-top:1px solid #202b3a;padding-top:12px}.completed summary{cursor:pointer;color:#9cabc0}.recovery-row form,.recovery-row{margin:0}.recovery-row button{flex:none}.settings textarea+small{display:block;margin-top:7px;line-height:1.45}@media(max-width:560px){.stats{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.recovery-row{flex-direction:column}.recovery-row .smallbtn{width:100%;margin-top:8px}}
.error-text{color:#ff8996!important}.diagnostic-item{border-top:1px solid #202b3a;padding:14px 0}.diagnostic-item summary{cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:space-between}.diagnostic-item p{color:#b8c5d6}.state-failed,.state-conflict{border-color:#65303a}.state-warning,.state-needs_mapping{border-color:#65502e}@media(max-width:620px){header{height:60px}.mobile-menu summary{padding:8px 10px}.mobile-menu div{position:fixed;right:12px;top:56px;left:12px;min-width:0}.mobile-menu form button{margin:4px 0;width:100%}.page-head{align-items:flex-start;gap:8px}.page-head h1{font-size:27px}.card-title{align-items:flex-start}.pipeline-live{grid-template-columns:minmax(0,1fr) auto;padding:12px}.queue-item .grid{grid-template-columns:1fr}.row{gap:8px}.row>.status{flex:none}.download-head{align-items:flex-start}.download-meta{font-size:11px}.card{border-radius:13px;margin-bottom:12px}input,select,button{min-height:44px}.stats{margin-bottom:12px}}
.search-box{margin-bottom:6px}

/* ============ Light theme override (default remains dark) ============ */
[data-theme="light"]{color-scheme:light}
[data-theme="light"] body{background:radial-gradient(circle at 50% -20%,#eef2fb 0,#f6f8fc 32%,#ffffff 68%);color:#0e1524}
[data-theme="light"] header{background:#ffffffcc;border-bottom-color:#e2e8f2}
[data-theme="light"] .logo{color:#0e1524}
[data-theme="light"] .logo span,[data-theme="light"] .version,[data-theme="light"] .pill{background:#eef1f8;border-color:#d7deea;color:#57667c}
[data-theme="light"] a{color:#42536b}
[data-theme="light"] a:hover{color:#0e1524}
[data-theme="light"] .stat,[data-theme="light"] .card{background:linear-gradient(180deg,#ffffff,#f7f9fc);border-color:#e1e7f0;box-shadow:0 10px 30px #0001}
[data-theme="light"] .stat-top{color:#5c6b81}
[data-theme="light"] .eyebrow{color:#7987a0}
[data-theme="light"] .muted,[data-theme="light"] small{color:#67768d}
[data-theme="light"] .meter,[data-theme="light"] .progress{background:#e4e9f2}
[data-theme="light"] .dropzone{border-color:#c7d1e0;background:#f5f7fb}
[data-theme="light"] .dropzone:hover{border-color:#8fa2c0;background:#eef2fa}
[data-theme="light"] .dropzone.drag-over{border-color:#3f6fc4;background:#e8f0ff}
[data-theme="light"] .dropicon{background:#eef1f8;border-color:#d7deea}
[data-theme="light"] label{color:#57667c}
[data-theme="light"] input,[data-theme="light"] select,[data-theme="light"] button,[data-theme="light"] textarea{border-color:#d7deea;background:#ffffff;color:#0e1524}
[data-theme="light"] input:focus,[data-theme="light"] select:focus{border-color:#8fa2c0;box-shadow:0 0 0 3px #8fa2c022}
[data-theme="light"] button{background:#0e1524;color:#fff}
[data-theme="light"] .inline button,[data-theme="light"] .smallbtn{background:#eef1f8;color:#33415a}
[data-theme="light"] .smallbtn.ghost{background:transparent;border-color:#d7deea;color:#42536b}
[data-theme="light"] .health-list,[data-theme="light"] .download,[data-theme="light"] .row,[data-theme="light"] .completed{border-top-color:#e7ecf3}
[data-theme="light"] .empty{border-color:#d7deea;color:#7987a0;background:#f5f7fb}
[data-theme="light"] .up{background:#e3f6ea;color:#1c8a4c}
[data-theme="light"] .warnbg{background:#fdf1de;color:#a2680c}
[data-theme="light"] .flash{background:#eef1f8;border-color:#d7deea}
[data-theme="light"] .flash.error{background:#fdeaec;border-color:#f3c6cc}
[data-theme="light"] .flash.ok{background:#e7f7ee;border-color:#bfe8cf}
[data-theme="light"] .toggle>span{background:#d7deea}
[data-theme="light"] .toggle>span:after{background:#fff}
[data-theme="light"] .toggle input:checked+span{background:#3f6fc4}
[data-theme="light"] .pipeline-live{border-color:#d7deea;background:#f5f7fb}
[data-theme="light"] pre{background:#f5f7fb;border-color:#e1e7f0;color:#42536b}
[data-theme="light"] .icon-btn{background:#eef1f8;color:#42536b}
[data-theme="light"] .bottom-nav{background:#fffffff2;border-top-color:#e1e7f0}
[data-theme="light"] .bottom-nav a,[data-theme="light"] .bottom-nav button{color:#67768d}
[data-theme="light"] .bottom-nav a.active{color:#0e1524}
[data-theme="light"] .sheet{background:#ffffff}
[data-theme="light"] .sheet a,[data-theme="light"] .sheet button{color:#0e1524;border-top-color:#e7ecf3}
[data-theme="light"] .toast{background:#ffffff;border-color:#d7deea;color:#0e1524}
[data-theme="light"] .swipe-action{background:#f6c9ce;color:#7a1c26}

/* ============ Header nav (desktop) ============ */
.desktop-nav{display:flex;align-items:center;gap:16px}
.desktop-nav a,.desktop-nav form.inline button{display:inline-flex;align-items:center;gap:6px}
.icon-btn{width:auto;padding:8px;background:#172235;color:#c8d4e4;border-radius:10px}
.icon-btn:hover{filter:brightness(1.1)}

/* ============ Bottom nav + "Mehr" sheet (mobile) ============ */
.bottom-nav{display:none}
.bottom-nav-spacer{display:none}
.sheet-backdrop,.sheet{display:none}
@media(max-width:620px){
  .desktop-nav{display:none}
  .bottom-nav-spacer{display:block;height:70px}
  .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:2px;
    background:#0c1220f2;backdrop-filter:blur(16px);border-top:1px solid #202c3d;
    padding:6px max(6px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom))}
  .bottom-nav a,.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:6px 2px;font-size:10px;color:#8998ad;background:none;border:0;width:auto;margin:0;min-height:0}
  .bottom-nav a.active{color:#eef4ff}
  .bottom-nav svg{width:20px;height:20px}
  .sheet-backdrop{position:fixed;inset:0;background:#00000066;z-index:35}
  .sheet-backdrop.open{display:block}
  .sheet{position:fixed;left:0;right:0;bottom:0;z-index:36;background:#111925;
    border-radius:18px 18px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));
    transform:translateY(100%);transition:transform .22s ease}
  .sheet.open{display:block;transform:translateY(0)}
  .sheet-handle{width:36px;height:4px;background:#2a3749;border-radius:99px;margin:4px auto 12px}
  .sheet a,.sheet button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;
    color:#eef4fc;padding:13px 4px;font:inherit;text-align:left;border-top:1px solid #202b3a;min-height:0}
  .sheet a:first-of-type{border-top:0}
  .sheet form{margin:0;width:100%}
}

/* ============ Toasts ============ */
#toast-root{position:fixed;left:0;right:0;bottom:24px;z-index:50;display:flex;flex-direction:column;
  align-items:center;gap:8px;pointer-events:none;padding:0 14px}
@media(max-width:620px){#toast-root{bottom:86px}}
.toast{pointer-events:auto;max-width:420px;width:100%;background:#111925;border:1px solid #2a3749;
  border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 40px #0006;
  animation:toast-in .18s ease}
.toast.ok{border-color:#204a35}
.toast.error{border-color:#57252f}
.toast .icon-ok{color:#55d98b;flex:none}
.toast .icon-error{color:#ff6577;flex:none}
.toast span{flex:1}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.toast.leaving{animation:toast-out .15s ease forwards}
@keyframes toast-out{to{opacity:0;transform:translateY(6px)}}

/* ============ Button loading state ============ */
.spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid currentColor;
  border-right-color:transparent;animation:spin .6s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
button.is-loading{opacity:.75;cursor:progress;pointer-events:none}

/* ============ Drag & drop dropzone ============ */
.dropzone.drag-over{border-color:#72a7ff;background:#101c30}

/* ============ Collapsible "Fertige Medien" fields ============ */
.queue-item-actions{display:flex;gap:8px;flex:none}
.queue-fields[hidden]{display:none}
.queue-fields{margin-top:10px}
.smallbtn.ghost{background:transparent;border:1px solid #2a3749;color:#c8d4e4}

/* ============ Swipe-to-reveal (import rows, touch only) ============ */
.swipe-item{position:relative;overflow:hidden}
.swipe-action{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;
  gap:6px;padding-right:18px;background:#57252f;color:#ffb3bb;font-size:13px;white-space:nowrap}
.swipe-content{position:relative;background:inherit;touch-action:pan-y}
.swipe-content.animating{transition:transform .18s ease}

/* ============ Weekly server audit ============ */
.audit-toolbar,.audit-meta{display:flex;align-items:center;justify-content:space-between;gap:18px}.audit-toolbar strong,.audit-toolbar small,.audit-meta strong,.audit-meta small{display:block}.audit-toolbar small,.audit-meta small{margin-top:4px}.audit-toolbar form{margin:0;flex:none}.audit-toolbar button{width:auto;margin:0;display:inline-flex;align-items:center;gap:7px}.audit-stats .audit-ok{color:#55d98b}.audit-stats .audit-warning{color:#f7be58}.audit-stats .audit-critical{color:#ff6577}.audit-policy{text-align:right}.audit-policy .pill{display:inline-block;margin-bottom:4px}.audit-section .card-title{margin-bottom:4px}.audit-check{border-top:1px solid #202b3a;padding:0}.audit-check:first-of-type{border-top:0}.audit-check summary{cursor:pointer;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;list-style:none}.audit-check summary::-webkit-details-marker{display:none}.audit-check summary strong,.audit-check summary small{display:block}.audit-check summary small{margin-top:3px}.audit-check pre{margin:0 0 14px 22px;max-height:340px;overflow:auto}.audit-dot{width:8px;height:8px;border-radius:50%;background:#55d98b}.audit-check-warning .audit-dot{background:#f7be58}.audit-check-critical .audit-dot{background:#ff6577}.audit-check-info .audit-dot{background:#72a7ff}.audit-history .row{color:inherit}.audit-history .row.selected{background:#142033;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;border-radius:10px}.audit-comparison .row:first-child,.audit-history .row:first-child{border-top:0}.empty-audit{text-align:center;padding:40px 18px}.settings-link{display:inline-block;width:auto;margin-top:14px;padding:10px 13px}
[data-theme="light"] .audit-check{border-top-color:#e7ecf3}[data-theme="light"] .audit-history .row.selected{background:#eef3fb}
@media(max-width:620px){.audit-toolbar,.audit-meta{align-items:flex-start;flex-direction:column}.audit-toolbar form,.audit-toolbar button{width:100%}.audit-policy{text-align:left}.audit-check summary{grid-template-columns:10px minmax(0,1fr)}.audit-check summary>.status{grid-column:2;justify-self:start}.audit-check pre{margin-left:0}.audit-history .row{align-items:flex-start}}

/* ============ Pipeline entry controls ============ */
.pipeline-side{display:flex;align-items:center;gap:10px;justify-content:flex-end;align-self:start}
.pipeline-side .smallbtn{width:auto;margin:0;padding:6px 9px;font-size:12px}
@media(max-width:620px){.pipeline-live{grid-template-columns:minmax(0,1fr) auto}.pipeline-side{flex-direction:column;align-items:flex-end;gap:6px}.pipeline-side .smallbtn{padding:5px 8px}.pipeline-live>.progress{grid-column:1/-1}}
