:root{
  --cw-navy:#08284d;
  --cw-blue:#2f6f9c;
  --cw-sky:#78b9eb;
  --cw-ink:#183247;
  --cw-muted:#647786;
  --cw-line:#cbd7df;
  --cw-bg:#eef3f6;
  --cw-panel:#fff;
  --cw-ok:#26734f;
  --cw-warn:#8a651d;
  --cw-bad:#a43f47;
  --shadow:0 18px 50px rgba(23,50,71,.12);
}
*{box-sizing:border-box}
html{background:var(--cw-bg)}
body{margin:0;color:var(--cw-ink);background:
  linear-gradient(rgba(255,255,255,.65) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.65) 1px,transparent 1px),
  var(--cw-bg);background-size:32px 32px;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
a{color:var(--cw-blue)}
button,input,select,textarea{font:inherit}
.admin-shell{width:min(1240px,calc(100% - 28px));margin:20px auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:14px 22px;color:#fff;background:linear-gradient(105deg,#fff 0 185px,#263c4c 185px,#304d60);border:1px solid #98aab7;border-radius:18px 18px 0 0;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:26px;color:#fff;text-decoration:none}
.brand img{width:128px;height:auto}
.brand span{display:grid;gap:1px}.brand strong{font-size:1.05rem}.brand small{color:#c8d9e5}
.topbar-user{display:flex;align-items:center;gap:12px}.topbar-user span{font-weight:800}.topbar-user a{padding:8px 12px;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:9px;text-decoration:none}
.mainnav{display:flex;gap:4px;align-items:center;padding:0 18px;background:#203746;border-radius:0 0 18px 18px;overflow:auto}
.mainnav a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;color:#d8e5ed;text-decoration:none;font-weight:800;white-space:nowrap;border-bottom:3px solid transparent}
.mainnav a:hover,.mainnav a.active{color:#fff;border-color:#efc15f}.mainnav .nav-api{margin-left:auto}
.page{margin-top:18px}
.footer{display:flex;justify-content:space-between;gap:16px;padding:18px 4px;color:#647786;font-size:.78rem}
.card{padding:28px;border:1px solid var(--cw-line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}
.card+.card{margin-top:18px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.eyebrow{margin:0 0 8px;color:var(--cw-blue);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
h1,h2,h3{margin-top:0;line-height:1.15}h1{margin-bottom:7px;font-size:clamp(2rem,5vw,3.3rem)}h2{font-size:1.35rem}.lead{margin:0;color:var(--cw-muted);font-size:1rem}
.actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;color:#fff;border:1px solid #2a668e;border-radius:9px;background:linear-gradient(#4c85ad,#2f6f9c);box-shadow:0 8px 18px rgba(37,91,129,.15);font-weight:800;text-decoration:none;cursor:pointer}
.btn:hover,button:hover{background:linear-gradient(#3f789f,#285f85)}
.btn.ghost,button.ghost{color:#31566f;border-color:#bdcbd5;background:#f7fafc;box-shadow:none}.btn.ghost:hover,button.ghost:hover{background:#eaf2f7}
.btn.danger,button.danger{border-color:#92343c;background:#a9434b}.btn.warn,button.warn{border-color:#8c6d27;background:#9f7a2a}
.btn.small,button.small{min-height:34px;padding:6px 9px;font-size:.75rem}.btn.block{width:100%}
.flash{margin-bottom:14px;padding:13px 15px;border:1px solid;border-radius:11px;font-weight:750}.flash--ok{color:#226445;background:#e5f4eb;border-color:#b8ddc8}.flash--warn{color:#78591c;background:#fff4d7;border-color:#efd79a}.flash--bad{color:#8d343c;background:#fde8e8;border-color:#e6babc}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.kpi{padding:16px;border:1px solid var(--cw-line);border-radius:13px;background:linear-gradient(145deg,#fff,#f0f6f9)}.kpi small,.kpi strong,.kpi span{display:block}.kpi small{color:#6b7d89;font-size:.67rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.kpi strong{margin-top:4px;color:var(--cw-navy);font-size:1.65rem}.kpi span{margin-top:2px;color:#738590;font-size:.75rem}
.table-wrap{overflow:auto;border:1px solid var(--cw-line);border-radius:14px}.table{width:100%;min-width:920px;border-collapse:collapse}.table th,.table td{padding:12px 13px;border-bottom:1px solid #d5e0e7;text-align:left;vertical-align:top}.table th{color:#617786;background:#edf3f7;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.table tr:last-child td{border-bottom:0}.table strong,.table small{display:block}.table small{margin-top:3px;color:#71838f}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:900}.badge::before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.badge--published{color:#26734f;background:#e4f4eb}.badge--draft{color:#68747c;background:#edf0f2}.badge--withdrawn{color:#9b3f46;background:#fae8e8}.badge--archived{color:#6b5d85;background:#eeeaf5}.badge--latest{color:#28668f;background:#e5f1f8}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.form-grid label{display:grid;gap:6px;color:#29485d;font-weight:800}.form-grid label small{color:#71838f;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;padding:10px 12px;color:var(--cw-ink);border:1px solid #c4d1da;border-radius:10px;background:#fff}.form-grid textarea{min-height:125px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(54,123,167,.15);border-color:#4c89b1}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #ccd8df;border-radius:10px;background:#f8fbfc}.check input{width:20px;min-height:20px;margin:1px 0 0;accent-color:var(--cw-blue)}
.section{padding:20px;border:1px solid var(--cw-line);border-radius:14px;background:#fff}.section+.section{margin-top:16px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2{margin-bottom:4px}.section-head p{margin:0;color:var(--cw-muted)}.list-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}.list-toolbar label{display:grid;gap:5px;color:#617786;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.list-toolbar select{min-height:38px;padding:7px 34px 7px 10px;border:1px solid #c4d1da;border-radius:9px;background:#fff;color:var(--cw-ink);font-weight:700}.list-toolbar .btn{min-height:38px;display:inline-flex;align-items:center}.list-toolbar__state{margin-left:auto;align-self:center;color:#71838f;font-size:.78rem;font-weight:700}
.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.info{padding:12px;border:1px solid #d1dce3;border-radius:10px;background:#f8fbfc}.info small,.info strong,.info code{display:block}.info small{color:#70818d;font-size:.65rem;font-weight:900;text-transform:uppercase}.info strong,.info code{margin-top:4px;overflow-wrap:anywhere}.info code{font-size:.72rem}
.notice{padding:13px 15px;border-left:4px solid var(--cw-blue);border-radius:8px;background:#eaf4fa;color:#31566e}.notice.warn{border-color:#ad7c20;background:#fff5dc;color:#74551b}.notice.bad{border-color:#a9434b;background:#fdecec;color:#873840}
.rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rank-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.rank-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.rank-list small{display:block;color:#71838f}.rank-list b{color:var(--cw-blue)}.bar{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#e3ebf0}.bar i{display:block;height:100%;background:linear-gradient(90deg,#2f6f9c,#78b9eb)}
.login-wrap{display:grid;place-items:center;min-height:calc(100dvh - 40px)}.login-card{width:min(520px,100%);padding:32px;border:1px solid var(--cw-line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:24px}.login-brand img{width:140px}.login-card h1{font-size:2rem}.login-card .form-grid{grid-template-columns:1fr}
.code{padding:12px;color:#dcecff;background:#152b3b;border-radius:9px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}
.empty{padding:36px;text-align:center;color:#6a7c89}.empty strong{display:block;color:#27485d;font-size:1.1rem}
.audit-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.audit-list li{padding:12px;border:1px solid #d1dce3;border-radius:10px;background:#f9fbfc}.audit-list strong{display:block}.audit-list small{color:#71838f}
@media(max-width:920px){.kpis,.info-grid{grid-template-columns:repeat(2,1fr)}.checks{grid-template-columns:1fr}.rank-grid{grid-template-columns:1fr}.brand span{display:none}}
@media(max-width:680px){.list-toolbar__state{width:100%;margin-left:0}.admin-shell{width:min(100% - 14px,1240px);margin:7px auto}.topbar{min-height:74px;padding:10px 14px;background:linear-gradient(105deg,#fff 0 165px,#263c4c 165px)}.brand img{width:118px}.topbar-user span{display:none}.mainnav{padding:0 8px}.mainnav a{padding:0 10px}.mainnav .nav-api{margin-left:0}.card{padding:18px;border-radius:14px}.page-head{display:block}.page-head .actions{margin-top:14px}.kpis,.info-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.footer{display:block}.footer span{display:block}.table{min-width:760px}}

/* Auto-Build: Fullsource-Vergleich und Paketgenerator */
.autobuild-baseline{background:linear-gradient(145deg,#f8fbfd,#edf5f9)}
.autobuild-form .section{scroll-margin-top:18px}
.autobuild-rules .info{min-height:94px}
.autobuild-rules strong{line-height:1.45}
button[disabled]{cursor:not-allowed;opacity:.48;box-shadow:none}
.notice.warn{border-color:#dfc48e;background:#fff7e7;color:#72521d}
@media(max-width:760px){.autobuild-rules{grid-template-columns:1fr}}

/* Hotfix 1.1.2 – Header/Branding repariert */
.topbar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:94px;
  padding:14px 20px;
  background:linear-gradient(180deg,#2d495c 0%,#243b4b 100%);
  overflow:hidden;
}
.topbar::before{
  content:"";
  position:absolute;
  left:18px;
  top:14px;
  bottom:14px;
  width:146px;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(8,40,77,.08), 0 10px 24px rgba(8,40,77,.12);
  z-index:0;
}
.brand{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:146px minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-width:0;
  color:#fff;
}
.brand img{
  width:116px;
  height:auto;
  margin:0 auto;
  display:block;
}
.brand span{
  display:grid;
  gap:2px;
  min-width:0;
}
.brand strong{
  font-size:1.12rem;
  line-height:1.15;
}
.brand small{
  color:#d4e2eb;
  line-height:1.15;
}
.topbar-user{
  position:relative;
  z-index:1;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:920px){
  .topbar{
    grid-template-columns:1fr;
    justify-items:stretch;
    gap:12px;
    min-height:auto;
  }
  .topbar-user{
    justify-content:flex-start;
  }
}
@media(max-width:680px){
  .topbar{
    padding:12px 14px;
    gap:10px;
  }
  .topbar::before{
    left:14px;
    top:12px;
    bottom:auto;
    height:72px;
    width:134px;
  }
  .brand{
    grid-template-columns:134px minmax(0,1fr);
    gap:14px;
  }
  .brand img{
    width:104px;
  }
  .brand span{
    display:grid;
  }
  .brand strong{font-size:1rem}
  .brand small{font-size:.78rem}
}
@media(max-width:460px){
  .topbar::before{
    width:122px;
    height:66px;
  }
  .brand{
    grid-template-columns:122px minmax(0,1fr);
    gap:12px;
  }
  .brand img{width:96px}
}

/* Release Server 1.2.0 – Auto-Build-Metadaten aus dem Fullsource */
.autobuild-upload-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.autobuild-upload-row input[type="file"]{
  min-width:0;
}
.autobuild-upload-row .btn{
  min-height:48px;
  white-space:nowrap;
}
.autobuild-inspection{
  margin-top:14px;
  padding:15px 16px;
  border:1px solid #bdd0dc;
  border-left:5px solid var(--cw-blue);
  border-radius:11px;
  background:#edf6fb;
  color:#2f536a;
}
.autobuild-inspection>strong{
  display:block;
  margin-bottom:8px;
  color:#193b51;
  font-size:.95rem;
}
.autobuild-inspection p{
  margin:8px 0 0;
  color:inherit;
}
.autobuild-inspection__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.autobuild-inspection__row{
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(91,132,157,.23);
  border-radius:8px;
  background:rgba(255,255,255,.72);
}
.autobuild-inspection__row strong,
.autobuild-inspection__row span{
  display:block;
}
.autobuild-inspection__row strong{
  color:#607887;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.autobuild-inspection__row span{
  margin-top:3px;
  color:#203f53;
  font:800 .78rem var(--font-tech);
  overflow-wrap:anywhere;
}
.autobuild-inspection__warnings{
  margin:10px 0 0;
  padding-left:20px;
}
.autobuild-inspection.is-loading{
  border-left-color:#6b8799;
  background:#f1f5f7;
  color:#576d7b;
}
.autobuild-inspection.is-ok{
  border-color:#abd3bf;
  border-left-color:#2f8a63;
  background:#edf8f2;
  color:#2d654c;
}
.autobuild-inspection.is-warn{
  border-color:#e1c58b;
  border-left-color:#ad7c20;
  background:#fff7e7;
  color:#74551b;
}
.autobuild-inspection.is-bad{
  border-color:#e4b7bb;
  border-left-color:#a9434b;
  background:#fdecec;
  color:#873840;
}
@media(max-width:900px){
  .autobuild-inspection__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .autobuild-upload-row{grid-template-columns:1fr}
  .autobuild-upload-row .btn{width:100%}
  .autobuild-inspection__grid{grid-template-columns:1fr}
}

/* Release Server 1.2.1 – Drag-&-Drop-Fullsource-Upload */
.autobuild-file-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.autobuild-file-label{
  color:#273b4b;
  font-size:.79rem;
  font-weight:800;
  letter-spacing:.012em;
}
.autobuild-upload-row{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
}
.autobuild-dropzone{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:154px;
  padding:22px 18px;
  border:2px dashed #a9bfcd;
  border-radius:14px;
  color:#456579;
  background:linear-gradient(145deg,#f9fcfe,#edf4f8);
  text-align:center;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.autobuild-dropzone:hover,
.autobuild-dropzone:focus-visible{
  border-color:#4a86ad;
  background:linear-gradient(145deg,#fbfdff,#e5f1f7);
  box-shadow:0 0 0 4px rgba(52,120,166,.10);
  outline:0;
}
.autobuild-dropzone.is-dragging{
  transform:translateY(-2px);
  border-color:#2f8a63;
  border-style:solid;
  background:linear-gradient(145deg,#f8fffb,#e4f5ec);
  box-shadow:0 0 0 5px rgba(47,138,99,.12),0 14px 30px rgba(33,82,61,.10);
}
.autobuild-dropzone.has-file{
  border-color:#6ba58a;
  background:linear-gradient(145deg,#fbfffd,#edf8f2);
}
.autobuild-dropzone input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.autobuild-dropzone__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:10px;
  border-radius:13px;
  color:#2f719c;
  background:#dcebf4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.autobuild-dropzone.is-dragging .autobuild-dropzone__icon,
.autobuild-dropzone.has-file .autobuild-dropzone__icon{
  color:#26734f;
  background:#d9efe3;
}
.autobuild-dropzone__icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
}
.autobuild-dropzone>strong{
  color:#213f53;
  font-size:1rem;
}
.autobuild-dropzone__hint{
  margin-top:3px;
  color:#6b7e8b;
  font-size:.76rem;
}
.autobuild-dropzone__file{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:29px;
  margin-top:12px;
  padding:5px 10px;
  border:1px solid #c6d5df;
  border-radius:999px;
  color:#4c6677;
  background:rgba(255,255,255,.82);
  font:800 .69rem var(--font-tech);
  overflow-wrap:anywhere;
}
.autobuild-dropzone.has-file .autobuild-dropzone__file{
  border-color:#a8d1bd;
  color:#245e43;
  background:#fff;
}
.autobuild-upload-row>.btn{
  align-self:stretch;
  min-width:190px;
}
@media(max-width:680px){
  .autobuild-dropzone{min-height:138px;padding:18px 14px}
  .autobuild-upload-row>.btn{min-width:0;width:100%}
}

/* Release Server 1.3.0 – sichtbare AJAX-Fullsource-Prüfung */
.autobuild-job__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.autobuild-job__head>div{min-width:0}
.autobuild-job__head strong{
  display:block;
  color:#193b51;
  font-size:1rem;
}
.autobuild-job__head p{
  margin:5px 0 0;
  overflow-wrap:anywhere;
}
.autobuild-job__percent{
  flex:0 0 auto;
  min-width:68px;
  padding:8px 10px;
  border:1px solid rgba(57,99,124,.22);
  border-radius:9px;
  background:rgba(255,255,255,.72);
  color:#193b51;
  font:900 .88rem var(--font-tech);
  text-align:center;
}
.autobuild-job__progress{
  position:relative;
  height:12px;
  margin-top:13px;
  overflow:hidden;
  border:1px solid rgba(69,106,128,.24);
  border-radius:999px;
  background:rgba(255,255,255,.76);
}
.autobuild-job__progress>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#426f8b,#2f8a63);
  transition:width .22s ease;
}
.autobuild-inspection.is-warn .autobuild-job__progress>span{background:linear-gradient(90deg,#b4852c,#d29d36)}
.autobuild-inspection.is-bad .autobuild-job__progress>span{background:linear-gradient(90deg,#a9434b,#d26068)}
.autobuild-job__stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.autobuild-job__stat{
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(91,132,157,.23);
  border-radius:8px;
  background:rgba(255,255,255,.62);
}
.autobuild-job__stat small,
.autobuild-job__stat strong{display:block}
.autobuild-job__stat small{
  color:#607887;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.autobuild-job__stat strong{
  margin-top:4px;
  color:#203f53;
  font:800 .77rem var(--font-tech);
  overflow-wrap:anywhere;
}
.autobuild-job__current{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin-top:10px;
  padding:8px 10px;
  border:1px solid rgba(91,132,157,.20);
  border-radius:8px;
  background:rgba(255,255,255,.48);
}
.autobuild-job__current small{
  color:#607887;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.autobuild-job__current code{
  min-width:0;
  overflow:hidden;
  color:#284b60;
  font-size:.72rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.autobuild-job__hint,
.autobuild-job__stalled{margin-top:10px!important}
.autobuild-job__stalled{
  padding:9px 11px;
  border:1px solid rgba(173,124,32,.26);
  border-radius:8px;
  background:rgba(255,247,231,.82);
  color:#74551b!important;
}
.autobuild-job__log{
  margin-top:11px;
  border:1px solid rgba(91,132,157,.22);
  border-radius:9px;
  background:rgba(255,255,255,.50);
}
.autobuild-job__log summary{
  padding:9px 11px;
  color:#31556b;
  font-size:.75rem;
  font-weight:900;
  cursor:pointer;
}
.autobuild-job__log ol{
  display:grid;
  gap:5px;
  max-height:220px;
  margin:0;
  padding:0 11px 11px;
  overflow:auto;
  list-style:none;
}
.autobuild-job__log li{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:8px;
  padding:5px 0;
  border-top:1px solid rgba(91,132,157,.13);
  color:#4c6879;
  font-size:.72rem;
}
.autobuild-job__log time{font-family:var(--font-tech);color:#78909f}
.autobuild-job__log li.is-ok span{color:#2f7656;font-weight:800}
.autobuild-job__log li.is-warn span{color:#8a651d;font-weight:800}
.autobuild-job__log li.is-error span{color:#9e3f47;font-weight:800}
.autobuild-job__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:11px;
}
.autobuild-job__actions .danger{
  color:#923941;
  border-color:#d6a6aa;
  background:#fff7f7;
}
.autobuild-inspection.is-loading .autobuild-job__percent::after{
  content:'';
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:7px;
  border-radius:50%;
  background:#4f7890;
  animation:cwrs-job-pulse 1.15s ease-in-out infinite;
}
@keyframes cwrs-job-pulse{
  0%,100%{opacity:.25;transform:scale(.78)}
  50%{opacity:1;transform:scale(1)}
}
@media(max-width:900px){
  .autobuild-job__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .autobuild-job__head{align-items:stretch;flex-direction:column}
  .autobuild-job__percent{align-self:flex-start}
  .autobuild-job__stats{grid-template-columns:1fr}
  .autobuild-job__current{grid-template-columns:1fr}
  .autobuild-job__log li{grid-template-columns:1fr}
}


/* Release Server 1.3.1 – gemeinsame Drag-&-Drop-Zone für Modul- und Vorlagenpakete */
.package-file-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.package-file-label{
  color:#29485d;
  font-weight:800;
}
.package-file-field>small{
  color:#71838f;
  font-weight:600;
}
.package-dropzone{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:146px;
  padding:20px 18px;
  border:2px dashed #a9bfcd;
  border-radius:14px;
  color:#456579;
  background:linear-gradient(145deg,#f9fcfe,#edf4f8);
  text-align:center;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.package-dropzone:hover,
.package-dropzone:focus-visible{
  border-color:#4a86ad;
  background:linear-gradient(145deg,#fbfdff,#e5f1f7);
  box-shadow:0 0 0 4px rgba(52,120,166,.10);
  outline:0;
}
.package-dropzone.is-dragging{
  transform:translateY(-2px);
  border-color:#2f8a63;
  border-style:solid;
  background:linear-gradient(145deg,#f8fffb,#e4f5ec);
  box-shadow:0 0 0 5px rgba(47,138,99,.12),0 14px 30px rgba(33,82,61,.10);
}
.package-dropzone.has-file{
  border-color:#6ba58a;
  background:linear-gradient(145deg,#fbfffd,#edf8f2);
}
.package-dropzone.is-error{
  border-color:#b64a52;
  background:linear-gradient(145deg,#fffafa,#fdecec);
}
.package-dropzone input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.package-dropzone__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:10px;
  border-radius:13px;
  color:#2f719c;
  background:#dcebf4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.package-dropzone.is-dragging .package-dropzone__icon,
.package-dropzone.has-file .package-dropzone__icon{
  color:#26734f;
  background:#d9efe3;
}
.package-dropzone.is-error .package-dropzone__icon{
  color:#8c353c;
  background:#f7dfe1;
}
.package-dropzone__icon svg{
  width:25px;
  height:25px;
}
.package-dropzone>strong{
  color:#213f53;
  font-size:1rem;
}
.package-dropzone__hint{
  margin-top:3px;
  color:#6b7e8b;
  font-size:.78rem;
}
.package-dropzone__file{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:30px;
  margin-top:12px;
  padding:5px 10px;
  border:1px solid #c6d5df;
  border-radius:999px;
  color:#4c6677;
  background:rgba(255,255,255,.85);
  font:800 .72rem var(--font-tech);
  overflow-wrap:anywhere;
}
.package-dropzone.has-file .package-dropzone__file{
  border-color:#a8d1bd;
  color:#245e43;
  background:#fff;
}
.package-dropzone.is-error .package-dropzone__file{
  border-color:#e0b2b6;
  color:#873840;
  background:#fff;
}
@media(max-width:680px){
  .package-dropzone{min-height:132px;padding:17px 13px}
}
