/* Voting-specific controls. The interface itself uses the original shared styles. */
body, body * {
  -webkit-user-select: none;
  user-select: none;
}
body :is(input, textarea, select, option, [contenteditable="true"], [contenteditable="plaintext-only"]),
body :is([contenteditable="true"], [contenteditable="plaintext-only"]) * {
  -webkit-user-select: text;
  user-select: text;
}
.v-alert {
  margin: 0;
  padding: var(--app-gap-md);
  border: 1px solid var(--border);
  border-radius: var(--app-field-radius);
  font-size: var(--app-field-font-size);
}
.v-error { color: var(--danger); background: #fef2f2; }
.v-success { background: #ecfdf5; }
.v-muted, .v-table-description { color: var(--text-secondary); font-size: var(--app-field-font-size); }
.v-muted, .v-description, .v-table-description { margin: 0 0 var(--app-gap-sm); }
.v-login-caption { text-align: center; margin: 0; }
.app-header.app-header--client .header-menu-toggle { display: none; }
.auth-modal-content { max-height: calc(100dvh - 48px); }
.auth-modal-body .app-field-group { margin-bottom: 0; }
.v-captcha { display: grid; gap: var(--app-field-label-gap); min-width: 0; }
.survey-fill-page .v-captcha { margin-block-start: var(--app-modal-field-gap, var(--app-form-field-gap)); }
.v-captcha img { width: 240px; height: auto; max-width: 100%; }
.v-captcha .app-field-group { margin-bottom: 0; }
.v-poll-card-image, .v-poll-card-overlay { display: none; position: absolute; inset: 0; pointer-events: none; }
.v-poll-card-image { z-index: -2; }
.v-poll-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.v-poll-card-overlay { z-index: -1; background: var(--app-theme-background-color); opacity: var(--app-theme-poll-card-overlay-opacity); }
.v-poll-card-preview { position: relative; isolation: isolate; container-type: inline-size; display: flex; flex-direction: column; gap: .3rem; min-height: 9rem; padding: .3rem .15rem; overflow: hidden; background: var(--app-theme-button-color); color: var(--app-theme-button-text-color); border: 0; border-radius: var(--app-field-radius); box-shadow: var(--shadow-sm); font-size: calc(.75rem * var(--app-theme-font-scale)); }
.v-poll-card-preview:has(.v-poll-card-image), .client-surveys-page .v-client-poll-card:has(.v-poll-card-image) { background: transparent; }
.v-poll-card-preview :is(.v-poll-card-image, .v-poll-card-overlay) { display: block; }
.v-poll-card-preview .v-client-poll-name { flex: 1 1 auto; padding-top: .2rem; overflow-wrap: anywhere; font-size: min(calc(1.1rem * var(--app-theme-font-scale)), 7.7cqw); }
.v-poll-card-preview .v-client-poll-period { align-self: flex-end; font-size: min(calc(1.1rem * var(--app-theme-font-scale)), 7.7cqw); text-align: left; white-space: nowrap; }
.v-poll-card-preview .v-client-period-line { display: inline; white-space: nowrap; }
.v-poll-card-preview :is(.v-client-poll-name, .v-client-poll-period) { text-shadow: 0 2px 6px rgba(0, 0, 0, .95), 0 1px 3px rgba(0, 0, 0, .85); }
.client-surveys-page .v-client-polls { display: block; flex: 0 0 auto; width: 100%; min-width: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.client-surveys-page .v-client-polls thead { display: none; }
.client-surveys-page .v-client-polls tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, max(300px, calc((100% - 2 * var(--app-gap-sm)) / 3))), 1fr)); gap: var(--app-gap-sm); }
.client-surveys-page .v-client-polls tbody tr[data-row-modal] {
  display: block;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--app-field-radius);
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}
.client-surveys-page .v-client-poll-card {
  position: relative;
  isolation: isolate;
  container-type: inline-size;
  display: flex;
  -webkit-tap-highlight-color: transparent;
  flex-direction: column;
  min-width: 0;
  min-height: 9rem;
  aspect-ratio: auto;
  gap: var(--app-gap-sm);
  padding: var(--app-gap-sm) .15rem;
  overflow: hidden;
  background: var(--app-theme-button-color);
  border: 0;
  border-radius: var(--app-field-radius);
  box-shadow: var(--shadow-sm);
}
.client-surveys-page .v-client-polls tbody tr[data-row-modal]:focus-visible { outline-color: var(--text-main); }
.client-surveys-page .v-client-polls tbody tr.client-surveys-table__row--completed { cursor: default; }
.client-surveys-page .v-client-polls tbody tr td { display: block; width: auto; min-width: 0; min-height: 0; height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--app-theme-button-text-color); text-align: left; white-space: normal; }
.client-surveys-page .v-client-polls :is(.v-poll-card-image, .v-poll-card-overlay) { display: block; }
.client-surveys-page .v-client-poll-title { flex: 1 1 auto; overflow: hidden; font-size: min(calc(1.1rem * var(--app-theme-font-scale)), 7.7cqw); line-height: 1.35; }
.client-surveys-page :is(.v-client-poll-name, .v-client-poll-period) { text-shadow: 0 2px 6px rgba(0, 0, 0, .95), 0 1px 3px rgba(0, 0, 0, .85); }
.v-client-poll-name { display: block; width: 100%; padding-top: .2rem; overflow-wrap: anywhere; word-break: normal; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 4 2 2; text-wrap: wrap; text-align: left; }
/* Allow Chromium to hyphenate the final word instead of moving it whole. */
.v-client-poll-name::after { content: " \200b"; }
.client-surveys-page .v-client-poll-period { flex: 0 0 auto; align-self: flex-end; font-size: min(calc(1.1rem * var(--app-theme-font-scale)), 7.7cqw); line-height: 1.4; white-space: nowrap; }
.v-client-period-line { display: inline; white-space: nowrap; text-align: left; }
.v-client-poll-status { margin: var(--app-gap-sm) 0 calc(.5 * var(--app-gap-sm)); color: var(--success); font-size: calc(.7rem * var(--app-theme-font-scale)); text-align: center; }
.client-surveys-page .v-client-polls tbody tr:not([data-row-modal]) { display: none; }
.v-consent-form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin: 0; gap: 0; }
.v-consent-form .modal-body { flex: 1 1 auto; }
.v-consent-form .modal-message { margin: 0; }
.v-settings-form { display: contents; }
[data-max-stage][hidden] { display: none; }
[data-max-settings] [hidden] { display: none !important; }
.v-max-connect-row { display: flex; align-items: stretch; gap: var(--app-gap-md); min-width: 0; }
.v-max-connect-row > .app-field-with-icon { flex: 1 1 0; min-width: 0; }
.v-max-connect-row > .app-button { flex: 0 0 auto; min-height: var(--app-field-min-height); }
.v-max-qr { display: grid; justify-items: center; gap: var(--app-modal-field-gap); text-align: center; }
.v-max-qr img { display: block; width: min(240px, 100%); height: auto; aspect-ratio: 1; background: #fff; border-radius: var(--app-border-radius, 8px); }
.v-max-qr p { margin: 0; }
.v-max-dialog .modal-message { margin: 0; }
.v-max-dialog :is(.h2_modal, .modal-body) { overflow-wrap: anywhere; }
.v-territory { position: relative; min-width: 0; margin-bottom: 0; }
.v-label { font-weight: 500; }
.v-territory > details > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--app-gap-sm); cursor: pointer; list-style: none; }
.v-territory > details > summary::-webkit-details-marker { display: none; }
.v-territory > details > summary > span { min-width: 0; overflow-wrap: anywhere; }
.v-territory > details > summary:has(.field-icon-container) { padding-inline-start: 0; }
.v-territory > details > summary > [data-territory-label] { flex: 1; }
.v-territory > details > summary > i { font-size: 0.6rem; }
.v-tree { position: absolute; z-index: 120; top: 100%; left: 0; right: 0; max-height: 14rem; padding: var(--app-gap-sm); overflow: auto; background: #fff; border: 1px solid var(--border); border-radius: var(--app-field-radius); box-shadow: var(--shadow-md); font-size: var(--app-field-font-size); }

.v-tree-region summary { padding: var(--app-gap-xs); cursor: pointer; }
.v-tree-option { display: flex; align-items: center; gap: var(--app-gap-sm); padding: var(--app-gap-xs); cursor: pointer; }
.v-tree-option[hidden] { display: none; }
.v-tree-option:hover { background: var(--app-nav-link-hover-background); }
.v-tree-city { padding-left: var(--app-gap-lg); }
.v-tree-option input, .v-choices input { flex: 0 0 auto; accent-color: var(--primary); }
.v-title, .v-result-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--app-gap-md); flex-wrap: wrap; }
.v-title h1, .v-title h2, .v-result h3 { margin: 0; }
.v-title-small h2 { font-size: 1.15rem; font-weight: 400; }

.v-grid-2, .v-filter-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--app-form-field-gap); }
.v-filter-form { grid-template-columns: minmax(12rem, 2fr) repeat(2, minmax(6rem, 1fr)) auto auto; align-items: end; }
.v-filter-form .app-field-group { margin: 0; }
.v-editor { max-width: 960px; width: 100%; margin-inline: auto; }
.v-check { display: flex; align-items: center; gap: var(--app-gap-sm); font-size: var(--app-field-font-size); }
.v-table-scroll { width: 100%; min-width: 0; }

.v-table-scroll td > small { display: block; }
.v-row-actions { display: flex; gap: var(--app-gap-sm); flex-wrap: wrap; align-items: center; font-size: var(--app-table-font-size); }
.v-row-actions form, .header-right form { margin: 0; }
.v-link { padding: 0; border: 0; background: transparent; color: var(--text-main); font: inherit; cursor: pointer; text-decoration: underline; }
.v-danger { color: var(--danger); }
.v-empty-cell { text-align: center; }
td.table-empty-cell, .v-empty-cell { color: #000; }
.v-badge { display: inline-block; padding: var(--app-gap-xs); border-radius: var(--app-field-radius); background: var(--app-nav-link-hover-background); }
.v-choices { display: flex; gap: var(--app-gap-lg); flex-wrap: wrap; padding: var(--app-gap-md); border: 1px solid var(--border); border-radius: var(--app-field-radius); }
.v-choices label { display: flex; align-items: center; gap: var(--app-gap-sm); cursor: pointer; }
.v-choices legend { padding-inline: var(--app-gap-xs); font-size: var(--app-field-font-size); }
.v-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--app-page-content-gap); }
.v-metrics small, .v-metrics strong { display: block; }
.v-metrics small { font-size: var(--app-field-font-size); }
.v-metrics strong { font-size: 1.5rem; font-weight: 400; }
.v-result { padding-block: var(--app-gap-lg); border-top: 1px solid var(--border); }
.v-result:first-of-type { margin-top: var(--app-gap-md); }
.v-result-heading strong { font-weight: 400; }
.v-result-counts, .v-legend { display: flex; gap: var(--app-gap-md); flex-wrap: wrap; font-size: 0.75rem; }
.v-bar { display: flex; height: 12px; margin-block: var(--app-gap-sm); border-radius: var(--app-field-radius); overflow: hidden; background: var(--border); }
.v-bar .yes { background: #4b946e; }
.v-bar .no { background: #c56565; }
.v-bar .abstain { background: #9c90bc; }
.v-legend > span::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 50%; }
.v-legend .yes::before { background: #4b946e; }
.v-legend .no::before { background: #c56565; }
.v-legend .abstain::before { background: #9c90bc; }
.v-help-steps { padding-left: 1.25rem; font-size: var(--app-field-font-size); }
.v-help-steps li { margin-bottom: var(--app-gap-sm); }
.v-help-row { display: flex; align-items: center; justify-content: space-between; gap: var(--app-gap-md); flex-wrap: wrap; padding-block: var(--app-gap-md); border-bottom: 1px solid var(--border); }
.v-upload { display: flex; gap: var(--app-gap-sm); flex-wrap: wrap; align-items: center; }
.v-upload label { min-width: 0; flex: 1 1 12rem; }
.v-upload input { max-width: 100%; }
.v-file-picker { display: flex; align-items: center; flex-wrap: wrap; gap: var(--app-gap-sm); min-width: 0; }
.v-file-button { position: relative; overflow: hidden; }
.v-file-button:focus-within { outline: 2px solid var(--primary); outline-offset: 2px; }
.v-file-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.v-file-picker [data-file-name] { margin: 0; overflow-wrap: anywhere; }
.app-page pre { max-width: 24rem; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.65rem; }
.v-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.v-modal { position: fixed; inset: 0; width: min(var(--v-modal-width, 960px), calc(100vw - 48px)); max-width: calc(100vw - 48px); max-height: calc(100dvh - 48px); padding: 0; border: 0; background: transparent; overflow: visible; }
.v-modal::backdrop { background: rgba(0,0,0,.76); }
.v-modal .modal-content { width: 100%; max-width: 100%; margin: 0; }
.v-modal .v-editor { padding: 0; border: 0; box-shadow: none; }
.v-modal .v-alert { margin-bottom: var(--app-gap-md); }
.v-modal-open { overflow: hidden; }
.v-details { display: grid; grid-template-columns: minmax(8rem,1fr) minmax(0,3fr); gap: var(--app-gap-sm) var(--app-gap-lg); }
.v-details dt { color: var(--text-secondary); }
.v-details dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.v-column-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--app-gap-sm); }
.v-filter-trigger { padding: .3rem; border: 0; background: transparent; color: inherit; cursor: pointer; opacity: .6; }
.v-filter-trigger.is-active { color: var(--primary); opacity: 1; }
.v-column-filter { position: fixed; z-index: 2320; max-height: calc(100dvh - 32px); overflow: auto; font-size: var(--app-field-font-size); font-weight: 400; }
.v-column-filter[hidden], .v-filter-options [hidden] { display: none; }
.v-column-filter .app-field-group { margin: var(--app-gap-sm) 0; }
.v-filter-options { max-height: 12rem; overflow: auto; margin-block: var(--app-gap-sm); }
.v-filter-options .v-check { margin-block: var(--app-gap-xs); }
.v-table-toolbar { flex-wrap: wrap; }
.v-table-toolbar .v-muted { margin: 0; }
.action-icons__content form { display: inline-flex; margin: 0; }
.icon-container:disabled { opacity: .35; cursor: default; }
.v-editor-fields { display: contents; }
.v-editor-fieldset { display: contents; }
.v-editor-fieldset:has(> .v-editor-fields[inert]) { display: flex; flex-direction: column; gap: inherit; min-width: 0; cursor: not-allowed; }
.v-editor-fields:disabled > .app-field-group,
.v-poll-editor .criteriy[readonly] { opacity: .65; }
.v-table-name { color: inherit; text-decoration: none; }
[data-row-modal] { cursor: pointer; }
[data-row-modal]:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
@media (max-width: 1220px) {
  .v-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .v-details { grid-template-columns: minmax(0,1fr); }
  .v-grid-2, .v-filter-form, .v-metrics { grid-template-columns: minmax(0, 1fr); }
  .v-choices { flex-direction: column; }
  .v-upload, .v-upload button { width: 100%; }
  .v-consent-dialog .modal-footer { flex-direction: column; }
}

/* Original modal forms keep their actions in a separate footer. */
:is(.v-modal, .v-email-dialog, .v-consent-dialog) .modal-content,
:is(.v-email-dialog, .v-consent-dialog).modal-content,
.theme-settings-page__modal-preview {
  --app-field-font-size: calc(0.95rem * var(--app-theme-modal-font-scale, 1));
  --app-field-min-height: max(calc(44px * var(--app-theme-modal-font-scale, 1)), calc(2.5rem * var(--app-theme-modal-font-scale, 1)));
  --app-field-icon-size: calc(2.875rem * var(--app-theme-modal-font-scale, 1));
  --app-field-toggle-size: calc(2rem * var(--app-theme-modal-font-scale, 1));
  --app-icon-button-size: calc(2.35rem * var(--app-theme-modal-font-scale, 1));
  --app-icon-button-font-size: calc(1.35rem * var(--app-theme-modal-font-scale, 1));
  --app-compact-control-size: calc(1.75rem * var(--app-theme-modal-font-scale, 1));
  --app-modal-icon-font-size: calc(1rem * var(--app-theme-modal-font-scale, 1));
  --app-button-font-size: calc(0.72rem * var(--app-theme-modal-font-scale, 1));
  --app-table-font-size: calc(0.8rem * var(--app-theme-font-scale) * var(--app-theme-modal-font-scale, 1));
  --app-table-header-font-size: calc(0.8rem * var(--app-theme-header-font-scale) * var(--app-theme-modal-font-scale, 1));
  --app-field-padding: calc(0.75rem * var(--app-theme-modal-padding-scale, 1)) calc(0.9rem * var(--app-theme-modal-padding-scale, 1));
  --app-field-group-margin-bottom: calc(1rem * var(--app-theme-modal-gap-scale, 1));
  --app-form-field-gap: calc(1.5rem * var(--app-theme-modal-gap-scale, 1));
  --app-stack-gap: calc(1rem * var(--app-theme-modal-gap-scale, 1));
  --app-modal-field-gap: calc(1.5rem * var(--app-theme-modal-gap-scale, 1));
  font-size: var(--app-field-font-size);
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) .icon-container {
  min-height: calc(42px * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) :is(.icon-container i, .password-toggle-btn, .password-eye-btn, .app-multi-value-clear, .modal-close) {
  font-size: var(--app-modal-icon-font-size);
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) :is(.password-toggle-btn, .password-eye-btn) {
  right: calc(0.75rem * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) .app-field-with-icon.has-toggle > .app-field {
  padding-right: calc(3.25rem * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) :is(.password-toggle-btn, .password-eye-btn) svg {
  width: calc(1.25rem * var(--app-theme-modal-font-scale, 1));
  height: calc(1.25rem * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) :is(.app-date-field, .app-native-date-field) {
  --app-date-icon-size: calc(1.9rem * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) :is(.app-native-date-field__button i, .app-date-field__icon) {
  font-size: calc(1.22rem * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) .modal-close {
  width: calc(32px * var(--app-theme-modal-font-scale, 1));
  height: calc(32px * var(--app-theme-modal-font-scale, 1));
}
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) .h2_modal { font-size: calc(1.5rem * var(--app-theme-modal-font-scale, 1)); }
:is(.v-modal, .v-email-dialog, .v-consent-dialog, .theme-settings-page__modal-preview) .app-form > .app-field-group > label { font-size: calc(0.875rem * var(--app-theme-modal-font-scale, 1)); }
.v-modal .modal-footer:empty { display: none; }
.v-modal .modal-body > .app-form { margin: 0; }
:is(.v-modal, .theme-settings-page__modal-preview) .modal-body .app-page__stack { margin: 0; padding: 0; border: 0; box-shadow: none; }
.v-modal .modal-footer { flex-wrap: wrap; }
.v-consent-dialog .h2_modal { color: var(--text-main); }
.v-consent-dialog .modal-body { padding-inline: calc(1.25 * var(--app-modal-content-padding)); font-size: calc(1.05rem * var(--app-theme-modal-font-scale, 1)); }
.v-modal .answers-modal__info-block + .answers-modal__info-block { margin-top: var(--app-modal-field-gap); }
.v-column-heading > .survey-period-filter { flex: 0 0 auto; }
.v-column-heading .survey-period-filter__popover { color: var(--text-main); text-align: left; white-space: normal; font-weight: 400; }
.v-column-filter .app-checkbox-option[hidden] { display: none; }
.voting-choice-input {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 100%;
  min-height: var(--v-choice-size);
  margin: 0;
  border: 0;
  border-inline-end: 1px solid var(--app-theme-button-color);
  border-radius: 0;
  background: #fff;
  color: var(--app-theme-button-text-color);
  cursor: pointer;
}
.voting-choice-input::before { content: ''; width: .7rem; height: .4rem; border-left: .15rem solid currentColor; border-bottom: .15rem solid currentColor; transform: translateY(-.1rem) rotate(-45deg); visibility: hidden; }
.voting-choice-input:checked { background: var(--app-theme-button-color); }
.voting-choice-input:checked::before { visibility: visible; }
.rating-buttons label.btn_crit { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 0; aspect-ratio: auto; min-height: var(--app-button-min-height); padding: var(--app-button-padding); font-size: var(--app-button-font-size); cursor: pointer; }
.rating-buttons label:has(input:checked) { background: var(--primary); color: #fff; }
.rating-buttons label:has(input:focus-visible) { outline: 2px solid var(--primary); outline-offset: 3px; }

.v-vote-choices { border: 0; padding: 0; margin: var(--app-modal-field-gap) 0; }
.v-vote-choices legend { margin-bottom: var(--app-modal-label-gap); }
[data-automation-form] { display: grid; gap: var(--app-page-content-gap); }
[data-calendar-months] .is-outside-month { opacity: .35; }
[data-calendar-months] .survey-period-filter__day-button { display: flex; align-items: center; justify-content: center; cursor: default; }
.help-page__instruction-actions form, .help-page__instruction { margin: 0; }
.app-client-container .help-page__instruction-label { text-align: center; }
.logs-modal__record-table-wrap td { white-space: pre-wrap; overflow-wrap: anywhere; }
.v-table-scroll th:first-child { border-top-left-radius: var(--app-table-radius); }
.v-table-scroll th:last-child { border-top-right-radius: var(--app-table-radius); }

details.app-multiselect > summary { list-style: none; cursor: pointer; }
details.app-multiselect > summary::-webkit-details-marker { display: none; }
[data-checkbox-picker] .survey-editor-page__selected-organization-item { font-size: var(--app-field-font-size); }
[data-checkbox-picker] .app-checkbox-option { font-size: calc(0.84rem * var(--app-theme-modal-font-scale, 1)); }
.app-checkbox-option[href] { color: inherit; text-decoration: none; }

/* The territory picker follows the existing field styling, with explicit tree branches. */
.v-tree-region[hidden], .v-tree-empty[hidden] { display: none; }
.v-tree-region > details > summary { font-weight: 600; border-radius: var(--app-field-radius); }
.v-tree-region > details > summary i { margin-inline: .25rem; color: var(--primary); }
.v-tree-children { margin-left: .8rem; padding-left: .65rem; border-left: 1px solid var(--border); }
.v-tree-city { position: relative; padding: .55rem .6rem; margin: .15rem 0; border-radius: var(--app-field-radius); -webkit-tap-highlight-color: transparent; }
.v-tree-city::before { position: absolute; content: ''; left: -.65rem; width: .65rem; top: 50%; border-top: 1px solid var(--border); }
.v-tree-city:has(input:checked) { background: var(--app-nav-link-hover-background); font-weight: 600; }
.v-tree-city:has(input:focus-visible) { outline: 2px solid var(--primary); outline-offset: 1px; }
.v-tree-city i { color: var(--primary); }
.v-tree-empty { padding: .75rem; margin: 0; }
.v-email-dialog .modal-body { display: grid; gap: var(--app-modal-field-gap); }
.v-email-code { text-align: center; font-size: 1.5rem; letter-spacing: .35em; }
.v-email-resend { display: grid; justify-items: center; gap: .5rem; padding: 0 1rem 1rem; }
.app-header--client .header-user-name { font-size: .8rem; white-space: normal; overflow: visible; }
.v-header-address { margin: .25rem 0 0; max-width: 26rem; font-size: .44rem; line-height: 1.25; text-align: right; overflow-wrap: anywhere; }
.v-captcha-image { display: block; max-width: 100%; height: auto; min-height: 48px; }
.v-answer-edit-cell { min-width: 8rem; }
.v-answer-period__line { display: block; white-space: nowrap; }
.v-answer-editor + .v-answer-editor { margin-top: .75rem; }
.v-answer-editor .app-field-group { margin: 0; }
.v-answer-select { position: relative; }
.v-answer-select select.app-field { appearance: none; background-image: none; padding-right: 2rem; padding-block: calc(0.75rem * var(--app-theme-spacing-scale)); min-height: calc(var(--app-field-min-height) * var(--app-theme-spacing-scale)); font-size: var(--app-table-font-size); }
.v-answer-select option { font-size: inherit; padding: var(--app-table-cell-padding); }
.v-answer-select::after { content: ''; position: absolute; right: .85rem; top: 50%; transform: translateY(-50%); border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--primary); pointer-events: none; }
.v-answer-status { display: block; font-size: .75rem; margin-top: .2rem; }
.v-answer-editor [hidden] { display: none; }
.v-smtp-fields { border: 0; padding: 0; margin: 0; min-width: 0; }


/* Match Survey's shared dimensions; overlays never take space in the form. */
/* A single toolbar, including creation/export actions, as in Survey. */
.v-table-filters { flex-wrap: nowrap; gap: var(--app-gap-sm); overflow-x: auto; overflow-y: hidden; padding-block: 2px; }
.v-table-filters > * { flex: 0 0 auto; width: auto; }
.v-table-filters .survey-period-filter__trigger { max-width: none; }
.v-table-filters .survey-period-filter__popover { position: fixed; z-index: 2320; margin: 0; right: auto; bottom: auto; transform: none; }
[data-role="main-table"] th.v-column-sortable { padding: var(--app-table-cell-padding); }
[data-role="main-table"] th.v-column-sortable.table-col--date { width: auto; min-width: min-content; max-width: none; }
[data-role="main-table"] th.v-column-sortable::before,
[data-role="main-table"] th.v-column-sortable::after { content: none; }
th.v-column-sortable > a.v-column-sort-link { display: grid; grid-template-columns: minmax(min-content, 1fr) .68rem; align-items: center; gap: .5em; width: auto; min-width: min-content; margin: 0; padding: 0; }
.v-column-sort-label { min-width: min-content; white-space: normal; overflow-wrap: normal; }
.v-column-sort-indicator { position: relative; width: .68rem; height: 1.04rem; }
.v-column-sort-indicator::before,
.v-column-sort-indicator::after { content: ''; position: absolute; left: 0; width: 0; height: 0; border-left: .34rem solid transparent; border-right: .34rem solid transparent; opacity: .42; pointer-events: none; }
.v-column-sort-indicator::before { top: 0; border-bottom: .44rem solid currentColor; }
.v-column-sort-indicator::after { bottom: 0; border-top: .44rem solid currentColor; }
.v-column-sortable:hover .v-column-sort-indicator::before,
.v-column-sortable:hover .v-column-sort-indicator::after,
.v-column-sortable:focus-within .v-column-sort-indicator::before,
.v-column-sortable:focus-within .v-column-sort-indicator::after,
.v-column-sortable[data-sort-direction="asc"] .v-column-sort-indicator::before,
.v-column-sortable[data-sort-direction="desc"] .v-column-sort-indicator::after { opacity: 1; }
:is(.app-page, .app-page__stack, .app-form) > .app-button { align-self: start; justify-self: start; width: fit-content; }
.v-form-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--app-form-field-gap); }
.v-answer-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.v-answer-options legend { padding: 0; margin-bottom: var(--app-field-label-gap); }
.v-tree [data-checkbox-option][hidden] { display: none; }
.v-column-filter .survey-period-filter__panel { min-height: 0; overflow-y: auto; }
.v-column-filter .survey-period-filter__header, .v-column-filter .survey-period-filter__footer { flex: 0 0 auto; }
:is(.v-column-filter, [data-voting-date]) .survey-period-filter__footer { flex-direction: row; align-items: center; }
:is(.v-column-filter, [data-voting-date]) .survey-period-filter__footer .app-button { width: auto; }
.v-modal .modal-body table { width: 100%; min-width: 0; max-width: 100%; table-layout: auto; }
.v-modal .modal-body table :is(th, td) { overflow-wrap: anywhere; }
.v-modal .modal-body .app-modal-table-wrap { min-width: 0; }

.v-completion-toolbar { display: flex; flex-wrap: wrap; gap: var(--app-form-field-gap); margin-block: var(--app-modal-field-gap); }
.v-completion-toolbar .app-field-group { flex: 1; min-width: 10rem; margin: 0; }
[data-completion-row][hidden], [data-completion-empty][hidden] { display: none; }
.v-vote-choices { margin: 0; gap: var(--app-button-container-gap); }
.v-vote-choices--standard { display: flex; flex-direction: row; flex-wrap: nowrap; }
.v-vote-choices--standard label.btn_crit { flex: 1 1 0; }
.v-vote-choices--special { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.v-vote-choices--special label.btn_crit { width: 100%; }
.v-vote-choices label.btn_crit { --v-choice-size: var(--app-field-min-height); display: grid; grid-template-columns: var(--v-choice-size) minmax(0, 1fr); align-items: stretch; gap: 0; padding: 0; overflow: hidden; justify-content: flex-start; text-align: left; white-space: normal; overflow-wrap: anywhere; max-width: 100%; border: 1px solid var(--app-theme-button-color) !important; }
.v-vote-choices label.btn_crit > span { min-width: 0; align-self: center; padding: var(--app-button-padding); }
.v-poll-editor .survey-editor-page__criteria-action { gap: var(--app-button-container-gap); flex-wrap: wrap; }
.v-poll-editor .survey-editor-page__criteria-item:not(:last-child) .survey-editor-page__criteria-action { display: flex; }
.v-poll-editor .survey-editor-page__criteria-item:not(:last-child) [data-add-criterion] { display: none; }
.v-question-options { display: grid; gap: var(--app-modal-field-gap); }
.v-question-options:empty { display: none; }
.v-question-options > .app-field-group { margin: 0; }
.v-poll-editor .survey-editor-page__criteria-input-wrap {
  --v-field-delete-gap: calc(0.3rem * var(--app-theme-modal-padding-scale, 1));
}
.v-poll-editor .survey-editor-page__criteria-input-wrap > .app-field { padding: var(--app-field-padding); }
.v-poll-editor .survey-editor-page__criteria-input-wrap:has(> .v-field-delete) > .app-field {
  padding-right: calc(34px + var(--v-field-delete-gap) * 2);
  min-height: max(var(--app-field-min-height), calc(42px * var(--app-theme-modal-font-scale, 1) + var(--v-field-delete-gap) * 2));
}
.v-poll-editor .v-field-delete {
  position: absolute;
  inset-block: 0;
  right: var(--v-field-delete-gap);
  margin-block: auto;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--text-main);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--app-button-radius);
  pointer-events: auto;
  cursor: pointer;
}
.v-poll-editor .v-field-delete i { opacity: 1; }
.v-vote-choices label.btn_crit:has(input:checked) { color: var(--app-theme-button-text-color) !important; background: var(--app-theme-button-color) !important; border-color: var(--app-theme-button-color); }
[data-voting-notice] { display: none !important; }
.v-overlay-menu { position: fixed !important; z-index: 2350; margin: 0 !important; inset: auto; box-sizing: border-box; overflow: auto; }
.v-overlay-menu[hidden] { display: none !important; }
.v-modal .modal-body { overscroll-behavior: contain; }
.app-date-field__calendar--work-period {
  position: fixed;
  display: flex;
  flex-direction: column;
  /* Preserve the size of one card from the original two-month calendar. */
  width: min(calc((32.5rem - var(--app-gap-md)) / 2 + var(--app-popover-padding) + 1px), calc(100vw - var(--app-filter-popover-viewport-gap)));
  margin: 0;
  max-height: calc(100dvh - 16px);
  overflow: auto;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(203, 213, 225, 0.92);
  box-shadow: var(--shadow-md);
}
.app-date-field__calendar--work-period .survey-period-filter__calendars { grid-template-columns: minmax(0, 1fr); }
.app-date-field__calendar--work-period .survey-period-filter__day-button:enabled:not(.is-range-single) {
  background: #fff;
  border-color: color-mix(in srgb, var(--app-theme-button-color) 55%, var(--border) 45%);
}
.app-date-field__calendar--work-period .survey-period-filter__day-button:enabled:not(.is-range-single):is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--app-theme-button-color) 12%, #fff 88%);
  border-color: var(--app-theme-button-color);
  outline: 1px solid var(--app-theme-button-color);
  outline-offset: 1px;
}
.app-date-field__calendar--work-period.survey-work-period__popover .survey-period-filter__day-button:disabled,
.app-date-field__calendar--work-period.survey-work-period__popover .survey-period-filter__day-button:disabled:hover {
  color: #6b7280;
  background: #e5e7eb;
  border-color: #d1d5db;
  text-decoration: none;
  cursor: not-allowed;
}
:is(.survey-period-filter__clear-button, .app-button--secondary[type="reset"]) {
  color: var(--text-main) !important;
  background: #fff !important;
  border-color: var(--border) !important;
}
.v-max-logo {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  mask: url('/images/max-logo.svg') center / contain no-repeat;
}
.v-login-contact [hidden] { display: none !important; }
.v-login-method-toggle {
  flex: 0 0 var(--app-field-icon-size);
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--app-field-icon-size);
  padding: 0;
  color: var(--text-main);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: var(--app-field-font-size);
  cursor: pointer;
}
.v-login-method-toggle:focus-visible { outline: 2px solid var(--app-theme-button-color); outline-offset: -3px; }

input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear { display: none; }
.app-field-group[data-required-indicator] > label::after { content: " *"; }
.v-captcha-image-row { display: flex; align-items: center; gap: var(--app-gap-md); }
.v-email-dialog { width: min(760px, calc(100vw - 48px)); max-width: calc(100vw - 48px); }
.v-email-dialog .modal-footer { align-items: center; }
.v-email-dialog .modal-footer > * { flex: 0 1 auto; }
.v-email-dialog input.v-email-code { font-size: calc(1.5rem * var(--app-theme-modal-font-scale, 1)); }
.v-email-dialog .app-field-group > label { font-size: calc(0.875rem * var(--app-theme-modal-font-scale, 1)); }
.v-email-dialog [data-resend-countdown] { font-size: var(--app-button-font-size); text-align: center; margin: 0; min-height: 1.25em; }
.v-question-results h3 { font-size: var(--app-field-font-size); font-weight: 500; margin: var(--app-gap-lg) 0 var(--app-gap-md); }
.v-question-statistics { overflow: hidden; border: 1px solid var(--border); border-radius: var(--app-field-radius); background: white; color: var(--text-main); font-size: var(--app-field-font-size); line-height: var(--app-field-line-height); }
.v-stat-row { display: flex; align-items: stretch; min-height: var(--app-field-min-height); border-bottom: 1px solid var(--border); background: linear-gradient(to right, var(--app-theme-detail-color) var(--vote-percent), transparent var(--vote-percent)); }
.v-stat-row:last-child { border-bottom: 0; }
.v-stat-numbers { flex: 0 0 3em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.1em; color: var(--text-main); padding-inline: 0.2em; border-right: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.v-stat-numbers strong, .v-stat-numbers span { font-size: inherit; line-height: 1; }
.v-stat-numbers span { font-size: 0.75em; }
.v-stat-label { display: flex; align-items: center; min-width: 0; overflow-wrap: anywhere; padding: var(--app-field-padding); font-size: inherit; }
@media (max-width: 640px) {
  .v-stat-numbers { font-size: 0.8em; }
  .v-stat-label { padding-inline: 0.2em; }
}
.v-poll-turnout { font-size: var(--app-field-font-size); margin: 0; }

.survey-editor-form { display: contents; }
.v-modal .modal-body .survey-editor-page__criteria-step { margin-top: var(--app-modal-field-gap); }

:is(:disabled, [readonly], [aria-disabled="true"], [inert]),
:is(:disabled, [readonly], [aria-disabled="true"]) *,
label:has(input:disabled) { cursor: not-allowed !important; }

.v-consent-dialog .modal-message { text-align: justify; text-justify: inter-word; }

.app-header--client .header-left { min-width: 0; gap: var(--app-gap-md); }
.app-header--client .header-right .header-user-name { max-width: 26rem; margin: 0; text-align: right; overflow-wrap: anywhere; }
.v-login-switch-icon { position: relative; display: grid; place-items: center; width: 2rem; height: 2rem; }
.v-login-switch-arrows { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v-login-switch-icon > :is(i, .v-max-logo) { display: flex; align-items: center; justify-content: center; font-size: 0.75rem; width: 0.9rem; height: 0.9rem; }

.app-field-with-icon.v-login-contact { overflow: visible; }
.v-login-contact .v-login-method-toggle { position: relative; height: auto; pointer-events: auto; }
.v-login-method-toggle .v-login-switch-icon > i { font-size: 0.75rem; }
.v-login-method-toggle .icon-tooltip[data-tooltip-viewport] {
  position: fixed; inset: auto; margin: 0; overflow: visible;
  left: var(--icon-tooltip-anchor-x); top: var(--icon-tooltip-anchor-y);
  width: 296px; min-width: 0; max-width: calc(100vw - 16px);
  transform: translateX(calc(-50% + var(--icon-tooltip-shift-x))) translateY(-100%);
}
.v-login-method-toggle .icon-tooltip.icon-tooltip--below { transform: translateX(calc(-50% + var(--icon-tooltip-shift-x))); }
.v-login-method-toggle .icon-tooltip:popover-open { opacity: 1; visibility: visible; }

html.v-auth-pending,
html.v-auth-pending body,
html.v-auth-pending body *,
html.v-auth-pending dialog::backdrop { cursor: progress !important; }

@media (min-width: 701px) {
  body:has(.app-client-container) .v-modal .survey-fill-page .answers-modal__info-block { margin-top: 0; }
  body:has(.app-client-container) .v-modal .survey-fill-page .survey-user-question-list { gap: var(--app-modal-field-gap); }
  body:has(.app-client-container) .v-modal .survey-fill-page .user-survey-question { display: grid; gap: var(--app-modal-label-gap); }
  body:has(.app-client-container) .v-modal .survey-fill-page .v-vote-choices { margin: 0 0 calc(var(--app-modal-field-gap) / 3); }
  body:has(.app-client-container) .v-modal .survey-fill-page .v-captcha { margin-block-start: 0; gap: var(--app-modal-field-gap); }
  body:has(.app-client-container) .v-modal .survey-fill-page .v-captcha img { border-radius: var(--app-button-radius); }
  body:has(.app-client-container) .v-modal .survey-fill-page .v-captcha-image-row .app-button { align-self: stretch; }
}

@media (max-width: 700px) {
  .app-shell[data-app-shell="client"] { --header-height: 40px; --page-gap: .3125rem; --app-gap-sm: .375rem; }
  .app-header.app-header--client { min-height: var(--header-height); grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 5px; padding: 3px 8px; }
  .app-header--client .header-left img { width: 3rem; max-width: 100%; height: 1.5rem; max-height: 1.5rem; }
  .app-header--client .header-title { display: none; }
  .app-header--client .header-right { display: contents; }
  .app-header--client .header-user-info { grid-column: 2; grid-row: 1; justify-self: center; align-items: center; }
  .app-header--client .header-right form { display: flex; grid-column: 3; grid-row: 1; justify-self: end; }
  .app-header--client .header-right .header-user-name { width: auto; padding: 0; font-size: .55rem; text-align: center; white-space: nowrap; }
  .app-header--client .logout-button { --app-button-min-height: 1.3rem; --app-button-padding: .3125rem .375rem; --app-button-font-size: .55rem; --app-button-radius: .25rem; }
  .admin-container.app-client-container { padding: 0 .3125rem .3125rem; }
  .app-client-container #content_admin { padding: .3125rem; border-radius: .4rem; }
  .app-client-container .client-surveys-page__subnav { display: flex; flex-wrap: nowrap; gap: var(--app-gap-sm); }
  .app-client-container .client-surveys-page__subnav .app-tab {
    flex: 1 1 0;
    min-width: 0;
    justify-content: flex-start;
    text-align: left;
    gap: .375rem;
    padding: .4375rem .375rem;
    font-size: .6rem;
    white-space: nowrap;
  }
  .app-client-container .client-surveys-page__subnav .count-badge { font-size: .55rem; }
  .client-surveys-page .v-client-polls tbody { display: grid; grid-template-columns: minmax(0, 1fr); }
  .client-surveys-page .v-client-poll-card, .v-poll-card-preview { padding: .375rem; }
  .v-client-poll-name { padding-top: .25rem; }
  body:has(.app-client-container) .app-row-tooltip { display: none; }
  body:has(.app-client-container) .v-modal { width: calc(100vw - .5rem); max-width: calc(100vw - .5rem); max-height: calc(100dvh - .5rem); }
  body:has(.app-client-container) .v-modal .modal-content,
  body.app-auth-page :is(.auth-modal-content, .v-email-dialog .modal-content, .v-consent-dialog .modal-content) {
    --app-gap-sm: .375rem;
    --app-gap-md: .4375rem;
    --app-gap-lg: calc(.9375rem * var(--app-theme-modal-gap-scale, 1));
    --app-button-gap: .3125rem;
    --app-button-min-height: calc(1.4rem * var(--app-theme-modal-font-scale, 1));
    --app-button-padding: calc(.3125rem * var(--app-theme-modal-padding-scale, 1)) calc(.375rem * var(--app-theme-modal-padding-scale, 1));
    --app-button-font-size: calc(.75rem * var(--app-theme-modal-font-scale, 1));
    --app-field-font-size: calc(.55rem * var(--app-theme-modal-font-scale, 1));
    --app-field-min-height: calc(1.2rem * var(--app-theme-modal-font-scale, 1));
    --app-field-padding: calc(.1875rem * var(--app-theme-modal-padding-scale, 1)) calc(.3125rem * var(--app-theme-modal-padding-scale, 1));
    --app-field-radius: .335rem;
    --app-field-label-gap: .1875rem;
    --app-modal-content-padding: calc(.3125rem * var(--app-theme-modal-padding-scale, 1));
    --app-modal-field-gap: calc(.9375rem * var(--app-theme-modal-gap-scale, 1));
    --app-modal-label-gap: var(--app-field-label-gap);
    --app-form-field-gap: var(--app-modal-field-gap);
    --app-modal-icon-font-size: calc(.6rem * var(--app-theme-modal-font-scale, 1));
    max-height: calc(100dvh - .5rem);
    border-radius: .4rem;
  }
  body:has(.app-client-container) .v-modal .modal-header { padding: .3125rem 1.6rem; }
  body:has(.app-client-container) .v-modal .h2_modal { font-size: calc(.7rem * var(--app-theme-modal-font-scale, 1)); }
  body:has(.app-client-container) .v-modal .modal-close { top: .25rem; right: .25rem; width: calc(1.1rem * var(--app-theme-modal-font-scale, 1)); height: calc(1.1rem * var(--app-theme-modal-font-scale, 1)); }
  body:has(.app-client-container) .v-modal :is(.answers-modal__field-label, .modal-body .app-field-group > label) { font-size: max(16px, calc(.8rem * var(--app-theme-modal-font-scale, 1))); }
  body:has(.app-client-container) .v-modal :is(.answers-modal__field-label, .modal-body .app-field-group > label)::after { content: " *"; }
  body:has(.app-client-container) .v-modal .app-field::placeholder { font-size: inherit; }
  body:has(.app-client-container) .v-modal .user-survey-question { display: grid; gap: var(--app-modal-label-gap); }
  body:has(.app-client-container) .v-modal .v-vote-choices { flex-direction: column; align-items: stretch; gap: var(--app-gap-sm); margin: calc(var(--app-modal-field-gap) - var(--app-modal-label-gap)) 0 0; }
  body:has(.app-client-container) .v-modal .v-vote-choices label.btn_crit { flex: 0 0 auto; width: 100%; min-height: calc(2.4rem * var(--app-theme-modal-font-scale, 1)); padding: 0; font-size: calc(.6rem * var(--app-theme-modal-font-scale, 1)); border: 1px solid var(--app-theme-button-color) !important; }
  body:has(.app-client-container) .v-modal .v-vote-choices label.btn_crit > span { padding: calc(.625rem * var(--app-theme-modal-padding-scale, 1)); }
  body:has(.app-client-container) .v-modal .survey-fill-page .answers-modal__info-text,
  body:has(.app-client-container) .v-modal .survey-fill-page .v-vote-choices label.btn_crit { font-size: max(16px, calc(.75rem * var(--app-theme-modal-font-scale, 1))); }
  body:has(.app-client-container) .v-modal .answers-modal__info-block + .answers-modal__info-block { margin-top: 0; }
  body:has(.app-client-container) .v-modal .survey-fill-page .v-captcha { margin-block-start: var(--app-modal-field-gap); gap: calc(.75 * var(--app-modal-field-gap)); }
  body:has(.app-client-container) .v-modal .v-captcha input.app-field { width: 100%; font-size: max(24px, calc(1.2rem * var(--app-theme-modal-font-scale, 1))); text-align: center; }
  body:has(.app-client-container) .v-modal .v-captcha img { width: 60%; min-width: 0; border-radius: var(--app-button-radius); }
  body:has(.app-client-container) .v-modal .v-captcha-image-row .app-button { flex: 1 1 0; min-width: 0; align-self: stretch; flex-wrap: wrap; row-gap: 0; white-space: normal; }
  body:has(.app-client-container) .v-modal .modal-footer { flex-direction: row; align-items: center; padding: .3125rem; gap: var(--app-gap-sm); }
  body:has(.app-client-container) .v-modal .modal-footer > * { flex: 1 1 0; }
  body:has(.app-client-container) .v-modal:has(.survey-fill-page) .modal-content {
    --app-field-font-size: calc(.6rem * var(--app-theme-modal-font-scale, 1));
    --app-field-min-height: calc(2.4rem * var(--app-theme-modal-font-scale, 1));
    --app-field-padding: calc(.625rem * var(--app-theme-modal-padding-scale, 1));
    --app-modal-field-gap: calc(1.25rem * var(--app-theme-modal-gap-scale, 1));
    --app-gap-lg: var(--app-modal-field-gap);
    padding-inline: var(--app-modal-content-padding);
  }
  body:has(.app-client-container) .v-modal:has(.survey-fill-page) .h2_modal { font-size: min(calc(1.4rem * var(--app-theme-modal-font-scale, 1)), 7.8vw); line-height: 1.1; }
  body:has(.app-client-container) .v-modal:has(.survey-fill-page) .modal-footer { --app-button-min-height: calc(3.2rem * var(--app-theme-modal-font-scale, 1)); flex-direction: column-reverse; align-items: stretch; flex-wrap: nowrap; padding: var(--app-modal-content-padding) 0; }
  body:has(.app-client-container) .v-modal:has(.survey-fill-page) .modal-footer > * { flex: 0 0 auto; }
  body.app-auth-page .content { padding: .4rem; }
  body.app-auth-page :is(.auth-modal-content, .v-consent-dialog .modal-content) { width: 100%; max-width: 100%; padding: calc(.3125rem * var(--app-theme-modal-padding-scale, 1)); }
  body.app-auth-page :is(.auth-modal-content, .v-email-dialog .modal-content, .v-consent-dialog .modal-content) {
    --app-field-font-size: max(16px, calc(.55rem * var(--app-theme-modal-font-scale, 1)));
    --app-field-min-height: calc(1.4rem * var(--app-theme-modal-font-scale, 1));
    --app-field-icon-size: calc(1.4rem * var(--app-theme-modal-font-scale, 1));
    --app-field-toggle-size: calc(1rem * var(--app-theme-modal-font-scale, 1));
    font-size: calc(.55rem * var(--app-theme-modal-font-scale, 1));
  }
  body.app-auth-page .modal-header { padding: .3125rem; }
  body.app-auth-page :is(.auth-modal-title, .v-email-dialog .h2_modal) { font-size: calc(.7rem * var(--app-theme-modal-font-scale, 1)); text-align: center; }
  body.app-auth-page .modal-body .app-field-group > label { font-size: calc(.55rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .app-field::placeholder { font-size: inherit; }
  body.app-auth-page .app-field-with-icon .icon-container { min-height: var(--app-field-min-height); }
  body.app-auth-page .app-field-with-icon .icon-container i { font-size: calc(.65rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .v-login-switch-icon { width: calc(1.2rem * var(--app-theme-modal-font-scale, 1)); height: calc(1.2rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .v-login-switch-icon > :is(i, .v-max-logo) { width: calc(.55rem * var(--app-theme-modal-font-scale, 1)); height: calc(.55rem * var(--app-theme-modal-font-scale, 1)); font-size: calc(.45rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .v-login-method-toggle .icon-tooltip { padding: .3rem .4rem; font-size: calc(.55rem * var(--app-theme-modal-font-scale, 1)); line-height: 1.35; }
  body.app-auth-page [data-login-contact-icon] .v-max-logo { width: calc(.65rem * var(--app-theme-modal-font-scale, 1)); height: calc(.65rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .app-field-with-icon.has-toggle > .app-field { padding-right: calc(1.5rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .app-field-with-icon.has-toggle .password-toggle-btn { right: .25rem; }
  body.app-auth-page .app-field-with-icon.has-toggle .password-toggle-btn svg { width: calc(.7rem * var(--app-theme-modal-font-scale, 1)); height: calc(.7rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .modal-footer { flex-direction: row; align-items: stretch; padding: .3125rem; gap: var(--app-gap-sm); }
  body.app-auth-page .modal-footer > * { flex: 1 1 0; min-width: 0; white-space: normal; }
  body.app-auth-page .v-tree { font-size: var(--app-field-font-size); }
  body.app-auth-page .v-tree-option input { width: 1rem; height: 1rem; }
  body.app-auth-page .v-tree-city { padding: .375rem; }
  body.app-auth-page :is(.v-email-dialog, .v-consent-dialog) { width: calc(100vw - .5rem); max-width: calc(100vw - .5rem); max-height: calc(100dvh - .5rem); }
  body.app-auth-page .v-email-dialog input.v-email-code { font-size: var(--app-field-font-size); letter-spacing: .25em; }
  body.app-auth-page .v-email-dialog .modal-footer > * { flex: 1 1 auto; }
  body.app-auth-page .modal-content.auth-modal-content,
  body.app-auth-page .v-consent-dialog .modal-content {
    --app-field-font-size: max(24px, calc(1rem * var(--app-theme-modal-font-scale, 1)));
    --app-field-min-height: calc(3rem * var(--app-theme-modal-font-scale, 1));
    --app-field-icon-size: calc(2.6rem * var(--app-theme-modal-font-scale, 1));
    --app-field-toggle-size: calc(1.9rem * var(--app-theme-modal-font-scale, 1));
    --app-field-padding: calc(.75rem * var(--app-theme-modal-padding-scale, 1)) calc(.8125rem * var(--app-theme-modal-padding-scale, 1));
    --app-button-min-height: calc(3.2rem * var(--app-theme-modal-font-scale, 1));
    --app-button-font-size: calc(.9rem * var(--app-theme-modal-font-scale, 1));
    font-size: calc(.9rem * var(--app-theme-modal-font-scale, 1));
  }
  body.app-auth-page .modal-content.auth-modal-content {
    --app-gap-sm: .5rem;
    --app-modal-content-padding: calc(.4rem * var(--app-theme-modal-padding-scale, 1));
    --app-modal-field-gap: calc(1.2rem * var(--app-theme-modal-gap-scale, 1));
    --app-field-label-gap: .25rem;
    padding: var(--app-modal-content-padding);
  }
  body.app-auth-page .auth-modal-header { padding-block: 1.2rem; }
  body.app-auth-page .auth-modal-header .auth-modal-title { font-size: min(calc(2.5rem * var(--app-theme-modal-font-scale, 1)), 13.5vw); line-height: 1.1; }
  body.app-auth-page .auth-modal-body:has([data-passport]) { padding-block-start: calc(2 * var(--app-modal-field-gap)); }
  body.app-auth-page .auth-modal-body .app-field-group > label { font-size: calc(1rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body .icon-container i { font-size: calc(1.2rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body [data-login-contact-icon] .v-max-logo { width: calc(1.2rem * var(--app-theme-modal-font-scale, 1)); height: calc(1.2rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body .v-login-switch-icon { width: calc(2.2rem * var(--app-theme-modal-font-scale, 1)); height: calc(2.2rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body .v-login-switch-icon > :is(i, .v-max-logo) { width: calc(.95rem * var(--app-theme-modal-font-scale, 1)); height: calc(.95rem * var(--app-theme-modal-font-scale, 1)); font-size: calc(.8rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body .app-field-with-icon.has-toggle > .app-field { padding-right: calc(2.7rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-body .app-field-with-icon.has-toggle .password-toggle-btn svg { width: calc(1.3rem * var(--app-theme-modal-font-scale, 1)); height: calc(1.3rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .auth-modal-footer { flex-direction: column-reverse; flex-wrap: nowrap; padding: var(--app-modal-content-padding); border-top: 0; }
  body.app-auth-page .v-consent-dialog .modal-content { min-height: min(18rem, calc(100dvh - .5rem)); }
  body.app-auth-page .v-consent-dialog .modal-header { padding: .625rem calc(1.7rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .v-consent-dialog .h2_modal { font-size: calc(1.1rem * var(--app-theme-modal-font-scale, 1)); text-align: center; }
  body.app-auth-page .v-consent-dialog .modal-close { top: .5rem; right: .25rem; width: calc(1.3rem * var(--app-theme-modal-font-scale, 1)); height: calc(1.3rem * var(--app-theme-modal-font-scale, 1)); font-size: calc(.8rem * var(--app-theme-modal-font-scale, 1)); }
  body.app-auth-page .v-consent-dialog .modal-body { padding-inline: calc(1.5 * var(--app-modal-content-padding)); font-size: max(16px, calc(.85rem * var(--app-theme-modal-font-scale, 1))); }
  body.app-auth-page .v-consent-dialog .modal-footer { flex-direction: column; flex-wrap: nowrap; padding: var(--app-modal-content-padding); border-top: 0; }
  body.app-auth-page .v-consent-dialog .modal-footer > * { flex: 0 0 auto; }
}
