/* Frizzy: shared field system. Text controls only; never resize switches or radios. */
body:is(.frizzy-panel, .app-body, .auth-page) {
  --field-ink: #30241d;
  --field-muted: #65574e;
  --field-border: #b6a292;
  --field-focus: #985025;
}
body:is(.frizzy-panel, .app-body, .auth-page) :is(input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], input[type="month"], input[type="search"], select, textarea),
body.frizzy-panel .select2-container--default .select2-selection {
  box-sizing: border-box;
  min-height: 48px !important;
  max-width: 100%;
  border: 1px solid var(--field-border) !important;
  border-radius: 12px !important;
  background-color: #fffdfb !important;
  color: var(--field-ink) !important;
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
body:is(.frizzy-panel, .app-body, .auth-page) :is(select, textarea) {
  padding: 10px 14px;
}
body:is(.frizzy-panel, .app-body, .auth-page) :is(input, textarea)::placeholder {
  color: var(--field-muted) !important;
  font-weight: 400;
  opacity: 1;
}
body:is(.frizzy-panel, .app-body, .auth-page) :is(input, select, textarea):focus-visible,
body.frizzy-panel .select2-container--focus .select2-selection,
body.frizzy-panel .select2-container--open .select2-selection {
  outline: 2px solid var(--field-focus) !important;
  outline-offset: 2px;
  border-color: var(--field-focus) !important;
}
body:is(.frizzy-panel, .app-body, .auth-page) :is(input, select, textarea):disabled,
body.frizzy-panel .select2-container--disabled .select2-selection {
  background-color: #eee9e3 !important;
  color: #71675f !important;
  cursor: not-allowed;
}
body.frizzy-panel .select2-container--default .select2-selection--single {
  display: block;
  height: auto !important;
  min-height: 48px !important;
}
body.frizzy-panel #page-wrapper :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="search"], select, textarea),
body.frizzy-panel .fr-fin-modal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
body.app-body .plan-session-fields :is(input, select) {
  font-size: 16px !important;
}
body.frizzy-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 11px 38px 11px 14px !important;
  font: 600 16px/24px "Plus Jakarta Sans", "Segoe UI", sans-serif !important;
  color: var(--field-ink) !important;
}
body.frizzy-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 10px;
}
body.frizzy-panel .select2-dropdown {
  border: 1px solid var(--field-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 28px #30241d20;
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}
body.frizzy-panel .select2-results__option {
  min-height: 44px;
  padding: 11px 14px !important;
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.frizzy-panel .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #85441f !important;
  color: #fff !important;
}
body.frizzy-panel .modal-body label,
body.frizzy-panel .fr-fin-filters label,
body.frizzy-panel .fr-fin-modal label {
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.5;
  text-transform: none !important;
  letter-spacing: normal;
}
body.frizzy-panel .frizzy-modal-heading__copy p {
  color: #f0dfd2 !important;
  font-size: 14px !important;
  white-space: normal;
}
body.frizzy-panel .frizzy-schedule-mode label > span {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  min-height: 92px;
  padding: 16px;
  align-content: center;
}
body.frizzy-panel .frizzy-schedule-mode label > span > i {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 40px;
  height: 40px;
}
body.frizzy-panel .frizzy-schedule-mode label strong {
  grid-column: 2;
  font-size: 16px !important;
  line-height: 1.4;
  text-transform: none;
}
body.frizzy-panel .frizzy-schedule-mode label small {
  grid-column: 2;
  margin: 0;
  color: var(--field-muted) !important;
  font-size: 14px !important;
  font-weight: 400;
}
body.frizzy-panel .frizzy-schedule-mode input:focus-visible + span {
  outline: 2px solid var(--field-focus);
  outline-offset: 3px;
}
body.frizzy-panel .frizzy-schedule-mode input:checked + span {
  border-color: var(--field-focus);
  box-shadow: inset 4px 0 var(--field-focus);
}
@media (max-width: 600px) {
  body.frizzy-panel .frizzy-schedule-mode { grid-template-columns: 1fr; }
  body.frizzy-panel .frizzy-schedule-mode label > span { min-height: 84px; }
}
