:root {
    --ui-font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    --ui-font-size-xs: 12px;
    --ui-font-size-sm: 13px;
    --ui-font-size-md: 14px;
    --ui-font-size-lg: 16px;
    --ui-font-size-xl: 20px;
    --ui-font-size-2xl: 22px;
    --ui-font-size-money: 28px;
    --ui-line-tight: 1.2;
    --ui-line-normal: 1.45;
    --ui-weight-regular: 400;
    --ui-weight-medium: 500;
    --ui-weight-semibold: 600;
    --ui-weight-bold: 700;
    --ui-space-1: 4px;
    --ui-space-2: 8px;
    --ui-space-3: 12px;
    --ui-space-4: 16px;
    --ui-space-5: 20px;
    --ui-space-6: 24px;
    --ui-control-height: 32px;
    --ui-control-height-comfort: 36px;
    --ui-icon-button-size: 32px;
    --ui-radius-sm: 6px;
    --ui-radius-md: 8px;
    --ui-radius-lg: 10px;
    --ui-border: var(--maui-gray-200);
    --ui-border-strong: var(--maui-gray-300);
    --ui-toolbar-bg: #eef7fd;
    --ui-toolbar-border: #d6e6f1;
    --ui-control-border: #c7d4df;
    --ui-focus-ring: 0 0 0 2px rgba(54, 125, 172, 0.16);
    --ui-card-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    --ui-modal-shadow: 0 16px 42px rgba(15, 23, 42, 0.20);
}

html,
body {
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-size-md);
    line-height: var(--ui-line-normal);
    letter-spacing: 0;
}

button,
input,
select,
textarea {
    font-family: inherit;
    letter-spacing: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

.maui-page-title {
    font-size: var(--ui-font-size-2xl);
    line-height: var(--ui-line-tight);
    font-weight: var(--ui-weight-bold);
    letter-spacing: 0;
}

.maui-title-text,
.text-maui-title {
    font-size: var(--ui-font-size-xl);
    line-height: var(--ui-line-tight);
    font-weight: var(--ui-weight-bold);
    letter-spacing: 0;
}

.maui-subheadline-text,
.text-maui-subheadline {
    font-size: var(--ui-font-size-lg);
    line-height: var(--ui-line-tight);
    font-weight: var(--ui-weight-bold);
}

.maui-muted-text {
    color: var(--maui-text-secondary);
    font-size: var(--ui-font-size-sm);
    line-height: var(--ui-line-normal);
}

.maui-app-main,
.content {
    min-width: 0;
}

.content {
    overflow-x: hidden;
}

.maui-secondary-filter-bar,
.filter-bar,
.selector-filter-panel,
.database-filter-bar,
.maui-management-toolbar,
.maui-estimate-toolbar,
.counterparties-search-row,
.history-controls,
.maui-fr-modal-filters,
.maui-fr-counterparty-search-toolbar,
.accounting-journal-filter,
.accounting-report-toolbar,
.bills-page-toolbar {
    min-height: 56px;
    padding: 10px 14px;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--ui-toolbar-border);
    border-radius: var(--ui-radius-md);
    background: var(--ui-toolbar-bg);
}

.maui-management-toolbar {
    align-items: center;
}

.selector-filter-panel {
    border-bottom: 1px solid var(--ui-toolbar-border);
}

.maui-fr-modal-filters,
.maui-fr-counterparty-search-toolbar,
.counterparties-search-row,
.history-controls {
    margin: 0;
}

.maui-filter-group,
.bills-page-date-range,
.fr-counterparty-search-picker {
    gap: 8px;
    align-items: center;
}

.maui-secondary-filter-bar label,
.filter-bar label,
.selector-filter-panel label,
.database-filter-bar label,
.maui-management-toolbar label,
.maui-estimate-toolbar label,
.counterparties-search-row label,
.history-controls label,
.maui-fr-modal-filters label,
.maui-fr-counterparty-search-toolbar label,
.accounting-journal-filter label,
.accounting-report-toolbar label,
.bills-page-toolbar label,
.bills-page-filter-bar label {
    margin: 0;
    color: var(--maui-text-primary);
    font-size: var(--ui-font-size-md);
    font-weight: var(--ui-weight-bold);
    line-height: var(--ui-line-tight);
}

.maui-secondary-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.selector-filter-panel :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.database-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.maui-management-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.maui-estimate-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.counterparties-search-row :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .btn, .history-control, .history-toggle),
.history-controls :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .btn, .history-control, .history-toggle),
.maui-fr-modal-filters :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .fr-icon-button, .maui-file-picker-row, .maui-fr-search-button),
.maui-fr-counterparty-search-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .fr-icon-button, .maui-fr-search-button),
.accounting-journal-filter :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.accounting-report-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.bills-page-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.bills-page-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .bills-page-inline-select, .bills-page-date-input, .bills-page-search-input, .btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .bills-page-reset-button) {
    min-height: var(--ui-control-height-comfort);
    height: var(--ui-control-height-comfort);
    border-radius: var(--ui-radius-md);
    font-size: var(--ui-font-size-md);
    line-height: var(--ui-line-tight);
}

.maui-secondary-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.selector-filter-panel :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.database-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.maui-management-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.maui-estimate-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.counterparties-search-row :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .history-control, .history-toggle),
.history-controls :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .history-control, .history-toggle),
.maui-fr-modal-filters :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.maui-fr-counterparty-search-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.accounting-journal-filter :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.accounting-report-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.bills-page-toolbar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search),
.bills-page-filter-bar :is(.maui-form-input, .maui-form-select, .maui-input, .maui-compact-select, .maui-inline-picker, .maui-filter-search, .bills-page-inline-select, .bills-page-date-input, .bills-page-search-input) {
    border-color: var(--ui-control-border);
    background-color: var(--maui-white);
    color: var(--maui-text-primary);
}

.maui-secondary-filter-bar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.filter-bar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.selector-filter-panel :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.database-filter-bar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.maui-management-toolbar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.maui-estimate-toolbar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.counterparties-search-row :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .btn),
.history-controls :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .btn),
.maui-fr-modal-filters :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .fr-icon-button, .maui-fr-search-button),
.maui-fr-counterparty-search-toolbar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .fr-icon-button, .maui-fr-search-button),
.accounting-journal-filter :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.accounting-report-toolbar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.bills-page-toolbar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success),
.bills-page-filter-bar :is(.btn-maui-primary, .btn-maui-accent, .btn-maui-danger, .btn-maui-success, .bills-page-reset-button) {
    padding: 0 16px;
    font-weight: var(--ui-weight-semibold);
    white-space: nowrap;
}

.counterparties-search-box {
    min-height: var(--ui-control-height-comfort);
}

.counterparties-search-box .maui-form-input {
    height: var(--ui-control-height-comfort);
    min-height: var(--ui-control-height-comfort);
    border-color: var(--ui-control-border);
    border-radius: var(--ui-radius-md);
    font-size: var(--ui-font-size-md);
}

.bills-page-search-wrap {
    min-height: var(--ui-control-height-comfort);
    padding: 0 10px;
    border: 1px solid var(--ui-control-border);
    border-radius: var(--ui-radius-md);
    background: var(--maui-white);
}

.bills-page-search-wrap .bills-page-search-input {
    height: 34px;
    min-height: 34px;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.bills-page-filters-toggle,
.accounting-filters-toggle {
    height: var(--ui-control-height-comfort);
    border-radius: var(--ui-radius-md);
}

.maui-fr-modal-filters .fr-icon-button,
.maui-fr-counterparty-search-toolbar .fr-icon-button {
    flex: 0 0 var(--ui-control-height-comfort);
    width: var(--ui-control-height-comfort);
    min-width: var(--ui-control-height-comfort);
    height: var(--ui-control-height-comfort);
    padding: 8px;
}

.maui-fr-modal-filters .maui-fr-search-button,
.maui-fr-counterparty-search-toolbar .maui-fr-search-button {
    width: var(--ui-control-height-comfort);
    min-width: var(--ui-control-height-comfort);
    height: var(--ui-control-height-comfort);
    padding: 0;
}

.btn-maui-primary:focus-visible,
.btn-maui-accent:focus-visible,
.btn-maui-danger:focus-visible,
.btn-maui-success:focus-visible,
.btn-maui-icon-menu:focus-visible,
.maui-form-input:focus,
.maui-form-select:focus,
.maui-form-textarea:focus,
.maui-input:focus {
    border-color: var(--maui-brand-primary);
    outline: 0;
    box-shadow: var(--ui-focus-ring);
}

.subscription-confirm-modal,
.subscription-payment-modal {
    box-shadow: var(--ui-modal-shadow);
}

@media (max-width: 760px) {
    .maui-page-title {
        font-size: var(--ui-font-size-xl);
    }

    .maui-title-text,
    .text-maui-title {
        font-size: 18px;
    }
}
