/* VENTAS Projekt-Info — modern theme (matches the ventas.de redesign) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap');

:root{
  --blue:#0c66a5; --blue-600:#095580; --blue-700:#07446b; --blue-050:#eaf3fa;
  --ink:#0f1c2e; --body:#37475a; --muted:#6b7c8f; --line:#e6ecf2;
  --bg:#f4f7fb; --card:#ffffff;
  --r:14px; --r-sm:10px;
  --sh-sm:0 1px 2px rgba(16,40,70,.06),0 1px 3px rgba(16,40,70,.08);
  --sh:0 10px 30px rgba(12,102,165,.10);
  --grad:linear-gradient(135deg,#0c66a5 0%,#073e63 60%,#0a2e49 100%);
}
*{box-sizing:border-box;}
body{font-family:'Inter',system-ui,Arial,sans-serif;font-size:15px;line-height:1.6;color:var(--body);
  background:var(--bg);margin:0;-webkit-font-smoothing:antialiased;}

#wrapper{max-width:1040px;margin:26px auto;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;}
#wrapper:before{content:"";display:block;height:4px;background:var(--grad);}

#head{display:flex;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:16px 26px;}
#head .logo{height:52px;width:auto;display:block;}
#head:after{content:"Projekt-Info";margin-left:auto;font-family:'Sora',sans-serif;font-weight:700;
  color:var(--blue);font-size:1.05rem;}

#kd-data{padding:12px 26px;background:var(--blue-050);border-bottom:1px solid var(--line);
  color:var(--ink);font-size:.92rem;}
#kd-data b{color:var(--blue-700);}
#kd-data a{color:var(--blue);text-decoration:none;font-weight:600;}
#kd-data a:hover{color:var(--blue-600);text-decoration:underline;}

#info-text{padding:20px 26px 0;}
#info-text #text,#text{font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:800;color:var(--ink);}

#content{padding:18px 26px 30px;}
h1,h2,h3{font-family:'Sora',sans-serif;color:var(--ink);line-height:1.2;letter-spacing:-.01em;}
h3{color:var(--blue-700);font-size:1.2rem;margin:1.7rem 0 .6rem;}
a{color:var(--blue);}
a:hover{color:var(--blue-600);}

/* job overview table */
table{border-collapse:collapse;width:100%;background:#fff;}
table.jobs{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-sm);margin:.4rem 0 1.2rem;}
table.jobs th,table.jobs td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;}
table.jobs th{background:var(--blue);color:#fff;font-weight:600;border-bottom:none;position:sticky;top:0;}
table.jobs tbody tr:last-child td{border-bottom:none;}
table.jobs tbody tr:hover td{background:var(--blue-050);}
table.jobs tr.projekt td{background:#fff7ed;}
table.jobs tr.projekt:hover td{background:#ffedd5;}
table.jobs tr.wartung td{background:#fefce8;}
table.jobs tr.wartung:hover td{background:#fef9c3;}
table.jobs a{color:var(--blue);font-weight:600;text-decoration:none;}
table.jobs a:hover{text-decoration:underline;}

/* detail table */
table.detail{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-sm);margin:.4rem 0 1rem;}
table.detail td{padding:11px 14px;border-bottom:1px solid var(--line);}
table.detail tr:last-child td{border-bottom:none;}
.lbl{background:var(--blue-050);font-weight:600;color:var(--ink);width:180px;}
.tx{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px;line-height:1.6;}

.error{color:#9b1c1c;font-weight:600;background:#fde8e8;border:1px solid #f5c2c2;
  border-radius:var(--r-sm);padding:11px 14px;}

.bild{margin:12px 0;}
.bild img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:4px;background:#fff;box-shadow:var(--sh-sm);}
.bild a{color:var(--blue);text-decoration:none;}

#spacer{height:8px;}
#foot{padding:18px 26px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);background:#fafcfe;}

@media (max-width:560px){
  #wrapper{margin:0;border-radius:0;border-left:none;border-right:none;}
  #head,#kd-data,#info-text,#content,#foot{padding-left:16px;padding-right:16px;}
  #head:after{display:none;}
  .lbl{width:auto;}
}

/* ---------- status badge ---------- */
.st{display:inline-block;padding:.18rem .55rem;border-radius:6px;font-size:.8rem;font-weight:700;line-height:1.5;white-space:nowrap;}
.st-ok{background:#e3f6ec;color:#1a7f4b;border:1px solid #bce3cd;}    /* soft green = OK */
.st-open{background:#fff3e0;color:#9a5b00;border:1px solid #f3d9b0;}  /* soft amber = open */
table.jobs .termin{white-space:nowrap;}
table.jobs th{white-space:nowrap;}
.clip{text-decoration:none;margin-left:.35rem;}
