
.p7recovery{--a:#2c6e9f;--bg:#f5f9fc;--bd:#cfe0eb;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;margin:14px 0;padding:14px;border:1px solid var(--bd);border-radius:14px;background:var(--bg);color:#173650}
.p7recovery.is-warning{--a:#996800;--bg:#fffaf0;--bd:#ecd59b}.p7recovery.is-error{--a:#a73535;--bg:#fff7f7;--bd:#e8c2c2}.p7recovery.is-admin{--a:#6c4e9b;--bg:#faf7ff;--bd:#dacceb}
.p7recovery-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff;color:var(--a);font-size:18px;font-weight:900;border:1px solid var(--bd)}
.p7recovery-body>small{display:block;margin-bottom:2px;color:var(--a);font-size:9px;font-weight:900;letter-spacing:.09em}.p7recovery h3{margin:0 0 10px;font-size:15px}
.p7recovery dl{display:grid;gap:8px;margin:0}.p7recovery dl>div{display:grid;grid-template-columns:minmax(118px,145px) minmax(0,1fr);gap:10px}.p7recovery dt{font-size:11px;font-weight:850;color:#35556d}.p7recovery dd{margin:0;font-size:11px;line-height:1.48;color:#51697c}
.p7recovery-details{margin-top:10px}.p7recovery-details summary{cursor:pointer;color:#526c80;font-size:10px;font-weight:800}.p7recovery-details p{margin:6px 0 0;color:#687f91;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}
.p7recovery-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.p7recovery-action{min-height:38px;padding:8px 12px;border:1px solid #cddde8;border-radius:9px;background:#fff;color:#294d68;font-weight:750;text-decoration:none;cursor:pointer}.p7recovery-action.is-primary{border-color:var(--a);background:var(--a);color:#fff}
.p7recovery-action:focus-visible,.p7recovery summary:focus-visible{outline:3px solid #e0aa31;outline-offset:2px}
@media(max-width:640px){.p7recovery{grid-template-columns:34px minmax(0,1fr);padding:12px}.p7recovery-icon{width:34px;height:34px}.p7recovery dl>div{grid-template-columns:1fr;gap:2px}}


/* Punkt7 2.5.7.2 — Form & Validation Recovery */
.p7field-error{
  display:flex;align-items:flex-start;gap:6px;
  margin:6px 0 0;padding:7px 9px;
  border:1px solid #e5c38a;border-radius:8px;
  background:#fffaf0;color:#6f4f12;
  font-size:10px;line-height:1.4
}
.p7field-error>span:first-child{
  flex:0 0 17px;display:grid;place-items:center;
  width:17px;height:17px;border-radius:50%;
  background:#fff0c6;color:#8c6200;
  font-size:10px;font-weight:900
}
.has-recovery-error>span,
.has-recovery-error>strong{
  color:#7a5600
}
.p7s-app :is(input,select,textarea)[aria-invalid="true"]{
  border-color:#b97900!important;
  box-shadow:0 0 0 2px rgba(185,121,0,.10)!important
}
.p7s-app :is(input,select,textarea)[aria-invalid="true"]:focus{
  outline:3px solid #e0aa31!important;
  outline-offset:2px!important;
  box-shadow:none!important
}
.p7validation-summary{
  margin:0 0 16px!important;
  scroll-margin-top:18px
}
.p7validation-summary .p7recovery-actions{
  margin-top:10px
}
@media(max-width:640px){
  .p7field-error{font-size:10px}
}

.p7pub-recovery-panel{margin:0 0 16px;padding:14px;border:1px solid #d7e3eb;border-radius:15px;background:#fbfdff;box-shadow:0 8px 22px rgba(18,52,78,.055)}
.p7pub-recovery-panel[hidden]{display:none!important}.p7pub-recovery-head{display:flex;justify-content:space-between;gap:12px}.p7pub-recovery-head small{display:block;color:#6b8294;font-size:9px;font-weight:900;letter-spacing:.09em}.p7pub-recovery-head strong{display:block;margin-top:2px;color:#173850;font-size:14px}
.p7pub-recovery-close{width:30px;height:30px;border:1px solid #d5e1e9;border-radius:9px;background:#fff;color:#536c7e;font-size:17px;cursor:pointer}.p7pub-recovery-close:focus-visible{outline:3px solid #e0aa31;outline-offset:2px}
.p7pub-recovery-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.p7pub-recovery-channels>div{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #dce6ed;border-radius:10px;background:#fff}.p7pub-recovery-channels>div>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eef4f8;color:#49677d;font-weight:900}.p7pub-recovery-channels>div>div{display:flex;flex-direction:column}.p7pub-recovery-channels strong{font-size:10px;color:#294a62}.p7pub-recovery-channels small{font-size:8px;color:#738899}
.p7pub-recovery-channels .is-success{border-color:#b9dfcc;background:#f7fcf9}.p7pub-recovery-channels .is-success>span{background:#e7f6ee;color:#14885a}.p7pub-recovery-channels .is-error{border-color:#e7c2c2;background:#fff8f8}.p7pub-recovery-channels .is-error>span{background:#fceaea;color:#a43838}.p7pub-recovery-channels .is-pending{border-color:#ecd79d;background:#fffbf1}.p7pub-recovery-channels .is-off{opacity:.78}
.p7pub-recovery-message{margin-top:12px;padding-top:11px;border-top:1px solid #e4ebf0}.p7pub-recovery-message h3{margin:0 0 9px;color:#173850;font-size:14px}.p7pub-recovery-message dl{display:grid;gap:6px;margin:0}.p7pub-recovery-message dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:9px}.p7pub-recovery-message dt{font-size:10px;font-weight:850;color:#35556d}.p7pub-recovery-message dd{margin:0;color:#586f81;font-size:10px;line-height:1.45}.p7pub-recovery-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
@media(max-width:700px){.p7pub-recovery-channels{grid-template-columns:1fr}.p7pub-recovery-message dl>div{grid-template-columns:1fr;gap:2px}}


/* Punkt7 2.5.7.4 — Radar / Case View / Assignment Recovery */
.p7case-recovery-slot,
.p7case-recovery-inline,
.p7assignment-recovery{
  margin:0 0 12px;
}
.p7case-recovery-inline:empty,
.p7case-recovery-slot:empty,
.p7assignment-recovery:empty{display:none}
.p7case-recovery-inline .p7recovery,
.p7case-recovery-slot .p7recovery,
.p7assignment-recovery .p7recovery{
  margin:0;
}
.p7case-recovery-inline .p7recovery{
  border-radius:12px;
}
@media(max-width:640px){
  .p7case-recovery-slot,
  .p7case-recovery-inline,
  .p7assignment-recovery{margin-bottom:10px}
}


/* Punkt7 2.5.7.5 — Network / Session / Data Source Recovery */
.p7infra-recovery-host{position:relative;z-index:5;margin:0 0 14px}
.p7infra-recovery-host:empty{display:none}
.p7infra-recovery-host .p7recovery{margin:0}
.p7infra-recovery-host .p7recovery[data-infra-recovery-code="OFFLINE_MODE"]{
  border-style:dashed
}
@media(max-width:640px){
  .p7infra-recovery-host{margin-bottom:10px}
}
