:root {
  --orange:#f6a400;
  --orange2:#ff8a00;
  --dark:#162229;
  --dark2:#0f181e;
  --anth:#24333b;
  --bg:#f3f5f6;
  --line:#d9dee2;
  --text:#1d252b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
.top{background:linear-gradient(135deg,var(--dark2),var(--anth));color:#fff;display:flex;align-items:stretch;justify-content:space-between;min-height:86px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.brand{width:300px;background:rgba(0,0,0,.18);display:flex;align-items:center;gap:12px;padding:14px 22px;border-right:1px solid rgba(255,255,255,.12)}
.brand img{max-width:180px;max-height:60px;object-fit:contain;background:#fff;padding:5px;border-radius:4px}
.fallback-logo{background:var(--orange);color:#111;font-weight:900;font-size:34px;padding:8px 12px;border-radius:4px}
.appname{color:var(--orange);font-weight:700}
nav{display:flex;align-items:center;gap:8px;padding:16px 22px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;padding:9px 12px;border-radius:8px;font-weight:600}
nav a:hover{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#111}
.wrap{max-width:1240px;margin:28px auto;padding:0 20px}
h1{font-size:28px;margin:0 0 18px} h2{margin-top:0}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:18px 0;box-shadow:0 8px 20px rgba(20,30,35,.07)}
.card.dark{background:linear-gradient(135deg,var(--dark),var(--anth));color:#fff;border:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.metric-card{background:linear-gradient(135deg,var(--dark),var(--anth));color:#fff;border-radius:12px;padding:20px;min-height:120px;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.metric{font-size:36px;font-weight:800;color:#fff;margin-top:10px}.metric-label{color:#dfe7ea;font-size:14px}
label{display:block;font-weight:700;margin-top:13px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #bfc8ce;border-radius:7px;margin-top:6px;background:#fff}
textarea{min-height:86px}
button,.btn{display:inline-block;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#111;border:0;border-radius:7px;padding:11px 16px;text-decoration:none;cursor:pointer;margin-top:12px;font-weight:800}
.btn.secondary,button.secondary{background:#424c52;color:#fff}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
th,td{padding:11px;border-bottom:1px solid #e3e7e9;text-align:left;vertical-align:top}
th{background:var(--dark);color:#fff} tr:hover td{background:#fafafa}
.badge{padding:5px 9px;border-radius:999px;color:#fff;font-size:12px;font-weight:700}
.badge.ok{background:#2f8f46}.badge.no{background:#b00020}.badge.open{background:#e39d05;color:#111}
.flash{padding:13px;background:#fff3cd;border:1px solid #ffe69c;border-radius:8px;margin:12px 0}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.notice{border-left:5px solid var(--orange);padding:12px 14px;background:#fff8e8;border-radius:8px}
.summary{font-weight:800;background:#fff8e8}
footer{text-align:center;color:#777;margin:40px 0}.printbar{margin-bottom:15px}
@media(max-width:760px){.top{display:block}.brand{width:100%}nav{padding:10px}nav a{display:block}}
@media print{.top,.printbar,footer,.btn,button{display:none!important}.wrap{max-width:none;margin:0}body{background:#fff}.card{box-shadow:none;border:0}}


.report-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  border-bottom:4px solid var(--orange);
  padding:16px 0 14px;
  margin-bottom:18px;
}
.report-logo img{
  max-width:220px;
  max-height:75px;
  object-fit:contain;
}
.report-meta{
  text-align:right;
  line-height:1.45;
  font-size:13px;
}
.report-title{
  background:linear-gradient(135deg,var(--dark),var(--anth));
  color:#fff;
  padding:14px 18px;
  border-radius:10px;
  margin:12px 0 20px;
}
.report-title h2{
  margin:0 0 4px;
}
.employee-report{
  page-break-before:always;
}
.employee-report:first-of-type{
  page-break-before:auto;
}
@media print{
  .report-title{
    background:#24333b!important;
    color:#fff!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .report-head{
    page-break-after:avoid;
  }
  .employee-report{
    page-break-before:always;
  }
  .employee-report:first-of-type{
    page-break-before:auto;
  }
}


/* Version 3.5 - A4 Druckoptimierung */
.pdf-table th,
.pdf-table td{
  font-size:11px;
  padding:6px 7px;
  line-height:1.2;
}
.pdf-table th{
  white-space:nowrap;
}
.pdf-compact h3{
  margin-top:18px;
  margin-bottom:8px;
  color:#162229;
}
@media print{
  @page{
    size:A4 landscape;
    margin:10mm;
  }
  body{
    font-size:11px;
  }
  h1{
    display:none;
  }
  h2{
    font-size:16px;
  }
  h3{
    font-size:13px;
  }
  .card{
    padding:0;
    margin:10px 0 18px;
  }
  table{
    page-break-inside:auto;
  }
  tr{
    page-break-inside:avoid;
    page-break-after:auto;
  }
  .pdf-table th,
  .pdf-table td{
    font-size:10px;
    padding:4px 5px;
  }
  .report-logo img{
    max-width:170px;
    max-height:55px;
  }
  .report-meta{
    font-size:10px;
  }
  .report-title{
    padding:8px 12px;
    margin:8px 0 12px;
  }
}
