/* Plakat Mapper – gemeinsames Design
   Primärfarbe: Dunkelblau #004775 · Akzentfarbe: Hellblau #39A8DC */
:root{
  --pm-primary:#004775;
  --pm-primary-dark:#003557;
  --pm-accent:#39A8DC;
  --pm-accent-ring:rgba(57,168,220,.30);
  --pm-tint:#eaf5fb;
  --pm-soft:#f4f8fb;
  --pm-border:#cfe0ec;
  --pm-text:#13293b;
  --pm-muted:#5a7185;
  --pm-ok:#0f6b45; --pm-ok-bg:#e6f6ee; --pm-ok-line:#9bd9b9;
  --pm-err:#b42318; --pm-err-bg:#fdecea; --pm-err-line:#f4b8b1;
  --pm-warn:#8a5a00; --pm-warn-bg:#fff6e0; --pm-warn-line:#f0cf80;
  --pm-radius:12px;
  --pm-shadow:0 4px 18px rgba(0,71,117,.10);
}

/* Buttons */
.pm-btn,.pm-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:9px 16px; border-radius:10px; border:1.5px solid var(--pm-primary);
  background:#fff; color:var(--pm-primary); font-size:14px; font-weight:600; line-height:1.25;
  cursor:pointer; text-decoration:none; box-shadow:none; transition:background .15s,border-color .15s,box-shadow .15s;
}
.pm-btn:hover,.pm-btn:focus{background:var(--pm-tint); border-color:var(--pm-accent); color:var(--pm-primary); text-decoration:none;}
.pm-btn-primary,.pm-submit{background:var(--pm-primary); color:#fff; border-color:var(--pm-primary);}
.pm-btn-primary:hover,.pm-btn-primary:focus,.pm-submit:hover,.pm-submit:focus{background:var(--pm-primary-dark); border-color:var(--pm-primary-dark); color:#fff;}
.pm-btn-danger{border-color:var(--pm-err); color:var(--pm-err);}
.pm-btn-danger:hover,.pm-btn-danger:focus{background:var(--pm-err-bg); border-color:var(--pm-err); color:var(--pm-err);}
.pm-btn-warn{border-color:#d69a00; background:var(--pm-warn-bg); color:var(--pm-warn);}
.pm-btn-warn:hover,.pm-btn-warn:focus{background:#ffedbf; border-color:#d69a00; color:var(--pm-warn);}
.pm-btn-sm{padding:5px 11px; font-size:13px; border-radius:8px;}
.pm-btn-block{width:100%;}
.pm-btn:focus-visible,.pm-submit:focus-visible{outline:3px solid var(--pm-accent-ring); outline-offset:1px;}

/* Status-Chip (Farbpunkt = Statusfarbe, Text bleibt gut lesbar) */
.pm-chip{
  display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px;
  border:1.5px solid var(--c,#6b7280); background:#fff; color:var(--pm-primary);
  font-size:12px; font-weight:700; line-height:1.4; white-space:nowrap;
}
.pm-chip::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--c,#6b7280);}

/* Hinweise */
.pm-success,.pm-error,.pm-login-hint{padding:12px 14px; border-radius:10px; margin:0 0 14px; border:1px solid; border-left-width:5px; font-size:14px;}
.pm-success{background:var(--pm-ok-bg); border-color:var(--pm-ok-line); border-left-color:var(--pm-ok); color:#0b4f33;}
.pm-error{background:var(--pm-err-bg); border-color:var(--pm-err-line); border-left-color:var(--pm-err); color:#7a1710;}
.pm-login-hint{background:var(--pm-tint); border-color:var(--pm-border); border-left-color:var(--pm-accent); color:var(--pm-primary);}
.pm-login-hint a{color:var(--pm-primary); font-weight:700; text-decoration:underline;}
.pm-warn{display:inline-block; background:var(--pm-warn-bg); color:var(--pm-warn); border:1px solid var(--pm-warn-line); padding:2px 8px; border-radius:999px; font-size:12px; font-weight:600;}

/* Werkzeugleiste (Filter/Suche) */
.pm-tools{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 14px; padding:10px; background:#fff; border:1px solid var(--pm-border); border-radius:var(--pm-radius); box-shadow:var(--pm-shadow);}
.pm-tools select,.pm-tools input{flex:1 1 180px; min-width:0; box-sizing:border-box; padding:9px 12px; border:1.5px solid var(--pm-border); border-radius:10px; background:#fff; color:var(--pm-text); font-size:14px;}
.pm-tools select:focus,.pm-tools input:focus{outline:none; border-color:var(--pm-accent); box-shadow:0 0 0 3px var(--pm-accent-ring);}

/* Listen-Tabelle */
.pm-table{width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--pm-border); border-radius:var(--pm-radius); overflow:hidden; box-shadow:var(--pm-shadow); color:var(--pm-text);}
.pm-table th{text-align:left; padding:11px 14px; background:var(--pm-primary); color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.05em; border-bottom:3px solid var(--pm-accent);}
.pm-table td{padding:12px 14px; border-bottom:1px solid var(--pm-border); vertical-align:middle;}
.pm-table tbody tr:nth-child(even){background:var(--pm-soft);}
.pm-table tbody tr:hover{background:var(--pm-tint);}
.pm-table tbody tr:last-child td{border-bottom:0;}
.pm-table strong{color:var(--pm-primary);}
.pm-table small{color:var(--pm-muted);}
.pm-row-actions{display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap;}
@media(max-width:640px){
  .pm-table thead{display:none;}
  .pm-table,.pm-table tbody,.pm-table tr,.pm-table td{display:block; width:100%; box-sizing:border-box;}
  .pm-table{background:transparent; border:0; box-shadow:none;}
  .pm-table tr{background:#fff !important; border:1px solid var(--pm-border); border-left:6px solid var(--pm-primary); border-radius:var(--pm-radius); margin-bottom:12px; padding:6px 0;}
  .pm-table td{border:0; padding:6px 14px;}
  .pm-table td[data-label]:not([data-label="Plakat"])::before{content:attr(data-label) ": "; font-weight:700; font-size:12px; color:var(--pm-muted);}
  .pm-row-actions,.pm-status-actions{justify-content:flex-start; text-align:left;}
}
