/* Ergänzungen: Übersicht, Upload, Fußzeile */
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1;width:100%}

/* Übersicht */
.dash-hero{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;border-radius:var(--radius);padding:1.4rem 1.4rem 1.3rem;margin-bottom:1rem;box-shadow:var(--shadow)}
@media (prefers-color-scheme:dark){.dash-hero{background:linear-gradient(135deg,#1f3a57 0%,#27507a 100%)}}
.dash-hero h1{color:#fff;margin:0 0 .8rem;font-size:1.5rem}
.dash-hero input{border-color:transparent;font-size:1.05rem;padding:.75rem .95rem}
.dash-hero .btn.primary{background:#fff;color:var(--accent);border-color:#fff}
@media (prefers-color-scheme:dark){.dash-hero .btn.primary{background:#e6e9ee;color:#12324f}}
a.kpi{color:var(--ink);text-decoration:none!important;transition:border-color .12s}
a.kpi:hover{border-color:var(--accent-2)}
.kpi.kpi-alert{border-color:var(--bad);background:var(--bad-soft)}
.kpi.kpi-alert b{color:var(--bad)}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;align-items:start}
.dash-col{display:flex;flex-direction:column}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.dash-dmg{display:grid;grid-template-columns:6.5rem 1fr auto auto;gap:.7rem;align-items:center;padding:.55rem .2rem;border-top:1px solid var(--line);color:var(--ink);font-size:.9rem;text-decoration:none!important}
.dash-dmg:hover,.dash-mail:hover,.dash-acc:hover{background:var(--accent-soft)}
.dd-title{display:flex;flex-direction:column;min-width:0}
.dash-mail{display:flex;flex-direction:column;padding:.5rem .2rem;border-top:1px solid var(--line);color:var(--ink);text-decoration:none!important;font-size:.9rem}
.dm-top{display:flex;justify-content:space-between;gap:.8rem}
.dm-from{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-subj{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.dash-acc{display:flex;align-items:center;gap:.6rem;padding:.45rem .2rem;border-top:1px solid var(--line);color:var(--ink);text-decoration:none!important;font-size:.9rem}
.da-name{flex:1}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.off{background:var(--line)}

/* Upload */
.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:1.6rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem;transition:border-color .12s,background .12s}
.dropzone.over{border-color:var(--accent-2);background:var(--accent-soft)}
.uplist{list-style:none;padding:0;margin:.6rem 0 0;max-height:260px;overflow:auto}
.uplist li{display:flex;justify-content:space-between;gap:.8rem;padding:.2rem 0;border-bottom:1px solid var(--line)}
.uplist li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uplist .ok{color:var(--ok)}.uplist .err{color:var(--bad)}

/* Fußzeile */
.site-footer{border-top:1px solid var(--line);background:var(--card);color:var(--muted);font-size:.8rem;margin-top:1.5rem}
.site-footer>div{max-width:1280px;margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between}
.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--accent)}
body.print .site-footer{display:none}
@media print{.site-footer{display:none}}

@media (max-width:900px){.dash-grid{grid-template-columns:1fr}}
@media (max-width:640px){
  .dash-dmg{grid-template-columns:1fr auto}
  .dash-dmg>span:first-child,.dash-dmg>span:last-child{display:none}
  .site-footer>div{flex-direction:column}
}

/* Dateien */
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.chip{padding:.3rem .8rem;border-radius:99px;border:1px solid var(--line);font-size:.85rem;color:var(--ink);text-decoration:none!important}
.chip:hover{border-color:var(--accent-2)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.files{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.file{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.6rem .9rem;border-top:1px solid var(--line)}
.file:first-child{border-top:0}
.file:hover{background:var(--accent-soft)}
.f-thumb{width:56px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background:var(--bg);text-decoration:none!important}
.f-thumb img{width:100%;height:100%;object-fit:cover}
.f-thumb .ficon{width:44px;height:30px}
.f-main{min-width:0}
.f-name{font-weight:600;word-break:break-word}
.f-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;white-space:nowrap}
@media (max-width:640px){.file{grid-template-columns:44px minmax(0,1fr)}.f-actions{grid-column:2;flex-direction:row;gap:1rem;align-items:flex-start}}
.progress-up{height:10px;background:var(--bg);border-radius:99px;overflow:hidden;margin:.8rem 0}
.progress-up .bar{height:100%;width:0;background:var(--accent);transition:width .4s}
