/* Theme overrides: texlabel */
:root {
  --theme-primary: #2D72B5;
  --theme-secondary: #f8f8f8;
  --theme-primary-strong: #1f5f9c;
  --theme-primary-soft: #e7f1fb;
  --theme-primary-button: #f4f9fe;
  --theme-primary-button-hover: #e0eef9;
  --theme-border: #c8d8e8;
  --theme-text: #17324d;
  --theme-muted: #5a728c;
  --theme-surface: #ffffff;
  --theme-shadow: 0 14px 34px rgba(45, 114, 181, 0.14);
}

body {
  background:
    linear-gradient(180deg, #eef5fb 0%, #f8f8f8 180px),
    var(--theme-secondary);
  background-repeat: no-repeat;
  background-size: 100% 180px, auto;
  color: var(--theme-text);
}

.page-login {
  background:
    radial-gradient(circle at top left, rgba(45, 114, 181, 0.14), transparent 32%),
    linear-gradient(180deg, #eef5fb 0%, #f8f8f8 220px),
    var(--theme-secondary);
  background-repeat: no-repeat;
  background-size: cover, 100% 220px, auto;
}

.page-login .login-card {
  border-color: var(--theme-border);
  background: #ffffff;
  box-shadow: var(--theme-shadow);
}

.page-login .login-card__title,
.page-login .login-form__label {
  color: var(--theme-primary-strong);
}

.page-login .login-card__subtitle {
  color: var(--theme-muted);
}

.page-login .login-card__logo {
  border: 0;
  box-shadow: none;
}

.page-login .login-form__input {
  border-color: var(--theme-border);
  color: var(--theme-text);
}

.page-login .login-form__input:focus {
  border-color: var(--theme-primary);
  box-shadow: 0 0 0 3px rgba(45, 114, 181, 0.14);
}

.page-login .login-form__submit {
  border-color: #9fbedc;
  background: var(--theme-primary-button);
  color: var(--theme-primary-strong);
  box-shadow: 0 1px 2px rgba(45, 114, 181, 0.08);
}

.page-login .login-form__submit:hover {
  border-color: var(--theme-primary);
  background: var(--theme-primary-button-hover);
}

.top-menu {
  border-bottom-color: var(--theme-border);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(45, 114, 181, 0.08);
  backdrop-filter: blur(8px);
}

.top-menu__title {
  color: var(--theme-primary-strong);
}

.top-menu__link {
  border-color: var(--theme-border);
  background: #ffffff;
  color: var(--theme-text);
}

.top-menu__link:hover {
  background: var(--theme-primary-soft);
  border-color: #9fbedc;
}

.top-menu__link.is-active {
  background: var(--theme-primary);
  border-color: var(--theme-primary);
  color: #ffffff;
}

.dashboard-panel,
.customer-modal__panel,
.brand-modal__panel,
.user-modal__panel,
.fiber-modal__panel,
.lookup-modal__panel,
.care-symbols-editor-modal__panel,
.project-note-box__panel {
  border-color: var(--theme-border);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow);
}

.dashboard-panel__intro,
.project-toolbar__rows-count,
.project-status {
  color: var(--theme-muted);
}

.dashboard-panel__label,
.project-note-box__title,
.fiber-modal__title,
.lookup-modal__title {
  color: var(--theme-primary-strong);
}

.dashboard-panel__input,
.dashboard-panel__select,
.dashboard-panel__textarea,
.project-toolbar__select,
.project-note-box__textarea,
.fiber-modal__search-input,
.lookup-modal__search-input {
  border-color: var(--theme-border);
  background: #ffffff;
  color: var(--theme-text);
}

.dashboard-panel__input:focus,
.dashboard-panel__select:focus,
.dashboard-panel__textarea:focus,
.project-toolbar__select:focus,
.project-note-box__textarea:focus,
.fiber-modal__search-input:focus,
.lookup-modal__search-input:focus {
  border-color: var(--theme-primary);
  outline: 2px solid rgba(45, 114, 181, 0.14);
  outline-offset: 0;
}

.dashboard-panel__button,
.project-toolbar__button,
.fiber-modal__search-action,
.lookup-modal__search-action {
  border-color: #9fbedc;
  background: var(--theme-primary-button);
  color: var(--theme-primary-strong);
  box-shadow: 0 1px 2px rgba(45, 114, 181, 0.08);
}

.dashboard-panel__button:hover,
.project-toolbar__button:hover,
.fiber-modal__search-action:hover,
.lookup-modal__search-action:hover {
  border-color: var(--theme-primary);
  background: var(--theme-primary-button-hover);
  color: var(--theme-primary-strong);
}

.project-toolbar {
  border-bottom: 1px solid var(--theme-border);
  background: rgba(248, 248, 248, 0.96);
  box-shadow: 0 6px 20px rgba(45, 114, 181, 0.08);
  backdrop-filter: blur(8px);
}

.project-toolbar__divider {
  background: var(--theme-border);
}

.project-toolbar__color-trigger,
.project-table__symbol-filter-button,
.template-list-actions__button,
.password-field__button {
  border-color: var(--theme-border);
  background: #ffffff;
  color: var(--theme-text);
}

.project-toolbar__color-trigger:hover,
.project-table__symbol-filter-button:hover,
.project-table__symbol-filter-button:focus-visible,
.template-list-actions__button:hover,
.template-list-actions__button:focus-visible,
.password-field__button:hover {
  border-color: #9fbedc;
  background: var(--theme-primary-soft);
}

.project-note-box__header,
.fiber-modal__header,
.lookup-modal__header {
  border-bottom-color: var(--theme-border);
  background: linear-gradient(180deg, #fbfdff 0%, #f2f7fc 100%);
}

.project-note-box__close,
.fiber-modal__close,
.lookup-modal__close {
  color: var(--theme-primary-strong);
}

.customers-list__columns,
.customers-list__new,
.customers-list__row,
.users-list__columns,
.users-list__new,
.users-list__row {
  border-color: var(--theme-border);
}

.customers-list__new,
.users-list__new {
  border-color: #9fbedc;
  background: var(--theme-primary-button);
  color: var(--theme-primary-strong);
}

.customers-list__new:hover,
.customers-list__new:focus-visible,
.users-list__new:hover,
.users-list__new:focus-visible {
  border-color: var(--theme-primary);
  background: var(--theme-primary-button-hover);
  color: var(--theme-primary-strong);
}

.customers-list__row:hover,
.customers-list__row:focus-visible,
.users-list__row:hover,
.users-list__row:focus-visible,
.lookup-table tbody tr:hover,
.lookup-table tbody tr.is-selected,
.made-in-table tbody tr:hover,
.made-in-table tbody tr.is-selected,
.fiber-table tbody tr:hover,
.fiber-table tbody tr.is-selected {
  background: var(--theme-primary-soft);
}

.tabulator {
  border-color: var(--theme-border);
  background: #dde9f5;
}

.tabulator .tabulator-header,
.tabulator .tabulator-header .tabulator-col {
  border-color: var(--theme-border);
  background: #edf4fb;
  color: var(--theme-primary-strong);
}

.tabulator-row.tabulator-row-even {
  background: #f8fbfe;
}

.app-toast--error,
.project-status--error {
  color: #b42318;
}
