:root {
    --mrk-ink: #18364d;
    --mrk-muted: #5d7180;
    --mrk-blue: #17669b;
    --mrk-blue-dark: #124e79;
    --mrk-teal: #13878a;
    --mrk-teal-dark: #096c73;
    --mrk-border: #c5d5df;
    --mrk-form: #eef7fc;
    --mrk-surface: #ffffff;
    --mrk-shadow: 0 2px 8px rgba(22, 65, 91, 0.07);
}

body {
    color: var(--mrk-ink);
    background: linear-gradient(135deg, #f6f9fb 0%, #eaf3f8 100%);
    font-family: Arial, sans-serif;
}

body > .topbar,
body > .header,
body > header {
    background: linear-gradient(105deg, #124e79 0%, #176b91 58%, #117f83 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(14, 55, 80, 0.18);
}

body > .topbar :is(h1, h2, .brand),
body > .header :is(h1, h2, .brand),
body > header :is(h1, h2, .brand) {
    color: #fff;
}

h1,
h2,
h3 {
    color: var(--mrk-ink);
}

.logo {
    background: var(--mrk-blue);
}

p,
.welcome,
.muted,
.hint,
.card-intro {
    color: var(--mrk-muted);
}

body :is(.card, .panel, [class*="-card"], [class*="-panel"], .recent, .login-box) {
    background-color: var(--mrk-surface);
    border: 1px solid var(--mrk-border);
    border-radius: 4px;
    padding: 16px;
    box-shadow: var(--mrk-shadow);
}

body .business-header {
    background-color: var(--mrk-surface);
    border: 1px solid var(--mrk-border);
    border-radius: 4px;
    box-shadow: var(--mrk-shadow);
}

body :is(.card > h2, .card > h3, .panel-heading, .report-header-banner, .list-heading-row) {
    color: var(--mrk-teal-dark);
    background: #edf5fa;
    border-radius: 2px;
}

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
    border: 1px solid #b9cedb;
    border-radius: 3px;
    background-color: var(--mrk-form);
    color: var(--mrk-ink);
    box-shadow: inset 0 1px 2px rgba(28, 62, 75, 0.035);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--mrk-teal);
    outline: 2px solid rgba(19, 135, 138, 0.16);
}

button:not(.toggle-password),
.btn,
.button,
input[type="submit"],
input[type="button"] {
    border: 1px solid #b8ccd8;
    border-radius: 4px;
    background: linear-gradient(180deg, #ffffff, #f0f6fa);
    color: var(--mrk-ink);
    transition: background-color 150ms ease, box-shadow 150ms ease, filter 150ms ease;
    box-shadow: 0 1px 2px rgba(25, 58, 70, 0.09);
}

button:hover:not(:disabled):not(.toggle-password),
.btn:hover:not(:disabled),
.button:hover:not(:disabled),
input[type="submit"]:hover,
input[type="button"]:hover {
    filter: brightness(0.96);
    box-shadow: 0 2px 5px rgba(25, 58, 70, 0.13);
}

button:focus-visible,
.btn:focus-visible,
.button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible {
    outline: 2px solid rgba(19, 135, 138, 0.28);
    outline-offset: 2px;
}

button[class*="primary"],
button[class*="save"],
.btn-primary,
.button-primary,
.login-btn,
input[type="submit"] {
    border-color: var(--mrk-blue-dark);
    background: linear-gradient(180deg, #1b719f, #145c88);
    color: #fff;
    box-shadow: 0 1px 3px rgba(18, 78, 121, 0.2);
}

button[class*="danger"],
button[class*="delete"],
.button-danger {
    border: 1px solid #e7c3bd;
    background: #fff2ef;
    color: #9d3528;
    box-shadow: none;
}

body > .topbar button,
body > .header button,
body > header button {
    border-color: rgba(255, 255, 255, 0.65);
    background: #fff;
    color: var(--mrk-teal-dark);
}

table {
    border: 1px solid var(--mrk-border);
    border-collapse: collapse;
    background: #fff;
}

th,
td {
    padding: 9px 11px;
}

th {
    border-color: #b8ccd8;
    background: #e6f0f6;
    color: var(--mrk-blue-dark);
    font-weight: 600;
}

td {
    border-color: #d8e3e9;
}

tbody tr:nth-child(even) {
    background: #f6fafc;
}

tbody tr:hover {
    background: #eaf5f8;
}

a {
    color: var(--mrk-blue-dark);
}

@media print {
    body {
        background: #fff;
        color: #000;
    }

    body :is(.card, .panel, [class*="-card"], [class*="-panel"], .recent, .business-header) {
        box-shadow: none;
    }
}