/* Styles for permissions matrix */
.permissions-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.permissions-table th {
    background-color: #f5f5f5;
    position: sticky;
    top: 0;
    z-index: 10;
}

.permissions-table .module-name {
    font-weight: bold;
    vertical-align: middle !important;
    background-color: #f9f9f9;
    position: sticky;
    left: 0;
    z-index: 5;
}

.permissions-table .permission-name {
    position: sticky;
    left: 150px;
    background-color: #fff;
    z-index: 5;
}

.permissions-table tr.info {
    border-top: 2px solid #ddd;
}

/* Style for select all checkbox */
.select-all-label {
    font-weight: normal;
    cursor: pointer;
    margin-bottom: 0;
}

/* Style for module checkboxes */
.module-name div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.select-module, .select-column {
    cursor: pointer;
    transform: scale(1.2);
    margin-right: 5px;
}

/* Hover effect for better UX */
.permissions-table tr:hover {
    background-color: #f0f8ff !important;
}

.permissions-table input[type="checkbox"] {
    cursor: pointer;
}

:root {
    --ui-accent: #2c8edd;
    --ui-accent-strong: #1e73b8;
    --ui-accent-soft: #eef6ff;
    --ui-border: #d6e0db;
    --ui-border-strong: #c2cfc8;
    --ui-text: #22313f;
    --ui-muted: #6b7785;
    --ui-surface: #ffffff;
    --ui-surface-alt: #f7faf8;
    --ui-shadow-sm: 0 4px 14px rgba(34, 49, 63, 0.06);
    --ui-shadow-md: 0 14px 32px rgba(34, 49, 63, 0.08);
}

body {
    color: var(--ui-text);
}

a {
    color: var(--ui-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.18s ease, opacity 0.18s ease, text-decoration-color 0.18s ease;
}

a:hover,
a:focus {
    color: var(--ui-accent-strong);
    text-decoration: none;
}

#content,
.panel,
.install-panel,
.modal-content {
    border-color: var(--ui-border);
    border-radius: 16px;
    box-shadow: var(--ui-shadow-md);
}

.panel-heading,
#content > .panel-heading,
.install-panel > .panel-heading,
.modal-header {
    background: linear-gradient(180deg, #fbfdfc 0%, #f2f7f5 100%);
    border-bottom-color: var(--ui-border);
}

.panel-heading,
.modal-header {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}

.panel-title,
.modal-title {
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #1d2935;
}

.panel-footer,
.modal-footer {
    background: var(--ui-surface-alt);
    border-top-color: var(--ui-border);
}

.form-group > label,
.control-label,
label:not(.btn):not(.radio-inline):not(.checkbox-inline) {
    color: #51606f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.form-control,
.input-group-addon,
.select2-container--bootstrap .select2-selection,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    border-color: var(--ui-border-strong);
    border-radius: 10px;
    box-shadow: inset 0 1px 2px rgba(34, 49, 63, 0.04);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.form-control {
    min-height: 40px;
    padding: 9px 12px;
    background-color: var(--ui-surface);
}

textarea.form-control,
select[multiple].form-control {
    min-height: 96px;
}

select.form-control {
    padding-right: 32px;
}

.form-control:hover,
.input-group-addon:hover,
.select2-container--bootstrap .select2-selection:hover,
.select2-container .select2-selection--single:hover,
.select2-container .select2-selection--multiple:hover {
    border-color: #b3c4bc;
}

.form-control:focus,
.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--ui-accent);
    box-shadow: 0 0 0 3px rgba(44, 142, 221, 0.14);
}

.help-block,
.text-muted {
    color: var(--ui-muted);
}

.input-group-addon {
    background: var(--ui-surface-alt);
    color: var(--ui-muted);
}

.btn {
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.btn:hover,
.btn:focus {
    transform: translateY(-1px);
}

.btn-default {
    color: #22313f;
    background: #ffffff;
    border-color: var(--ui-border-strong);
    box-shadow: var(--ui-shadow-sm);
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus {
    color: #18222d;
    background: #f8fbfa;
    border-color: #aebfb7;
}

.btn-primary {
    box-shadow: 0 10px 20px rgba(44, 142, 221, 0.18);
}

.btn-success {
    box-shadow: 0 10px 20px rgba(71, 164, 71, 0.18);
}

.btn-danger {
    box-shadow: 0 10px 20px rgba(217, 83, 79, 0.18);
}

.btn-link {
    color: var(--ui-accent);
    font-weight: 600;
}

.btn-link:hover,
.btn-link:focus {
    color: var(--ui-accent-strong);
}

.table > thead > tr > th {
    border-bottom-color: var(--ui-border);
    color: #4f5f6d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#submenu {
    margin-bottom: 14px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(214, 224, 219, 0.9);
    border-radius: 14px;
    box-shadow: var(--ui-shadow-sm);
    backdrop-filter: blur(8px);
}

#submenu .nav,
#submenu .nav-tabs,
.nav-tabs {
    border-bottom: 0;
}

#submenu .nav > li > a,
#submenu .nav-tabs > li > a,
.nav-tabs > li > a {
    margin-right: 6px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #526171;
    font-weight: 600;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

#submenu .nav > li > a:hover,
#submenu .nav-tabs > li > a:hover,
.nav-tabs > li > a:hover,
#submenu .nav > li > a:focus,
#submenu .nav-tabs > li > a:focus,
.nav-tabs > li > a:focus {
    background: var(--ui-accent-soft);
    border-color: rgba(44, 142, 221, 0.14);
    color: var(--ui-accent-strong);
}

#submenu .nav > li.active > a,
#submenu .nav > li.active > a:hover,
#submenu .nav > li.active > a:focus,
#submenu .nav-tabs > li.active > a,
#submenu .nav-tabs > li.active > a:hover,
#submenu .nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    background: #ffffff;
    border-color: var(--ui-border);
    color: var(--ui-accent-strong);
    box-shadow: var(--ui-shadow-sm);
}

.model-pager {
    gap: 6px;
}

.model-pager .btn {
    border-radius: 10px !important;
}

.table > tbody > tr > td a:not(.btn),
.table > tbody > tr > th a:not(.btn) {
    font-weight: 600;
}

@media (max-width: 767px) {
    #content,
    .panel,
    .install-panel,
    .modal-content {
        border-radius: 12px;
    }

    .panel-heading,
    .modal-header {
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
    }

    .btn {
        width: auto;
    }
}

body {
    background:
        radial-gradient(circle at top left, rgba(44, 142, 221, 0.08), transparent 28%),
        linear-gradient(180deg, #f4f8f6 0%, #eef3f1 100%);
}

.navbar.navbar-inverse {
    margin-bottom: 0;
    background: linear-gradient(135deg, #1f5f99 0%, #2c8edd 45%, #57a8e9 100%);
    border-color: rgba(21, 71, 116, 0.92);
    box-shadow: 0 12px 30px rgba(30, 115, 184, 0.18);
}

.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-text,
.navbar-inverse .navbar-link,
.navbar-inverse .btn-link {
    color: rgba(255, 255, 255, 0.88);
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus,
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
}

.navbar-inverse .dropdown-menu {
    border: 1px solid rgba(214, 224, 219, 0.9);
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(30, 115, 184, 0.18);
    padding: 10px;
}

.navbar-inverse .dropdown-menu > li > a,
.navbar-inverse .dropdown-menu .dropdown-header {
    border-radius: 10px;
}

.navbar-inverse .dropdown-menu > li > a {
    padding: 9px 12px;
    color: #314250;
}

.navbar-inverse .dropdown-menu > li > a:hover,
.navbar-inverse .dropdown-menu > li > a:focus {
    background: var(--ui-accent-soft);
    color: var(--ui-accent-strong);
}

.navbar-inverse .dropdown-menu .dropdown-header {
    color: #51606f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.navbar-inverse .dropdown-menu .divider {
    margin: 8px 0;
    background-color: rgba(214, 224, 219, 0.85);
}

#main-area {
    gap: 0;
    align-items: stretch;
}

#main-content {
    min-height: calc(100vh - 52px);
    border-left: 1px solid rgba(214, 224, 219, 0.8);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(247, 250, 248, 0.9) 100%);
}

.sidebar {
    width: 78px;
    background: linear-gradient(180deg, #ffffff 0%, #f5faf7 100%);
    border-right: 1px solid rgba(214, 224, 219, 0.85);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.7);
}

.sidebar ul {
    padding: 10px 0;
}

.sidebar li a {
    margin: 8px 10px;
    padding: 12px 10px;
    border: 1px solid transparent;
    border-radius: 16px;
    color: #556474;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sidebar li a:hover,
.sidebar li a:focus {
    color: var(--ui-accent-strong);
    background: var(--ui-accent-soft);
    border-color: rgba(44, 142, 221, 0.16);
    box-shadow: var(--ui-shadow-sm);
    transform: translateY(-1px);
}

.sidebar li.active a,
.sidebar li.active a:hover,
.sidebar li.active a:focus {
    color: #ffffff;
    background: linear-gradient(135deg, #2c8edd 0%, #1e73b8 100%);
    border-color: transparent;
    box-shadow: 0 12px 24px rgba(44, 142, 221, 0.22);
}

#headerbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 68px;
    margin: 12px 12px 0;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(214, 224, 219, 0.92);
    border-radius: 18px;
    box-shadow: var(--ui-shadow-sm);
    backdrop-filter: blur(12px);
}

#headerbar .headerbar-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #1f2d3a;
}

#headerbar .headerbar-item {
    float: none !important;
}

#headerbar .headerbar-item.pull-right {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

#content,
.tab-content {
    margin: 12px;
}

#content.table-content,
.tab-content.table-content {
    margin-top: 0;
}

.table-responsive,
#filter_results,
.tab-rich-content,
.well {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(214, 224, 219, 0.88);
    border-radius: 18px;
    box-shadow: var(--ui-shadow-sm);
}

.table-responsive,
#filter_results,
.tab-rich-content {
    overflow: hidden;
}

.table-responsive,
.tab-rich-content,
.well {
    padding: 14px;
}

#filter_results > .table-responsive,
#filter_results > .table,
#filter_results > .row,
#filter_results > form,
#filter_results > .panel,
#filter_results > .tabbable {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.table > thead > tr > th {
    background: #f6faf8;
}

.table > tbody > tr {
    transition: background-color 0.18s ease;
}

.table-hover > tbody > tr:hover,
.table > tbody > tr:hover {
    background-color: rgba(44, 142, 221, 0.05);
}

.alert {
    border: 1px solid transparent;
    border-radius: 14px;
    box-shadow: var(--ui-shadow-sm);
}

.alert-success {
    color: #134b3d;
    background: #edf8f3;
    border-color: #cde7db;
}

.alert-danger,
.alert-error {
    color: #7f2f32;
    background: #fff4f4;
    border-color: #f1d3d4;
}

.alert-warning {
    color: #7a581a;
    background: #fff8ea;
    border-color: #f2dfb1;
}

.alert-info {
    color: #245269;
    background: #eff7fb;
    border-color: #cde2ee;
}

.modal-content {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);
}

.invoice-modal .modal-content {
    overflow: hidden;
}

.invoice-modal .modal-header {
    background: linear-gradient(135deg, #1f5f99 0%, #2c8edd 100%);
    color: #fff;
}

.invoice-modal .modal-header .close,
.invoice-modal .modal-title,
.invoice-modal .panel-title {
    color: #fff;
}

.invoice-modal .modal-header .close {
    opacity: 0.9;
}

.invoice-modal-intro {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #d9e4f3;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    color: #47606b;
}

.invoice-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.invoice-modal-grid .form-group {
    margin-bottom: 0;
}

.invoice-modal-grid .is-full {
    grid-column: 1 / -1;
}

.invoice-modal-list {
    margin: 0;
    padding-left: 18px;
    color: #526277;
}

.invoice-modal-list li + li {
    margin-top: 6px;
}

.settings-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    width: 100%;
}

.settings-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.settings-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.settings-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.settings-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-table-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    padding: 6px;
}

.admin-table {
    margin-bottom: 0;
}

.admin-table thead th {
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 11px;
    color: #526277;
    background: #f8fbff;
    border-bottom: 1px solid #dbe6f3;
}

.schedule-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.schedule-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.schedule-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.schedule-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.schedule-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.schedule-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.schedule-intro,
.schedule-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.schedule-card,
.schedule-form-card,
.schedule-action-card,
.schedule-stat-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.schedule-card > .panel-heading,
.schedule-form-card > .panel-heading,
.schedule-action-card > .panel-heading,
.schedule-stat-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.schedule-form-card > .panel-body,
.schedule-card > .panel-body,
.schedule-action-card > .panel-body,
.schedule-stat-card > .panel-body {
    padding: 22px;
}

.schedule-checkbox-list {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid #d8e4f2;
    border-radius: 12px;
    background: #f9fbff;
    padding: 12px 14px;
}

.schedule-action-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.schedule-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.schedule-status-badge.is-planned {
    background: #e8f0ff;
    color: #2453a6;
}

.schedule-status-badge.is-complete {
    background: #e9f8ef;
    color: #217346;
}

.schedule-status-badge.is-cancelled {
    background: #fff0f0;
    color: #b23b3b;
}

.schedule-info-list {
    display: grid;
    gap: 10px;
}

.schedule-info-item {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.schedule-info-item strong {
    display: block;
    margin-bottom: 4px;
    color: #1e4779;
}

.schedule-table-caption {
    margin-bottom: 16px;
    color: #526277;
}

.vehicle-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.vehicle-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.vehicle-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vehicle-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vehicle-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.vehicle-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.vehicle-intro,
.vehicle-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.vehicle-card,
.vehicle-form-card,
.vehicle-danger-card,
.vehicle-summary-card,
.vehicle-alert-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.vehicle-card > .panel-heading,
.vehicle-form-card > .panel-heading,
.vehicle-danger-card > .panel-heading,
.vehicle-summary-card > .panel-heading,
.vehicle-alert-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.vehicle-danger-card > .panel-heading {
    background: linear-gradient(135deg, #fff4f4 0%, #ffe8e8 100%);
    color: #8f2f2f;
    border-bottom-color: #f3d4d4;
}

.vehicle-card > .panel-body,
.vehicle-form-card > .panel-body,
.vehicle-danger-card > .panel-body,
.vehicle-summary-card > .panel-body,
.vehicle-alert-card > .panel-body {
    padding: 22px;
}

.vehicle-status-badge,
.vehicle-deadline-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.vehicle-status-badge.is-active,
.vehicle-deadline-badge.is-ok {
    background: #e9f8ef;
    color: #217346;
}

.vehicle-status-badge.is-service,
.vehicle-deadline-badge.is-warning {
    background: #fff6e6;
    color: #9b6400;
}

.vehicle-status-badge.is-sold {
    background: #f2f5f9;
    color: #586779;
}

.vehicle-status-badge.is-inactive,
.vehicle-deadline-badge.is-danger {
    background: #fff0f0;
    color: #b23b3b;
}

.vehicle-info-table {
    margin-bottom: 0;
}

.vehicle-info-table > tbody > tr > th {
    width: 38%;
    color: #526277;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.vehicle-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.vehicle-action-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vehicle-legend {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.vehicle-legend .alert {
    margin-bottom: 0;
}

.purchase-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.purchase-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.purchase-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.purchase-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.purchase-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.purchase-page-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.purchase-page-actions .btn-group,
.purchase-page-actions form,
.purchase-page-actions .purchase-inline-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
}

.purchase-intro,
.purchase-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.purchase-card,
.purchase-form-card,
.purchase-summary-card,
.purchase-preview-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.purchase-card > .panel-heading,
.purchase-form-card > .panel-heading,
.purchase-summary-card > .panel-heading,
.purchase-preview-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.purchase-card > .panel-body,
.purchase-form-card > .panel-body,
.purchase-summary-card > .panel-body,
.purchase-preview-card > .panel-body {
    padding: 22px;
}

.purchase-summary-tile {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    padding: 18px;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.purchase-summary-tile h4 {
    margin-top: 0;
    color: #526277;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
}

.purchase-summary-tile h3 {
    margin-bottom: 0;
}

.purchase-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.purchase-status-badge.is-draft {
    background: #f2f5f9;
    color: #586779;
}

.purchase-status-badge.is-unpaid,
.purchase-status-badge.is-sent {
    background: #eef5ff;
    color: #2453a6;
}

.purchase-status-badge.is-paid {
    background: #e9f8ef;
    color: #217346;
}

.purchase-status-badge.is-canceled,
.purchase-status-badge.is-overdue {
    background: #fff0f0;
    color: #b23b3b;
}

.purchase-status-badge.is-ksef {
    background: #edf8ff;
    color: #17607c;
}

.purchase-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.purchase-detail-card {
    border: 1px solid #e2ebf6;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.purchase-detail-card .panel-heading {
    background: #f8fbff;
    border-bottom: 1px solid #e7eef7;
    color: #1e4779;
}

.purchase-detail-card .panel-body {
    padding: 18px;
}

.purchase-info-table {
    margin-bottom: 0;
}

.purchase-info-table > tbody > tr > td:first-child,
.purchase-info-table > tbody > tr > th {
    color: #526277;
    width: 42%;
}

.purchase-qr-code {
    border: 1px solid #d7dee6;
    border-radius: 12px;
    background: #f8fbff;
    padding: 16px 20px;
}

.purchase-qr-code-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

.purchase-qr-code-image {
    flex-shrink: 0;
    line-height: 0;
}

.purchase-qr-code-img {
    display: block;
    border-radius: 8px;
}

.purchase-qr-code-text {
    font-size: 13px;
    color: #526277;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .purchase-qr-code {
        display: none;
    }
}

.purchase-filter-card .panel-body {
    padding-bottom: 16px;
}

.purchase-table-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.purchase-table-card .table-responsive {
    margin-bottom: 0;
}

.purchase-table-card .panel-heading {
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    border-bottom: 1px solid #e7eef7;
    color: #1e4779;
}

.purchase-preview-frame {
    height: 85vh;
    padding: 0;
    overflow: hidden;
    background: #f3eee5;
}

.purchase-preview-frame.is-file {
    background: #525659;
}

.knowledge-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.knowledge-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.knowledge-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.knowledge-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.knowledge-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.knowledge-page-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.knowledge-intro,
.knowledge-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.knowledge-card,
.knowledge-form-card,
.knowledge-sidebar-card,
.knowledge-article-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.knowledge-card > .panel-heading,
.knowledge-form-card > .panel-heading,
.knowledge-sidebar-card > .panel-heading,
.knowledge-article-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.knowledge-card > .panel-body,
.knowledge-form-card > .panel-body,
.knowledge-sidebar-card > .panel-body,
.knowledge-article-card > .panel-body {
    padding: 22px;
}

.knowledge-grid-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.knowledge-grid-card .panel-heading {
    background: transparent;
    border-bottom: 1px solid #e7eef7;
    color: #1e4779;
}

.knowledge-grid-card .panel-body {
    padding: 18px;
}

.knowledge-admin-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

.knowledge-admin-nav > li {
    margin: 0;
}

.knowledge-admin-nav > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #dbe6f3;
    border-radius: 999px;
    background: #fff;
    color: #46607d;
    font-weight: 600;
}

.knowledge-admin-nav > li.active > a,
.knowledge-admin-nav > li > a:hover,
.knowledge-admin-nav > li > a:focus {
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    border-color: #c9dbf1;
    color: #1f4f95;
}

.knowledge-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.knowledge-status-badge.is-active,
.knowledge-status-badge.is-published,
.knowledge-status-badge.is-ok {
    background: #e9f8ef;
    color: #217346;
}

.knowledge-status-badge.is-hidden,
.knowledge-status-badge.is-draft {
    background: #f2f5f9;
    color: #586779;
}

.knowledge-status-badge.is-warning,
.knowledge-status-badge.is-archived {
    background: #fff6e6;
    color: #9b6400;
}

.knowledge-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.knowledge-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.knowledge-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.service-equipment-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.service-equipment-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.service-equipment-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.service-equipment-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.service-equipment-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.service-equipment-page-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.service-equipment-intro,
.service-equipment-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.service-equipment-card,
.service-equipment-form-card,
.service-equipment-summary-card,
.service-equipment-filter-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.service-equipment-card > .panel-heading,
.service-equipment-form-card > .panel-heading,
.service-equipment-summary-card > .panel-heading,
.service-equipment-filter-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.service-equipment-card > .panel-body,
.service-equipment-form-card > .panel-body,
.service-equipment-summary-card > .panel-body,
.service-equipment-filter-card > .panel-body {
    padding: 22px;
}

.service-equipment-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.service-equipment-inline-form .form-group {
    margin-bottom: 0;
}

.service-equipment-inline-form .btn {
    margin-left: 0 !important;
}

.service-equipment-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.service-equipment-status-badge.is-active,
.service-equipment-status-badge.is-ok {
    background: #e9f8ef;
    color: #217346;
}

.service-equipment-status-badge.is-inactive {
    background: #f2f5f9;
    color: #586779;
}

.service-equipment-status-badge.is-warning,
.service-equipment-status-badge.is-overdue {
    background: #fff6e6;
    color: #9b6400;
}

.service-equipment-status-badge.is-danger {
    background: #fdecec;
    color: #ad2f45;
}

.service-equipment-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.service-equipment-info-table > tbody > tr > th {
    width: 220px;
    color: #46607d;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 12px;
}

.service-equipment-action-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.service-equipment-summary-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.service-equipment-summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e7eef7;
}

.service-equipment-summary-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.service-equipment-summary-item strong {
    color: #1e4779;
}

.refrigerant-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.refrigerant-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.refrigerant-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.refrigerant-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.refrigerant-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.refrigerant-page-actions,
.refrigerant-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.refrigerant-intro,
.refrigerant-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.refrigerant-card,
.refrigerant-form-card,
.refrigerant-summary-card,
.refrigerant-operation-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.refrigerant-card > .panel-heading,
.refrigerant-form-card > .panel-heading,
.refrigerant-summary-card > .panel-heading,
.refrigerant-operation-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.refrigerant-card > .panel-body,
.refrigerant-form-card > .panel-body,
.refrigerant-summary-card > .panel-body,
.refrigerant-operation-card > .panel-body {
    padding: 22px;
}

.refrigerant-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.refrigerant-status-badge.is-inbound,
.refrigerant-status-badge.is-ok,
.refrigerant-status-badge.is-new {
    background: #e9f8ef;
    color: #217346;
}

.refrigerant-status-badge.is-outbound,
.refrigerant-status-badge.is-warning,
.refrigerant-status-badge.is-recovered,
.refrigerant-status-badge.is-disposal {
    background: #fff6e6;
    color: #9b6400;
}

.refrigerant-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.refrigerant-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.refrigerant-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.refrigerant-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.refrigerant-summary-tile strong {
    color: #1e4779;
    font-size: 22px;
}

.refrigerant-category-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.refrigerant-category-switch .btn {
    margin: 0;
}

.refrigerant-effect-box {
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.czas-pracy-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.czas-pracy-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.czas-pracy-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.czas-pracy-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.czas-pracy-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.czas-pracy-page-actions,
.czas-pracy-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.czas-pracy-intro,
.czas-pracy-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.czas-pracy-card,
.czas-pracy-form-card,
.czas-pracy-summary-card,
.czas-pracy-filter-card,
.czas-pracy-report-card,
.czas-pracy-mobile-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.czas-pracy-card > .panel-heading,
.czas-pracy-form-card > .panel-heading,
.czas-pracy-summary-card > .panel-heading,
.czas-pracy-filter-card > .panel-heading,
.czas-pracy-report-card > .panel-heading,
.czas-pracy-mobile-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.czas-pracy-card > .panel-body,
.czas-pracy-form-card > .panel-body,
.czas-pracy-summary-card > .panel-body,
.czas-pracy-filter-card > .panel-body,
.czas-pracy-report-card > .panel-body,
.czas-pracy-mobile-card > .panel-body {
    padding: 22px;
}

.czas-pracy-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.czas-pracy-inline-form .form-group {
    margin-bottom: 0;
}

.czas-pracy-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.czas-pracy-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.czas-pracy-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.czas-pracy-summary-tile strong {
    color: #1e4779;
    font-size: 22px;
}

.czas-pracy-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.czas-pracy-status-badge.is-info,
.czas-pracy-status-badge.is-open,
.czas-pracy-status-badge.is-received {
    background: #eef5ff;
    color: #1f4f95;
}

.czas-pracy-status-badge.is-success,
.czas-pracy-status-badge.is-processed,
.czas-pracy-status-badge.is-balanced {
    background: #e9f8ef;
    color: #217346;
}

.czas-pracy-status-badge.is-warning,
.czas-pracy-status-badge.is-duplicate,
.czas-pracy-status-badge.is-pending {
    background: #fff6e6;
    color: #9b6400;
}

.czas-pracy-status-badge.is-danger,
.czas-pracy-status-badge.is-error {
    background: #fdecec;
    color: #ad2f45;
}

.czas-pracy-range-row,
.czas-pracy-time-range-row {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid #dbe6f3;
    border-radius: 14px;
    background: #f9fbff;
}

.czas-pracy-range-row:first-child,
.czas-pracy-time-range-row:first-child {
    background: linear-gradient(135deg, #f7fbff 0%, #eef5ff 100%);
}

.czas-pracy-summary-box {
    background: linear-gradient(135deg, #f7fbff 0%, #edf4ff 100%);
    border: 1px solid #dbe6f3;
    border-radius: 14px;
    color: #36506c;
}

.czas-pracy-summary-box #zakresy-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.czas-pracy-help-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.czas-pracy-logs-table td {
    vertical-align: top;
}

.czas-pracy-logs-table .event-row td {
    background-color: #f5faff;
}

.czas-pracy-logs-actions .btn + .btn {
    margin-top: 6px;
}

.czas-pracy-session-event-summary {
    margin-top: 6px;
}

.czas-pracy-session-event-row {
    margin-bottom: 4px;
}

.czas-pracy-logs-payload {
    min-width: 220px;
    max-width: 320px;
}

.czas-pracy-logs-payload pre {
    white-space: pre-wrap;
    max-height: 220px;
    overflow: auto;
    margin: 0;
}

.czas-pracy-row-highlight {
    animation: czas-pracy-highlight 2s ease 0s;
    background-color: #fff7cc !important;
}

@keyframes czas-pracy-highlight {
    0% {
        background-color: #fff7cc;
    }
    100% {
        background-color: transparent;
    }
}

.czas-pracy-balance-note {
    margin-top: 10px;
}

.reports-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.reports-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.reports-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reports-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.reports-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.reports-page-actions,
.reports-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.reports-intro,
.reports-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.reports-card,
.reports-form-card,
.reports-summary-card,
.reports-filter-card,
.reports-ksef-card,
.reports-stat-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.reports-card > .panel-heading,
.reports-form-card > .panel-heading,
.reports-summary-card > .panel-heading,
.reports-filter-card > .panel-heading,
.reports-ksef-card > .card-header {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.reports-card > .panel-body,
.reports-form-card > .panel-body,
.reports-summary-card > .panel-body,
.reports-filter-card > .panel-body {
    padding: 22px;
}

.reports-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.reports-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.reports-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.reports-summary-tile strong {
    color: #1e4779;
    font-size: 22px;
}

.reports-tax-tile {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 18px;
    text-align: center;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.reports-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.reports-status-badge.is-success {
    background: #e9f8ef;
    color: #217346;
}

.reports-status-badge.is-info {
    background: #eef5ff;
    color: #1f4f95;
}

.reports-status-badge.is-warning {
    background: #fff6e6;
    color: #9b6400;
}

.reports-status-badge.is-danger {
    background: #fdecec;
    color: #ad2f45;
}

.reports-note-box {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
}

.reports-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.reports-inline-form .form-group {
    margin-bottom: 0;
}

.reports-ksef-code,
.reports-code {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 8px;
    background: #f5f7fb;
    color: #9d2f62;
}

.reports-pre {
    border: 1px solid #dbe6f3;
    border-radius: 12px;
    background: #fff;
    font-size: 12px;
}

.annual-schedule-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.annual-schedule-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.annual-schedule-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.annual-schedule-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.annual-schedule-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.annual-schedule-page-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.annual-schedule-intro,
.annual-schedule-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.annual-schedule-card,
.annual-schedule-form-card,
.annual-schedule-summary-card,
.annual-schedule-filter-card,
.annual-schedule-stat-card,
.annual-schedule-month-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.annual-schedule-card > .panel-heading,
.annual-schedule-form-card > .panel-heading,
.annual-schedule-summary-card > .panel-heading,
.annual-schedule-filter-card > .panel-heading,
.annual-schedule-stat-card > .panel-heading,
.annual-schedule-month-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.annual-schedule-card > .panel-body,
.annual-schedule-form-card > .panel-body,
.annual-schedule-summary-card > .panel-body,
.annual-schedule-filter-card > .panel-body,
.annual-schedule-stat-card > .panel-body,
.annual-schedule-month-card > .panel-body {
    padding: 22px;
}

.annual-schedule-summary-grid,
.annual-schedule-month-grid,
.annual-schedule-stat-grid {
    display: grid;
    gap: 14px;
}

.annual-schedule-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.annual-schedule-month-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.annual-schedule-stat-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.annual-schedule-summary-tile,
.annual-schedule-stat-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.annual-schedule-summary-tile span,
.annual-schedule-stat-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.annual-schedule-summary-tile strong,
.annual-schedule-stat-tile strong {
    color: #1e4779;
    font-size: 24px;
}

.annual-schedule-summary-tile small,
.annual-schedule-stat-tile small {
    color: #74869c;
}

.annual-schedule-month-link {
    display: block;
    text-decoration: none !important;
    color: inherit;
}

.annual-schedule-month-link:hover,
.annual-schedule-month-link:focus {
    text-decoration: none;
    color: inherit;
}

.annual-schedule-month-card.is-current {
    border-color: #9cc2f3;
    box-shadow: 0 16px 34px rgba(31, 79, 149, 0.14);
}

.annual-schedule-month-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.annual-schedule-month-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.annual-schedule-metric {
    padding: 12px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
    text-align: center;
}

.annual-schedule-metric strong {
    display: block;
    font-size: 22px;
    color: #1e4779;
}

.annual-schedule-metric span {
    display: block;
    margin-top: 4px;
    color: #74869c;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.annual-schedule-progress {
    height: 8px;
    border-radius: 999px;
    background: #e8eff8;
    overflow: hidden;
}

.annual-schedule-progress-bar {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(135deg, #6aa0e8 0%, #2f6fc4 100%);
}

.annual-schedule-progress-bar.is-success {
    background: linear-gradient(135deg, #6ecf9e 0%, #2b8a57 100%);
}

.annual-schedule-progress-bar.is-warning {
    background: linear-gradient(135deg, #f2c66c 0%, #d99100 100%);
}

.annual-schedule-progress-bar.is-danger {
    background: linear-gradient(135deg, #f19aa2 0%, #c54a5f 100%);
}

.annual-schedule-progress-label {
    margin-top: 8px;
    color: #74869c;
    font-size: 12px;
    text-align: center;
}

.annual-schedule-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.annual-schedule-status-badge.is-primary,
.annual-schedule-status-badge.is-info {
    background: #eef5ff;
    color: #1f4f95;
}

.annual-schedule-status-badge.is-success {
    background: #e9f8ef;
    color: #217346;
}

.annual-schedule-status-badge.is-warning {
    background: #fff6e6;
    color: #9b6400;
}

.annual-schedule-status-badge.is-danger {
    background: #fdecec;
    color: #ad2f45;
}

.annual-schedule-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.annual-schedule-inline-form .form-group {
    margin-bottom: 0;
}

.annual-schedule-note-box {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
    color: #58708a;
}

.annual-schedule-table > thead > tr > th {
    border-bottom: 1px solid #dbe6f3;
    color: #56718f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.annual-schedule-table > tbody > tr > td {
    vertical-align: middle;
}

.annual-schedule-month-table select.form-control {
    min-width: 120px;
}

.annual-schedule-rule-months {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.annual-schedule-form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.marketing-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.marketing-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.marketing-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.marketing-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.marketing-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.marketing-page-actions,
.marketing-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.marketing-intro,
.marketing-form-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.marketing-card,
.marketing-form-card,
.marketing-summary-card,
.marketing-filter-card,
.marketing-log-card,
.marketing-doc-card,
.marketing-widget-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.marketing-card > .panel-heading,
.marketing-form-card > .panel-heading,
.marketing-summary-card > .panel-heading,
.marketing-filter-card > .panel-heading,
.marketing-log-card > .panel-heading,
.marketing-doc-card > .panel-heading,
.marketing-widget-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.marketing-card > .panel-body,
.marketing-form-card > .panel-body,
.marketing-summary-card > .panel-body,
.marketing-filter-card > .panel-body,
.marketing-log-card > .panel-body,
.marketing-doc-card > .panel-body,
.marketing-widget-card > .panel-body {
    padding: 22px;
}

.marketing-summary-grid,
.marketing-stat-grid,
.marketing-doc-grid {
    display: grid;
    gap: 14px;
}

.marketing-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.marketing-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.marketing-doc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.marketing-summary-tile,
.marketing-stat-tile,
.marketing-doc-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.marketing-summary-tile span,
.marketing-stat-tile span,
.marketing-doc-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.marketing-summary-tile strong,
.marketing-stat-tile strong,
.marketing-doc-tile strong {
    color: #1e4779;
    font-size: 24px;
}

.marketing-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.marketing-inline-form .form-group {
    margin-bottom: 0;
}

.marketing-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.marketing-status-badge.is-primary,
.marketing-status-badge.is-info,
.marketing-status-badge.is-draft {
    background: #eef5ff;
    color: #1f4f95;
}

.marketing-status-badge.is-success,
.marketing-status-badge.is-active {
    background: #e9f8ef;
    color: #217346;
}

.marketing-status-badge.is-warning,
.marketing-status-badge.is-paused {
    background: #fff6e6;
    color: #9b6400;
}

.marketing-status-badge.is-danger,
.marketing-status-badge.is-ended,
.marketing-status-badge.is-error {
    background: #fdecec;
    color: #ad2f45;
}

.marketing-metric-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.marketing-metric-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf2f7;
}

.marketing-metric-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.marketing-metric-label {
    color: #66788d;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.marketing-metric-value {
    color: #1d3557;
    font-weight: 700;
    text-align: right;
}

.marketing-code,
.marketing-doc-content code {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 8px;
    background: #f5f7fb;
    color: #9d2f62;
}

.marketing-note-box {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e6eef8;
    color: #58708a;
}

.marketing-console {
    background: #19212d;
    color: #d5e2f0;
    padding: 16px;
    border-radius: 14px;
    max-height: 600px;
    overflow-y: auto;
    font-family: Consolas, 'Courier New', monospace;
    font-size: 12px;
    line-height: 1.55;
}

.marketing-log-entry {
    border-left: 3px solid #4b647f;
    padding: 6px 10px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.03);
}

.marketing-log-entry.is-error {
    border-left-color: #e47d8b;
}

.marketing-log-entry.is-warning {
    border-left-color: #e6bc67;
}

.marketing-log-entry.is-success {
    border-left-color: #77c497;
}

.marketing-doc-hero {
    border: 1px solid #dbe6f3;
    border-radius: 20px;
    padding: 28px;
    background: linear-gradient(135deg, #f7fbff 0%, #e4efff 100%);
}

.marketing-doc-content {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    border: 1px solid #e1ebf5;
}

.marketing-doc-content pre {
    background: #f5f7fb;
    padding: 15px;
    border-radius: 10px;
    overflow-x: auto;
    margin-bottom: 15px;
    border-left: 4px solid #2f6fc4;
}

.marketing-doc-content blockquote {
    border-left: 4px solid #2f6fc4;
    padding-left: 15px;
    margin-left: 0;
    color: #5f7288;
    font-style: italic;
    margin-bottom: 15px;
}

.marketing-doc-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
}

.marketing-doc-content table th,
.marketing-doc-content table td {
    border: 1px solid #dbe6f3;
    padding: 10px;
    text-align: left;
}

.marketing-doc-content table th {
    background: #f5f7fb;
    color: #1d3557;
}

.bank-reconciliation-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.bank-reconciliation-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.bank-reconciliation-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bank-reconciliation-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bank-reconciliation-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bank-reconciliation-page-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.bank-reconciliation-intro {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.bank-reconciliation-card,
.bank-reconciliation-import-card,
.bank-reconciliation-summary-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.bank-reconciliation-card > .panel-heading,
.bank-reconciliation-import-card > .panel-heading,
.bank-reconciliation-summary-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.bank-reconciliation-card > .panel-body,
.bank-reconciliation-import-card > .panel-body,
.bank-reconciliation-summary-card > .panel-body {
    padding: 22px;
}

.bank-reconciliation-inline-form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bank-reconciliation-inline-form .form-group {
    margin-bottom: 0;
}

.bank-reconciliation-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.bank-reconciliation-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.bank-reconciliation-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bank-reconciliation-summary-tile strong {
    color: #1e4779;
    font-size: 24px;
}

.bank-reconciliation-transaction-card {
    border: 1px solid #dbe6f3;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 12px;
    background: #fff;
}

.bank-reconciliation-transaction-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

.bank-reconciliation-transaction-card-amount {
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
}

.bank-reconciliation-transaction-card-title {
    font-size: 13px;
    color: #555;
    word-break: break-word;
    margin-bottom: 8px;
}

.bank-reconciliation-transaction-card-meta {
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
}

.bank-reconciliation-transaction-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #eee;
}

.guest-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.guest-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.guest-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.guest-page-meta,
.guest-page-actions,
.guest-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.guest-page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.guest-intro,
.guest-note-box {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.guest-card,
.guest-form-card,
.guest-table-card,
.guest-detail-card,
.guest-summary-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.guest-card > .panel-heading,
.guest-form-card > .panel-heading,
.guest-table-card > .panel-heading,
.guest-detail-card > .panel-heading,
.guest-summary-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.guest-card > .panel-body,
.guest-form-card > .panel-body,
.guest-table-card > .panel-body,
.guest-detail-card > .panel-body,
.guest-summary-card > .panel-body {
    padding: 22px;
}

.guest-card .panel-body.no-padding,
.guest-table-card .panel-body.no-padding {
    padding: 0;
}

.guest-filter-form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.guest-filter-form .form-group {
    margin-bottom: 0;
    min-width: 180px;
}

.guest-filter-form .form-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.guest-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.guest-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.guest-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.guest-summary-tile strong {
    color: #1e4779;
    font-size: 24px;
}

.guest-table {
    margin-bottom: 0;
}

.guest-table > thead > tr > th {
    border-bottom: 1px solid #dde7f2;
    background: #f7faff;
    color: #48627f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.guest-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: #eef5ff;
    color: #1f4f95;
}

.guest-kv-list {
    display: grid;
    gap: 10px;
}

.guest-kv-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf2f8;
}

.guest-kv-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.guest-kv-item strong {
    color: #48627f;
}

.guest-comment {
    border: 1px solid #e3ebf5;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 12px;
    background: #fbfdff;
}

.guest-comment-header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.guest-photo-card {
    margin-bottom: 15px;
}

.guest-photo-card .thumbnail {
    margin-bottom: 5px;
    border-radius: 10px;
    overflow: hidden;
}

.guest-photo-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.guest-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.guest-actions-stack {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.legacy-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.legacy-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.legacy-page-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.legacy-page-meta,
.legacy-page-actions,
.legacy-toolbar,
.legacy-actions-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.legacy-page-chip,
.legacy-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eef5ff 0%, #e2eeff 100%);
    color: #1f4f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.legacy-intro,
.legacy-note-box {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
    color: #46607d;
    padding: 16px 18px;
    line-height: 1.65;
}

.legacy-card,
.legacy-form-card,
.legacy-table-card,
.legacy-detail-card,
.legacy-summary-card,
.legacy-danger-card {
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.legacy-danger-card {
    border-color: #efc4c4;
}

.legacy-card > .panel-heading,
.legacy-form-card > .panel-heading,
.legacy-table-card > .panel-heading,
.legacy-detail-card > .panel-heading,
.legacy-summary-card > .panel-heading,
.legacy-danger-card > .panel-heading {
    border-bottom: 1px solid #e7eef7;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    color: #1e4779;
    font-weight: 600;
}

.legacy-danger-card > .panel-heading {
    background: linear-gradient(135deg, #fff6f6 0%, #ffeaea 100%);
    color: #9d2f2f;
    border-bottom-color: #f2d6d6;
}

.legacy-card > .panel-body,
.legacy-form-card > .panel-body,
.legacy-table-card > .panel-body,
.legacy-detail-card > .panel-body,
.legacy-summary-card > .panel-body,
.legacy-danger-card > .panel-body {
    padding: 22px;
}

.legacy-card .panel-body.no-padding,
.legacy-table-card .panel-body.no-padding {
    padding: 0;
}

.legacy-table {
    margin-bottom: 0;
}

.legacy-table > thead > tr > th {
    border-bottom: 1px solid #dde7f2;
    background: #f7faff;
    color: #48627f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.legacy-kv-list {
    display: grid;
    gap: 10px;
}

.legacy-kv-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf2f8;
}

.legacy-kv-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.legacy-kv-item strong {
    color: #48627f;
}

.legacy-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.legacy-form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.legacy-checkbox-grid {
    display: grid;
    gap: 10px;
}

.legacy-checkbox-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #dce6f1;
    border-radius: 12px;
    background: #fbfdff;
}

.legacy-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.legacy-summary-tile {
    border: 1px solid #e6eef8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 16px 18px;
}

.legacy-summary-tile span {
    display: block;
    margin-bottom: 6px;
    color: #6c7f95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.legacy-summary-tile strong {
    color: #1e4779;
    font-size: 24px;
}

@media (max-width: 767px) {
    .invoice-modal-grid {
        grid-template-columns: 1fr;
    }

    .service-equipment-inline-form {
        display: block;
    }

    .service-equipment-inline-form .form-group {
        margin-bottom: 12px;
    }

    .service-equipment-info-table > tbody > tr > th {
        width: auto;
    }

    .refrigerant-summary-grid {
        grid-template-columns: 1fr;
    }

    .czas-pracy-inline-form {
        display: block;
    }

    .czas-pracy-inline-form .form-group {
        margin-bottom: 12px;
    }

    .czas-pracy-summary-grid {
        grid-template-columns: 1fr;
    }

    .reports-summary-grid {
        grid-template-columns: 1fr;
    }

    .reports-inline-form {
        display: block;
    }

    .annual-schedule-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .annual-schedule-page-actions .btn,
    .annual-schedule-page-actions form {
        width: 100%;
    }

    .annual-schedule-inline-form {
        display: block;
    }

    .annual-schedule-inline-form .form-group {
        margin-bottom: 12px;
    }

    .annual-schedule-summary-grid,
    .annual-schedule-month-grid,
    .annual-schedule-stat-grid,
    .annual-schedule-month-metrics {
        grid-template-columns: 1fr;
    }

    .annual-schedule-card > .panel-body,
    .annual-schedule-form-card > .panel-body,
    .annual-schedule-summary-card > .panel-body,
    .annual-schedule-filter-card > .panel-body,
    .annual-schedule-stat-card > .panel-body,
    .annual-schedule-month-card > .panel-body {
        padding: 18px;
    }

    .marketing-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .marketing-page-actions .btn,
    .marketing-page-actions form {
        width: 100%;
    }

    .marketing-inline-form {
        display: block;
    }

    .marketing-inline-form .form-group {
        margin-bottom: 12px;
    }

    .marketing-summary-grid,
    .marketing-stat-grid,
    .marketing-doc-grid {
        grid-template-columns: 1fr;
    }

    .marketing-card > .panel-body,
    .marketing-form-card > .panel-body,
    .marketing-summary-card > .panel-body,
    .marketing-filter-card > .panel-body,
    .marketing-log-card > .panel-body,
    .marketing-doc-card > .panel-body,
    .marketing-widget-card > .panel-body {
        padding: 18px;
    }

    .bank-reconciliation-inline-form {
        display: block;
    }

    .bank-reconciliation-inline-form .form-group {
        margin-bottom: 8px;
    }

    .bank-reconciliation-inline-form .form-group input[type="file"],
    .bank-reconciliation-inline-form .btn {
        width: 100%;
    }

    .bank-reconciliation-summary-grid {
        grid-template-columns: 1fr;
    }

    .guest-filter-form {
        display: block;
    }

    .guest-filter-form .form-group {
        margin-bottom: 10px;
        min-width: 0;
    }

    .guest-filter-form .form-control,
    .guest-filter-form .btn,
    .guest-filter-form .form-actions {
        width: 100%;
    }

    .guest-filter-form .form-actions {
        display: block;
    }

    .guest-filter-form .form-actions .btn {
        margin-bottom: 8px;
    }

    .guest-summary-grid,
    .guest-section-grid {
        grid-template-columns: 1fr;
    }

    .guest-kv-item,
    .guest-comment-header {
        flex-direction: column;
    }

    .legacy-form-grid,
    .legacy-summary-grid {
        grid-template-columns: 1fr;
    }

    .legacy-kv-item {
        flex-direction: column;
    }

    .reports-inline-form .form-group {
        margin-bottom: 12px;
    }

    .invoice-modal .modal-footer .btn-group {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .settings-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .schedule-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .schedule-page-actions .btn,
    .schedule-page-actions .btn-group {
        width: 100%;
    }

    .schedule-form-card > .panel-body,
    .schedule-card > .panel-body,
    .schedule-action-card > .panel-body,
    .schedule-stat-card > .panel-body {
        padding: 18px;
    }

    .vehicle-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .vehicle-page-actions .btn,
    .vehicle-page-actions .btn-group {
        width: 100%;
    }

    .vehicle-card > .panel-body,
    .vehicle-form-card > .panel-body,
    .vehicle-danger-card > .panel-body,
    .vehicle-summary-card > .panel-body,
    .vehicle-alert-card > .panel-body {
        padding: 18px;
    }

    .vehicle-legend {
        grid-template-columns: 1fr;
    }

    .purchase-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .purchase-page-actions .btn,
    .purchase-page-actions .btn-group,
    .purchase-page-actions form,
    .purchase-page-actions .purchase-inline-form,
    .purchase-page-actions select {
        width: 100%;
    }

    .purchase-card > .panel-body,
    .purchase-form-card > .panel-body,
    .purchase-summary-card > .panel-body,
    .purchase-preview-card > .panel-body {
        padding: 18px;
    }

    .knowledge-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .knowledge-page-actions .btn,
    .knowledge-page-actions .btn-group {
        width: 100%;
    }

    .knowledge-card > .panel-body,
    .knowledge-form-card > .panel-body,
    .knowledge-sidebar-card > .panel-body,
    .knowledge-article-card > .panel-body {
        padding: 18px;
    }

    .knowledge-admin-nav {
        flex-direction: column;
    }

    .knowledge-admin-nav > li > a {
        width: 100%;
        justify-content: center;
    }
}

.list-group-item {
    border-color: rgba(214, 224, 219, 0.85);
}

.pagination > li > a,
.pagination > li > span {
    border-color: var(--ui-border);
    color: var(--ui-accent);
    border-radius: 10px !important;
    margin: 0 3px;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus,
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
    background: var(--ui-accent-soft);
    border-color: rgba(44, 142, 221, 0.2);
    color: var(--ui-accent-strong);
}

@media (max-width: 991px) {
    #main-content {
        min-height: auto;
        border-left: 0;
    }

    .sidebar {
        width: 66px;
    }

    #headerbar,
    #content,
    .tab-content {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 767px) {
    .navbar.navbar-inverse {
        box-shadow: none;
    }

    .navbar-inverse .dropdown-menu {
        border-radius: 12px;
    }

    #headerbar {
        flex-direction: column;
        align-items: flex-start;
        min-height: auto;
        padding: 12px;
        border-radius: 14px;
    }

    #headerbar .headerbar-item.pull-right {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .table-responsive,
    #filter_results,
    .tab-rich-content,
    .well {
        border-radius: 14px;
        padding: 10px;
    }
}