/* One visual language for confirmations, edit dialogs, login and toast feedback. */
:root{--feedback-blue:#075ba6;--feedback-ink:#173f5e;--feedback-muted:#748b9e;--feedback-border:#dfE9f1;--feedback-red:#c91e38;}
.feedback-open{overflow:hidden;}
.feedback-overlay,.modal-overlay{background:#07233e66;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:24px;}
.feedback-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;animation:feedbackFade .18s ease-out;}
.feedback-dialog{position:relative;width:min(100%,460px);max-height:calc(100dvh - 48px);overflow:auto;background:#fff;border:1px solid #ffffffc0;border-radius:22px;padding:30px;box-shadow:0 28px 90px #082b4c35;animation:feedbackEnter .28s cubic-bezier(.16,1,.3,1);color:var(--feedback-ink);}
.feedback-close{position:absolute;top:16px;right:16px;border:0;background:#f3f7fa;color:#7690a4;border-radius:10px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;}
.feedback-close:hover{background:#e8f0f6;color:#234f70;}.feedback-close .ux-icon{width:15px;height:15px;}
.feedback-symbol{width:54px;height:54px;border:1px solid #dceaf6;border-radius:17px;background:#eef6fd;color:var(--feedback-blue);display:grid;place-items:center;margin-bottom:23px;box-shadow:0 0 0 5px #f7fbfe;}
.feedback-symbol .ux-icon{width:26px;height:26px;}.feedback-dialog.is-danger .feedback-symbol{background:#fff0f2;border-color:#f6d7dd;color:var(--feedback-red);box-shadow:0 0 0 5px #fff8f9;}
.feedback-eyebrow{display:block;color:#8299ac;font-size:8px;letter-spacing:1.6px;font-weight:800;}.feedback-dialog h3{font-size:23px;letter-spacing:-.7px;line-height:1.3;margin:9px 0 12px;color:var(--feedback-ink);}
.feedback-dialog #feedbackDescription{white-space:pre-line;font-size:13px;color:#678196;line-height:1.85;margin:0;overflow-wrap:anywhere;}
.feedback-caution{display:flex;align-items:flex-start;gap:8px;background:#fff6f0;border:1px solid #f8e6d8;color:#a5764d;padding:11px 12px;border-radius:11px;font-size:10px;line-height:1.6;margin-top:20px;}.feedback-caution .ux-icon{flex:none;width:15px;height:15px;}
.feedback-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;border-top:1px solid #eaf0f5;padding-top:20px;}.feedback-actions .btn{min-height:42px;padding:11px 17px;border-radius:10px;font-size:12px;font-weight:750;justify-content:center;}
.feedback-cancel{border:1px solid #dfe9f1;background:#fff;color:#668399;}.feedback-cancel:hover{background:#f3f7fb;color:#214f70;}
.feedback-accept.btn-danger{background:var(--feedback-red);border-color:var(--feedback-red);color:#fff;box-shadow:0 5px 13px #c91e3817;}.feedback-accept.btn-danger:hover{background:#b21830;color:#fff;border-color:#b21830;}
.feedback-input-label{display:block;font-size:11px;font-weight:750;margin:22px 0 8px;}.feedback-input-wrap{display:flex;position:relative;}.feedback-input-wrap input{width:100%;padding-right:64px;min-height:44px;}.feedback-password-toggle{position:absolute;right:6px;top:6px;bottom:6px;padding:0 10px;border:0;border-radius:7px;background:#edf5fc;color:#075ba6;font-size:10px;font-weight:750;cursor:pointer;}
.feedback-input-error{color:#c91e38;font-size:11px;line-height:1.6;margin:7px 0 0;}.feedback-input-error:empty{display:none;}.feedback-input-wrap input[aria-invalid=true]{border-color:#d95065;}
.feedback-overlay :focus-visible,.modal-overlay :focus-visible{outline:3px solid #6ca9d155;outline-offset:3px;}
.modal-overlay .modal{border:1px solid #e2ecf4;border-radius:20px;box-shadow:0 25px 85px #0a315738;animation:feedbackEnter .25s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
.modal-head{background:#fff;border-bottom:1px solid #e7eff6!important;padding:22px 25px;gap:16px;}.modal-head h3{font-size:18px;letter-spacing:-.4px;color:var(--feedback-ink);line-height:1.5;}.modal-head .modal-close{width:30px;height:30px;border-radius:9px;border:0;background:#f1f6fa;color:#7a91a5;flex-shrink:0;font-size:17px;}
.modal-body{padding:23px 25px;}.modal-foot{background:#f8fbfd;border-top:1px solid #e7eff6;padding:17px 25px;gap:10px;}.modal-foot .btn{border-radius:10px;min-height:39px;}.modal-body .form-row label{color:#476b86;font-weight:700;font-size:11px;}.modal-body .help-text{line-height:1.8;color:#849aab;}
.auth-card{border-radius:22px;box-shadow:0 24px 85px #0a315735;}.auth-error{border-radius:10px;border:1px solid #f4d3dc;background:#fff2f5;color:#b32740;padding:11px 13px;font-size:12px;line-height:1.65;}
#toast.toast{position:fixed;top:auto;bottom:24px;left:auto;right:24px;z-index:11000;width:min(390px,calc(100vw - 32px));max-width:none;display:flex;flex-direction:column;gap:10px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;opacity:0;transform:none;pointer-events:none;animation:none;}
#toast.toast.show{opacity:1;transform:none;animation:none;}
.feedback-toast{--feedback-accent:#075ba6;--feedback-tint:#eff6fd;display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:14px;border:1px solid #dfe9f1;background:#fff;box-shadow:0 9px 35px #0a315717;pointer-events:auto;color:var(--feedback-ink);animation:feedbackToast .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;}
.feedback-toast.success{--feedback-accent:#178568;--feedback-tint:#eaf8f2;}.feedback-toast.error{--feedback-accent:#c22943;--feedback-tint:#fff0f3;}.feedback-toast.warning{--feedback-accent:#af7919;--feedback-tint:#fff7e5;}
.feedback-toast .ux-toast-icon{display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:10px;background:var(--feedback-tint);color:var(--feedback-accent);}.feedback-toast .ux-toast-icon .ux-icon{width:17px;height:17px;}
.feedback-toast-copy{flex:1;min-width:0;padding-top:1px;}.feedback-toast-copy strong{display:block;font-size:12px;color:var(--feedback-ink);line-height:1.6;}.feedback-toast .ux-toast-text{display:block;margin-top:3px;color:#6b8498;font-size:11px;font-weight:400;line-height:1.75;overflow-wrap:anywhere;white-space:pre-line;}
.feedback-toast .ux-toast-close{background:transparent;color:#9aafbf;border:0;display:grid;place-items:center;width:23px;height:23px;border-radius:6px;flex:none;padding:3px;cursor:pointer;}.feedback-toast .ux-toast-close:hover{background:#eef4f8;color:#4f748e;}.feedback-toast .ux-toast-close .ux-icon{width:14px;height:14px;}
.feedback-toast::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--feedback-accent);border-radius:0 3px 3px 0;}
@keyframes feedbackFade{from{opacity:0;}to{opacity:1;}}@keyframes feedbackEnter{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}@keyframes feedbackToast{from{opacity:0;transform:translateX(16px);}to{opacity:1;transform:translateX(0);}}
@media(max-width:600px){.feedback-overlay,.modal-overlay{padding:16px;}.feedback-dialog{padding:25px 22px;border-radius:19px;max-height:calc(100dvh - 32px);}.feedback-dialog h3{font-size:21px;}.feedback-dialog #feedbackDescription{font-size:12px;}.feedback-actions .btn{flex:1;}.modal-head{padding:18px;}.modal-body{padding:20px 18px;}.modal-foot{padding:15px 18px;}.modal-head h3{font-size:16px;}#toast.toast{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:calc(100vw - 32px);}.feedback-toast{padding:14px;}}
@media(prefers-reduced-motion:reduce){.feedback-overlay,.feedback-dialog,.feedback-toast,.modal-overlay .modal{animation:none!important;transition:none!important;}}
.image-file-picker .input{padding:10px;background:#f5f9fc;border:1px dashed #bed4e5;width:100%;font-size:11px;}
.image-file-picker input::file-selector-button{background:#075ba6;color:#fff;border:0;border-radius:7px;padding:8px 12px;margin-right:10px;cursor:pointer;font-weight:700;}
.image-picker-preview{display:block;width:64px;height:64px;object-fit:contain;border:1px solid #dce8f1;background:#fff;padding:5px;border-radius:12px;margin:10px 0;}
