/* ui.css — из стилей кабинета на Nuxt, scoped-стили изолированы атрибутом data-v-<область>. */
/* shared/ui/BaseButton.vue — data-v-base-button */
.btn[data-v-base-button] {
  --btn-bg: var(--brand-primary);
  --btn-bg-hover: var(--brand-primary-hover);
  --btn-bg-press: var(--brand-primary-pressed);
  --btn-fg: var(--brand-on-primary);
  --btn-ink: var(--text-accent);
  --btn-soft: var(--brand-primary-subtle);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  font-family: "Suisse Intl", Arial, Helvetica, sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
  transition: background 120ms cubic-bezier(0.2, 0, 0, 1), color 120ms cubic-bezier(0.2, 0, 0, 1), box-shadow 120ms cubic-bezier(0.2, 0, 0, 1);
}
.btn[data-v-base-button]:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}
.btn--neutral[data-v-base-button] {
  --btn-bg: var(--surface-inverse);
  --btn-bg-hover: var(--surface-inverse-raised);
  --btn-bg-press: var(--color-dark-500);
  --btn-fg: var(--text-inverse);
  --btn-ink: var(--text-primary);
  --btn-soft: var(--surface-secondary);
}
.btn--destructive[data-v-base-button] {
  --btn-bg: var(--state-error);
  --btn-bg-hover: var(--color-error-600);
  --btn-bg-press: var(--color-error-700);
  --btn-fg: var(--text-inverse);
  --btn-ink: var(--color-error-600);
  --btn-soft: var(--state-error-subtle);
}
.btn--xs[data-v-base-button] {
  height: 28px;
  padding-inline: 8px;
  font-size: 12px;
}
.btn--sm[data-v-base-button] {
  height: 32px;
  padding-inline: 12px;
  font-size: 14px;
}
.btn--md[data-v-base-button] {
  height: 40px;
  padding-inline: 16px;
  font-size: 14px;
}
.btn--lg[data-v-base-button] {
  height: 48px;
  padding-inline: 20px;
  font-size: 16px;
}
.btn--xl[data-v-base-button] {
  height: 56px;
  padding-inline: 24px;
  font-size: 16px;
}
.btn--icon[data-v-base-button] {
  padding: 0;
  aspect-ratio: 1;
}
.btn--r-md[data-v-base-button] {
  border-radius: 8px;
}
.btn--r-lg[data-v-base-button] {
  border-radius: 12px;
}
.btn--r-full[data-v-base-button] {
  border-radius: 999px;
}
.btn--fill[data-v-base-button] {
  background: var(--btn-bg);
  color: var(--btn-fg);
}
.btn--fill[data-v-base-button]:hover {
  background: var(--btn-bg-hover);
}
.btn--fill[data-v-base-button]:active {
  background: var(--btn-bg-press);
}
.btn--fill[data-v-base-button]:focus-visible {
  box-shadow: var(--focus-ring);
}
.btn--outline[data-v-base-button] {
  background: transparent;
  color: var(--btn-ink);
  box-shadow: inset 0 0 0 1px var(--btn-bg);
}
.btn--outline[data-v-base-button]:hover {
  background: var(--btn-soft);
  box-shadow: inset 0 0 0 1px var(--btn-bg-hover);
}
.btn--outline[data-v-base-button]:active {
  color: var(--btn-bg-press);
  box-shadow: inset 0 0 0 1px var(--btn-bg-press);
}
.btn--outline[data-v-base-button]:focus-visible {
  box-shadow: inset 0 0 0 1px var(--btn-bg), var(--focus-ring);
}
.btn--ghost[data-v-base-button] {
  background: transparent;
  color: var(--btn-ink);
}
.btn--ghost[data-v-base-button]:hover, .btn--ghost[data-v-base-button]:active {
  background: var(--btn-soft);
}
.btn--ghost[data-v-base-button]:active {
  color: var(--btn-bg-press);
}
.btn--block[data-v-base-button] {
  width: 100%;
}
.btn--disabled[data-v-base-button] {
  pointer-events: none;
  color: var(--text-disabled);
}
.btn--disabled.btn--fill[data-v-base-button] {
  background: var(--surface-disabled);
}
.btn--disabled.btn--outline[data-v-base-button] {
  box-shadow: inset 0 0 0 1px var(--border-default);
  background: transparent;
}
.btn__label[data-v-base-button] {
  display: inline-flex;
  align-items: center;
}
.btn__spinner[data-v-base-button] {
  animation: btn-spin-base-button 0.8s linear infinite;
}
@keyframes btn-spin-base-button {
to {
    transform: rotate(360deg);
}
}
/* shared/ui/BaseCombo.vue — data-v-base-combo */
.combo[data-v-base-combo] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.combo__label[data-v-base-combo] {
  font: 500 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
}
.combo__star[data-v-base-combo] {
  margin-left: 2px;
  color: #ef4444;
}
.combo__error[data-v-base-combo] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #ef4444;
}
.combo__hint[data-v-base-combo] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #7b7b7b;
}
.combo__control[data-v-base-combo] {
  height: 40px;
  padding: 0 12px;
  font: 400 14px/20px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
  background-color: #ffffff;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #dfdfdf;
  outline: none;
  transition: box-shadow 120ms cubic-bezier(0.2, 0, 0, 1);
}
.combo__control[data-v-base-combo]::placeholder {
  color: #a1a1a1;
}
.combo__control[data-v-base-combo]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #a1a1a1;
}
.combo__control[data-v-base-combo]:focus, .combo__control[data-v-base-combo]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #3ec696, 0 0 0 3px rgba(62, 198, 150, 0.32);
}
.combo__control[data-v-base-combo]:disabled {
  color: #a1a1a1;
  background-color: #f7f7f7;
  cursor: not-allowed;
}
.combo__control--error[data-v-base-combo] {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.combo__control--error[data-v-base-combo]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.combo__control--error[data-v-base-combo]:focus, .combo__control--error[data-v-base-combo]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #ef4444, 0 0 0 3px rgba(239, 68, 68, 0.2);
}
/* shared/ui/BaseInput.vue — data-v-base-input */
.field[data-v-base-input] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.field__star[data-v-base-input] {
  margin-left: 2px;
  color: #ef4444;
}
.field__label[data-v-base-input] {
  font: 500 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
}
.field__input[data-v-base-input] {
  height: 40px;
  padding: 0 12px;
  font: 400 14px/20px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
  background-color: #ffffff;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #dfdfdf;
  outline: none;
  transition: box-shadow 120ms cubic-bezier(0.2, 0, 0, 1);
}
.field__input[data-v-base-input]::placeholder {
  color: #a1a1a1;
}
.field__input[data-v-base-input]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #a1a1a1;
}
.field__input[data-v-base-input]:focus, .field__input[data-v-base-input]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #3ec696, 0 0 0 3px rgba(62, 198, 150, 0.32);
}
.field__input[data-v-base-input]:disabled {
  color: #a1a1a1;
  background-color: #f7f7f7;
  cursor: not-allowed;
}
.field__input[type=number][data-v-base-input] {
  font-family: "Gotham", Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.field__input--error[data-v-base-input] {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.field__input--error[data-v-base-input]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.field__input--error[data-v-base-input]:focus, .field__input--error[data-v-base-input]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #ef4444, 0 0 0 3px rgba(239, 68, 68, 0.2);
}
.field__error[data-v-base-input] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #ef4444;
}
/* shared/ui/BaseModal.vue — data-v-base-modal */
.modal[data-v-base-modal] {
  width: min(560px, 100vw - 32px);
  padding: 0;
  color: #060812;
  border: none;
  border-radius: 20px;
  box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.18);
}
.modal[data-v-base-modal]::backdrop {
  background: rgba(6, 8, 18, 0.48);
}
.modal__head[data-v-base-modal] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 24px;
  border-bottom: 1px solid #ededed;
}
.modal__title[data-v-base-modal] {
  font: 700 20px/26px "Suisse Intl", Arial, Helvetica, sans-serif;
  letter-spacing: -0.02em;
  margin: 0;
}
.modal__close[data-v-base-modal] {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 22px;
  line-height: 1;
  color: #7b7b7b;
  border-radius: 999px;
  transition: background-color 120ms cubic-bezier(0.2, 0, 0, 1), color 120ms cubic-bezier(0.2, 0, 0, 1);
}
.modal__close[data-v-base-modal]:hover {
  color: #060812;
  background: #f7f7f7;
}
.modal__body[data-v-base-modal] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
}
.modal__actions[data-v-base-modal] {
  display: flex;
  gap: 8px;
  padding: 16px 24px;
  border-top: 1px solid #ededed;
}
/* shared/ui/BaseSelect.vue — data-v-base-select */
.select[data-v-base-select] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.select__label[data-v-base-select] {
  font: 500 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
}
.select__star[data-v-base-select] {
  margin-left: 2px;
  color: #ef4444;
}
.select__error[data-v-base-select] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #ef4444;
}
.select__control[data-v-base-select] {
  height: 40px;
  padding: 0 12px;
  font: 400 14px/20px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
  background-color: #ffffff;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #dfdfdf;
  outline: none;
  transition: box-shadow 120ms cubic-bezier(0.2, 0, 0, 1);
  appearance: none;
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23060812' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  cursor: pointer;
}
.select__control[data-v-base-select]::placeholder {
  color: #a1a1a1;
}
.select__control[data-v-base-select]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #a1a1a1;
}
.select__control[data-v-base-select]:focus, .select__control[data-v-base-select]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #3ec696, 0 0 0 3px rgba(62, 198, 150, 0.32);
}
.select__control[data-v-base-select]:disabled {
  color: #a1a1a1;
  background-color: #f7f7f7;
  cursor: not-allowed;
}
.select__control[data-v-base-select]:disabled {
  cursor: not-allowed;
}
.select__control--error[data-v-base-select] {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.select__control--error[data-v-base-select]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.select__control--error[data-v-base-select]:focus, .select__control--error[data-v-base-select]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #ef4444, 0 0 0 3px rgba(239, 68, 68, 0.2);
}
/* shared/ui/BrandCheck.vue — data-v-brand-check */
.brand-check[data-v-brand-check] {
  display: inline-block;
  flex: none;
}
.brand-check--green[data-v-brand-check] {
  color: #3ec696;
}
.brand-check--black[data-v-brand-check] {
  color: #060812;
}
.brand-check--white[data-v-brand-check] {
  color: #ffffff;
}
/* shared/ui/BrandLogo.vue — data-v-brand-logo */
.brand-logo[data-v-brand-logo] {
  display: inline-flex;
  align-items: center;
}
.brand-logo--center[data-v-brand-logo] {
  justify-content: center;
}
.brand-logo__mark[data-v-brand-logo] {
  display: block;
  height: var(--brand-logo-height, 22px);
  width: auto;
}
/* shared/ui/CodeField.vue — data-v-code-field */
.code[data-v-code-field] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.code__label[data-v-code-field] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #7b7b7b;
}
.code__area[data-v-code-field] {
  width: 100%;
  min-height: 320px;
  padding: 8px;
  font-family: monospace;
  font-size: 12px;
  line-height: 1.5;
  border: 1px solid #dfdfdf;
  border-radius: 4px;
  resize: vertical;
}
.code[data-v-code-field] .CodeMirror {
  height: auto;
  min-height: 320px;
  font-size: 12px;
  line-height: 1.5;
  border: 1px solid #dfdfdf;
  border-radius: 4px;
  resize: vertical;
  overflow: auto;
}
.code[data-v-code-field] .CodeMirror-scroll {
  min-height: 320px;
}
/* shared/ui/CountedInput.vue — data-v-counted-input */
.counted[data-v-counted-input] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.counted__head[data-v-counted-input] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.counted__label[data-v-counted-input] {
  font: 500 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
}
.counted__star[data-v-counted-input] {
  margin-left: 2px;
  color: #ef4444;
}
.counted__count[data-v-counted-input] {
  font: 500 12px/16px "Gotham", Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums;
  color: #a1a1a1;
}
.counted__count--full[data-v-counted-input] {
  color: #854d0e;
}
.counted__input[data-v-counted-input] {
  height: 40px;
  padding: 0 12px;
  font: 400 14px/20px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #060812;
  background-color: #ffffff;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #dfdfdf;
  outline: none;
  transition: box-shadow 120ms cubic-bezier(0.2, 0, 0, 1);
}
.counted__input[data-v-counted-input]::placeholder {
  color: #a1a1a1;
}
.counted__input[data-v-counted-input]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #a1a1a1;
}
.counted__input[data-v-counted-input]:focus, .counted__input[data-v-counted-input]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #3ec696, 0 0 0 3px rgba(62, 198, 150, 0.32);
}
.counted__input[data-v-counted-input]:disabled {
  color: #a1a1a1;
  background-color: #f7f7f7;
  cursor: not-allowed;
}
.counted__input--error[data-v-counted-input] {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.counted__input--error[data-v-counted-input]:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px #ef4444;
}
.counted__input--error[data-v-counted-input]:focus, .counted__input--error[data-v-counted-input]:focus-visible {
  box-shadow: inset 0 0 0 1.5px #ef4444, 0 0 0 3px rgba(239, 68, 68, 0.2);
}
.counted__error[data-v-counted-input] {
  font: 400 13px/18px "Suisse Intl", Arial, Helvetica, sans-serif;
  color: #ef4444;
}
/* shared/ui/NavIcon.vue — data-v-nav-icon */
.nav-icon[data-v-nav-icon] {
  flex: none;
  display: block;
}
/* shared/ui/StatusTag.vue — data-v-status-tag */
.tag[data-v-status-tag] {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  font: 500 12px/16px "Suisse Intl", Arial, Helvetica, sans-serif;
  white-space: nowrap;
  border-radius: 8px;
}
.tag--green[data-v-status-tag] {
  background: #e8f8f1;
  color: #24906b;
}
.tag--dark[data-v-status-tag] {
  background: #060812;
  color: #ffffff;
}
.tag--warn[data-v-status-tag] {
  background: #fefce8;
  color: #854d0e;
}
.tag--muted[data-v-status-tag] {
  background: #ededed;
  color: #7b7b7b;
}
.tag--danger[data-v-status-tag] {
  background: #fef2f2;
  color: #b91c1c;
}
.tag--info[data-v-status-tag] {
  background: #eff6ff;
  color: #1d4ed8;
}
/* shared/ui/TandaIcon.vue — data-v-tanda-icon */
.tanda-icon[data-v-tanda-icon] {
  flex: none;
}