/* Shared feedback/validation/confirmation UI. Component-scoped; no sidebar/PDF ownership. */
.app-feedback-banner{position:relative;display:flex;align-items:flex-start;gap:11px;padding:13px 44px 13px 14px!important;border:1px solid transparent!important;border-radius:15px!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important;line-height:1.65}.app-feedback-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.7)}.app-feedback-copy{display:grid;gap:2px;min-width:0;flex:1}.app-feedback-title{font-size:.92rem;font-weight:900}.app-feedback-message{font-size:.84rem;font-weight:650}.app-feedback-close{position:absolute;inset-inline-end:10px;inset-block-start:10px;width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:currentColor;opacity:.72;cursor:pointer}.app-feedback-close:hover,.app-feedback-close:focus-visible{opacity:1;background:rgba(255,255,255,.7);outline:2px solid rgba(15,23,42,.12)}
.app-field-invalid,.form-input.app-field-invalid,[aria-invalid="true"]{border-color:#dc6b65!important;box-shadow:0 0 0 3px rgba(220,107,101,.12)!important;background:#fffafa!important}.app-field-error{display:block;margin-top:5px;color:#a63030;font-size:.76rem;font-weight:750;line-height:1.55}.app-field-error i{margin-inline-end:5px}.app-field-valid{border-color:#5ab695!important}
.app-report-beneficiary-results{position:absolute;z-index:80;inset-inline:0;top:calc(100% + 5px);max-height:300px;overflow:auto;padding:6px;border:1px solid #d9e5e9;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(15,38,51,.14)}.app-report-beneficiary-result{display:grid;width:100%;gap:2px;padding:10px 11px;border:0;border-bottom:1px solid #eef3f5;background:#fff;text-align:right;cursor:pointer;border-radius:9px}.app-report-beneficiary-result:last-child{border-bottom:0}.app-report-beneficiary-result:hover,.app-report-beneficiary-result:focus-visible{background:#eff8f5;outline:2px solid rgba(8,114,90,.12)}.app-report-beneficiary-result strong{color:#17394a;font-size:.87rem}.app-report-beneficiary-result span{color:#687f8a;font-size:.75rem}.app-report-beneficiary-empty{padding:13px;text-align:center;color:#6b818b;font-size:.8rem}
/* Deliberately namespaced: report-ux-fixes.css has a legacy .app-confirm-* modal used only by report download flows. */
.app-feedback-confirm-overlay{position:fixed;inset:0;z-index:110000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}.app-feedback-confirm-overlay[hidden]{display:none!important}.app-feedback-confirm-card{width:min(480px,100%);border:1px solid #d9e5e9;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24);overflow:hidden;direction:rtl;text-align:right;color:#193444}.app-feedback-confirm-head{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;padding:20px 20px 12px}.app-feedback-confirm-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#fff3df;color:#9a650d;font-size:1.1rem}.app-feedback-confirm-copy{display:grid!important;gap:5px;min-width:0;visibility:visible!important;opacity:1!important}.app-feedback-confirm-copy strong{display:block!important;font-size:1rem!important;font-weight:900!important;line-height:1.5!important;color:#193444!important;visibility:visible!important;opacity:1!important}.app-feedback-confirm-copy p{display:block!important;margin:0!important;color:#5c7380!important;font-size:.86rem!important;line-height:1.75!important;visibility:visible!important;opacity:1!important}.app-feedback-confirm-details{margin:0 20px 14px;padding:10px 12px;border-radius:12px;background:#f4f8fa;color:#45616f;font-size:.8rem;line-height:1.6}.app-feedback-confirm-actions{display:flex;justify-content:flex-start;gap:9px;padding:14px 20px 18px;border-top:1px solid #edf2f4;background:#fff}.app-feedback-confirm-card.is-danger .app-feedback-confirm-icon{background:#fff0f0;color:#b53636}.app-feedback-confirm-card.is-primary .app-feedback-confirm-icon{background:#e9f7f3;color:#08725a}.app-feedback-confirm-actions .btn{min-width:112px}
@media(max-width:640px){.app-feedback-banner{padding:11px 40px 11px 11px!important;font-size:.85rem}.app-feedback-title{font-size:.87rem}.app-feedback-message{font-size:.8rem}.app-report-beneficiary-results{position:fixed;inset-inline:12px;top:auto;bottom:12px;max-height:44vh;z-index:10020;border-radius:18px}.app-feedback-confirm-overlay{padding:12px;align-items:end}.app-feedback-confirm-card{width:100%;border-radius:20px 20px 15px 15px}.app-feedback-confirm-head{grid-template-columns:40px minmax(0,1fr);padding:17px 16px 11px}.app-feedback-confirm-icon{width:40px;height:40px}.app-feedback-confirm-details{margin-inline:16px}.app-feedback-confirm-actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px 16px}.app-feedback-confirm-actions .btn{width:100%;min-width:0}}
@media(max-width:380px){.app-feedback-confirm-actions{grid-template-columns:1fr}.app-feedback-icon{display:none}.app-feedback-banner{padding-inline-start:11px!important}.app-feedback-confirm-head{grid-template-columns:36px minmax(0,1fr);gap:9px}.app-feedback-confirm-icon{width:36px;height:36px;font-size:1rem}.app-feedback-confirm-copy strong{font-size:.94rem!important}.app-feedback-confirm-copy p{font-size:.8rem!important}}
@media(prefers-reduced-motion:reduce){.app-feedback-banner,.app-feedback-confirm-card{scroll-behavior:auto!important;transition:none!important}}

/* Programmatic feedback fallback used on pages without a dedicated message slot. */
.app-feedback-toast-stack{position:fixed;z-index:120500;inset-block-start:16px;inset-inline-start:16px;width:min(420px,calc(100vw - 32px));display:grid;gap:9px;pointer-events:none}.app-feedback-toast{pointer-events:auto;background:#fff!important;animation:appFeedbackToastIn .18s ease-out}.app-feedback-toast.app-flash-error{border-color:#efb7b7!important}.app-feedback-toast.app-flash-warning{border-color:#efd69f!important}.app-feedback-toast.app-flash-success{border-color:#a9dfc9!important}@keyframes appFeedbackToastIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@media(max-width:640px){.app-feedback-toast-stack{inset-block-start:10px;inset-inline:10px;width:calc(100vw - 20px)}}@media(prefers-reduced-motion:reduce){.app-feedback-toast{animation:none}}


/* Enjaz V16.8 — Manage CRUD feedback stays visible regardless of scroll depth. */
.app-page-manage .app-manage-feedback-toast-stack{
  inset-inline:0!important;
  inset-block-start:max(12px,env(safe-area-inset-top))!important;
  width:min(520px,calc(100vw - 24px))!important;
  margin-inline:auto!important;
}
.app-page-manage .app-manage-feedback-toast{
  min-height:54px;
  align-items:center;
  border-width:1px!important;
  box-shadow:0 18px 46px rgba(15,23,42,.16)!important;
}
.app-page-manage .app-manage-feedback-toast .app-feedback-message{font-size:.88rem;font-weight:800;line-height:1.6}
.app-page-manage .app-manage-feedback-toast.app-flash-success{background:#f2fbf7!important;color:#0b694d!important;border-color:#9fd9c1!important}
.app-page-manage .app-manage-feedback-toast.app-flash-error{background:#fff5f5!important;color:#963434!important;border-color:#efb2b2!important}
.app-page-manage .app-manage-feedback-toast.app-flash-warning{background:#fffaf0!important;color:#805917!important;border-color:#ecd196!important}
.app-page-manage .app-feedback-confirm-card.is-danger .app-feedback-confirm-actions [data-confirm-accept]{background:#b83d3d!important;border-color:#b83d3d!important;color:#fff!important}
@media(max-width:640px){
  .app-page-manage .app-manage-feedback-toast-stack{inset-block-start:max(8px,env(safe-area-inset-top))!important;width:calc(100vw - 16px)!important}
  .app-page-manage .app-manage-feedback-toast{min-height:50px;border-radius:14px!important}
}


/* Enjaz V16.9 — compact management toasts and live validation. */
.app-page-manage .app-manage-feedback-toast-stack{width:min(430px,calc(100vw - 24px))!important;inset-block-start:max(14px,env(safe-area-inset-top))!important}
.app-page-manage .app-manage-feedback-toast{min-height:58px!important;padding:12px 46px 12px 13px!important;border-radius:16px!important;animation:manageToastPop .22s cubic-bezier(.2,.8,.2,1)!important}
.app-page-manage .app-manage-feedback-toast .app-feedback-icon{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:50%!important;font-size:1rem!important}
.app-page-manage .app-manage-feedback-toast.app-flash-success .app-feedback-icon{background:#d7f5e8!important;color:#07835d!important}
.app-page-manage .app-manage-feedback-toast.app-flash-error .app-feedback-icon{background:#ffe1e1!important;color:#b63232!important}
.app-page-manage .manage-live-validation{display:flex!important;align-items:flex-start!important;gap:6px!important;margin-top:6px!important;padding:7px 9px!important;border-radius:9px!important;font-size:.74rem!important;font-weight:800!important;line-height:1.55!important}
.app-page-manage .manage-live-validation.is-error{background:#fff1f1!important;color:#a82d2d!important;border:1px solid #f0b4b4!important}
.app-page-manage .manage-live-validation.is-success{background:#effaf6!important;color:#08745a!important;border:1px solid #b9e5d5!important}
.app-page-manage .manage-live-invalid{border-color:#db5555!important;box-shadow:0 0 0 3px rgba(219,85,85,.12)!important;background:#fffafa!important}
.app-page-manage .manage-live-valid{border-color:#57b695!important;box-shadow:0 0 0 2px rgba(87,182,149,.08)!important}
@keyframes manageToastPop{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:640px){.app-page-manage .app-manage-feedback-toast-stack{width:calc(100vw - 18px)!important;inset-block-start:max(9px,env(safe-area-inset-top))!important}.app-page-manage .app-manage-feedback-toast{min-height:54px!important;padding-block:10px!important}.app-page-manage .manage-live-validation{font-size:.72rem!important}}


/* Enjaz V16.9.2 — management result toasts always use the current viewport center.
   position:fixed makes this independent from page scroll and the active tab. */
.app-page-manage .app-manage-feedback-toast-stack{
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset-block-start:auto!important;
  inset-inline-start:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(430px,calc(100vw - 24px))!important;
  z-index:2147482990!important;
  max-height:calc(100dvh - 32px)!important;
  pointer-events:none!important;
}
.app-page-manage .app-manage-feedback-toast{
  pointer-events:auto!important;
  box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}
@media(max-width:640px){
  .app-page-manage .app-manage-feedback-toast-stack{
    width:calc(100vw - 28px)!important;
  }
}
