/* Consistent, readable login controls. */
#loginScreen .ff-password-wrap,.ff-password-body .ff-password-wrap{position:relative;display:flex;align-items:center;min-width:0}
#loginScreen .ff-password-wrap input,.ff-password-body .ff-password-wrap input{width:100%;padding-right:84px!important;box-sizing:border-box}
.ff-password-toggle{position:absolute;right:8px;border:0;border-radius:8px;background:#fff1e7;color:#bd4310;padding:8px 10px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.ff-password-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px}
.ff-password-links button{border:0;padding:4px 0;background:none;color:#b63e0e;font:inherit;font-size:13px;font-weight:750;cursor:pointer;text-align:left}
.ff-password-links button:hover{text-decoration:underline}
#loginScreen .ff-demo-accounts{margin-top:24px;padding:18px;border:1px solid #e5e8ee;background:#f8f9fb;border-radius:16px;color:#24244d}
.ff-demo-heading{display:grid;gap:4px;margin-bottom:12px}.ff-demo-heading b{font-size:15px}.ff-demo-heading span{font-size:12px;color:#687185}
.ff-demo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5e8ee}.ff-demo-row>div{min-width:0}.ff-demo-row b{display:block;font-size:13px}.ff-demo-row span{display:block;font-size:12px;line-height:1.5;color:#697183;overflow-wrap:anywhere}
.ff-demo-row button,#ffRecoveryCopy{flex:none;border:1px solid #ffceb5;border-radius:9px;padding:8px 14px;background:#fff0e7;color:#bd4310;font-size:13px;font-weight:750;cursor:pointer}.ff-demo-row button:disabled{opacity:.45;cursor:default}
#ffPasswordDialog{width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e4e7ed;border-radius:20px;background:#fff;color:#24244d;box-shadow:0 26px 90px #17203b44;overflow:auto;font-family:inherit}
#ffPasswordDialog::backdrop{background:#18203888;backdrop-filter:blur(4px)}
#ffPasswordDialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid #e8eaf0;background:linear-gradient(110deg,#fff5eb,#fff)}
#ffPasswordDialog header small{font-size:12px;color:#c24a14;font-weight:800;letter-spacing:1px}#ffPasswordDialog h2{font-size:24px;line-height:1.3;margin:6px 0 0}#ffPasswordClose{background:white;border:1px solid #e4e7ed;border-radius:10px;width:38px;height:38px;font-size:26px;cursor:pointer;flex:none}
.ff-password-body{padding:24px}.ff-password-body p{font-size:15px;line-height:1.6;margin:0 0 18px;color:#606b7e}.ff-password-body label{display:grid;gap:8px;margin-bottom:16px;font-size:14px;font-weight:700}.ff-password-body input{width:100%;box-sizing:border-box;border:1px solid #d9dfe8;border-radius:10px;padding:12px;font:inherit;font-size:16px}.ff-password-body input:focus{outline:2px solid #ffad84;outline-offset:1px}.ff-password-body .ff-password-hint{font-size:13px}
#ffPasswordMessage{margin:0;color:#167348;font-weight:650}#ffPasswordMessage.error{color:#b32828}#ffRecoveryResult{margin-top:18px;padding:16px;border:1px solid #b7dacc;border-radius:12px;background:#f0faf5}#ffRecoveryCode{display:block;overflow-wrap:anywhere;user-select:all;font-size:16px;line-height:1.6;margin:12px 0}#ffRecoveryResult p{font-size:13px;margin-bottom:12px}
#ffPasswordDialog footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e8eaf0}#ffPasswordDialog footer button{border:1px solid #dfe3eb;border-radius:10px;padding:12px 16px;font:inherit;font-size:14px;font-weight:750;cursor:pointer;background:#fff;color:#394257}#ffPasswordDialog #ffPasswordSubmit{border:0;background:linear-gradient(110deg,#ff7427,#ef4e24);color:#fff}#ffPasswordDialog [hidden]{display:none!important}
/* Notifications and event history, including all role panels and dialogs. */
body .ff-notify-item b,body .flow-event>b,body .v99-purchase-history-item>b,body .ff-v113-toast b,body .ff-decision-mini-history b{font-size:16px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere}
body .ff-notify-item small,body .flow-event>small,body .v99-purchase-history-item>small,body .ff-v113-toast div>span,body .ff-decision-mini-history small{font-size:14px!important;line-height:1.6!important;white-space:normal!important;overflow-wrap:anywhere}
body .ff-notify-item .ff-notify-action,body .flow-notice,body .v99-empty-history,body .v98-empty-history{font-size:14px!important;line-height:1.6!important}
body .ff-history-kind{font-size:10px!important;line-height:1.4!important;vertical-align:middle}
body .ff-notify-item{height:auto!important;min-height:0!important;align-items:start!important;padding:18px!important}body .ff-notify-item>div:last-child{min-width:0!important}
body .flow-event,body .v99-purchase-history-item{height:auto!important;min-height:0!important;padding-top:14px!important;padding-bottom:14px!important}
body .ff-v113-toast{width:min(420px,calc(100vw - 32px))!important;max-height:60dvh;overflow:auto}
body .ff-dialog-content{font-size:15px!important;line-height:1.6!important}
body .ff-dialog-content :is(p,label,input,select,textarea,button),body .ff-dialog-header .ff-dialog-heading>p,body .ff-dialog-header button:not(.ff-dialog-close){font-size:15px!important;line-height:1.5!important}
body .ff-dialog-content :is(.detail-description,.contractor-detail-block,.user-detail-block,.attachment-empty,.ff-message-text){font-size:15px!important;line-height:1.6!important}
body .ff-dialog-content :is(.detail-description,.contractor-detail-block,.user-detail-block) small{font-size:13px!important;line-height:1.5!important}
@media(max-width:540px){#ffPasswordDialog header,.ff-password-body{padding:18px}#ffPasswordDialog footer{padding:16px;flex-wrap:wrap}#ffPasswordDialog h2{font-size:22px}}

html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-content :is(.flow-event,.ff-notify-item,.v99-purchase-history-item)>b,body .ff-history-pro .flow-event>b{font-size:16px!important;line-height:1.5!important}
html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-content :is(.flow-event,.ff-notify-item,.v99-purchase-history-item) small,body .ff-history-pro .flow-event>small{font-size:14px!important;line-height:1.6!important}
html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-content .ff-notify-item b{font-size:16px!important;line-height:1.5!important}
html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-content :is(.field,.pro-entry-field)>label,html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-content :is(input,select,textarea,.primary-btn,.secondary-btn){font-size:15px!important;line-height:1.5!important}
html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog > .ff-dialog-shell > .ff-dialog-header > .ff-dialog-heading > p{font-size:15px!important;line-height:1.6!important}
html body :is(#accountCreateModal,#ticketModal,#detailModal,#ticketEditModal,#contractorTicketEditModal,#monthlyScheduleModal,#schedulePickerModal,#shiftModal,#personModal,#personProfileModal,#managerModal,#contractorTicketSheet,#userDetailSheet,#ffNotificationSheet,#ffFileViewer,#ffMessageDialog).ff-dialog .ff-dialog-head-actions>button:not(.ff-dialog-close){font-size:14px!important;line-height:1.5!important}

body .ff-history-pro .ff-history-kind{font-size:10px!important;line-height:1.4!important}

/* V17.6.471 — login: pomocnicze akcje jako lekkie przyciski outline. */
#loginScreen .ff-password-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px!important;
  margin-top:16px;
}
#loginScreen .ff-password-links button{
  appearance:none;
  border:1px solid #ff7a36!important;
  border-radius:10px!important;
  padding:8px 12px!important;
  background:#fff!important;
  color:#f05a1a!important;
  font:inherit;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#loginScreen .ff-password-links button:hover{
  border-color:#ff5e14!important;
  background:linear-gradient(135deg,#ff7a36,#ff5e14)!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 7px 16px rgba(255,94,20,.16)!important;
  transform:translateY(-1px);
}
#loginScreen .ff-password-links button:focus-visible{
  outline:3px solid rgba(255,122,54,.22);
  outline-offset:2px;
}
#loginScreen .ff-password-links button:active{transform:translateY(0)}

/* V17.6.472 — login: trzy akcje na pełną szerokość przycisku logowania + etykiety pól jak AKTUALNE UTRUDNIENIA. */
#loginScreen .ff-password-links{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:none!important;
  gap:8px!important;
  margin-top:16px!important;
}
#loginScreen .ff-password-links button{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
#loginScreen .login-box .field label{
  font-size:9px!important;
}
@media(max-width:520px){
  #loginScreen .ff-password-links{gap:6px!important;}
  #loginScreen .ff-password-links button{padding-left:7px!important;padding-right:7px!important;font-size:10.5px!important;}
}
/* V17.6.819 — pojedyncza, czytelna akcja odzyskania dostępu. */
#loginScreen .ff-password-links.ff-password-links-single{display:block!important;width:100%!important}
#loginScreen .ff-password-links.ff-password-links-single button{width:100%!important}
#ffPasswordIdentifier{width:100%;box-sizing:border-box;border:1px solid #d9dfe8;border-radius:10px;padding:12px;font:inherit;font-size:16px}
