html[data-theme="light"],
:root {
    --primary: #2E7D32;
    --secondary: #1B5E20;
    --accent: #FFB300;
    --primary-fg: #ffffff;

    --body-bg: #f7f9f7;
    --body-fg: #2c3e2f;
    --body-quiet-color: #607060;
    --body-medium-color: #344634;
    --body-loud-color: #0f1f0f;

    --header-color: #ffffff;
    --header-branding-color: #ffffff;
    --header-bg: #1B5E20;
    --header-link-color: #ffffff;

    --breadcrumbs-bg: #2E7D32;
    --breadcrumbs-fg: #e8f5e9;
    --breadcrumbs-link-fg: #ffffff;

    --link-fg: #1B5E20;
    --link-hover-color: #FF9800;
    --link-selected-fg: #2E7D32;

    --hairline-color: #d9e5d9;
    --border-color: #cbd8cb;

    --button-bg: #2E7D32;
    --button-hover-bg: #1B5E20;
    --default-button-bg: #FF9800;
    --default-button-hover-bg: #F57C00;

    --delete-button-bg: #b3261e;
    --delete-button-hover-bg: #8f1d18;

    --object-tools-bg: #FF9800;
    --object-tools-hover-bg: #F57C00;

    --darkened-bg: #eef4ee;
    --selected-bg: #dff0df;
    --selected-row: #fff3cd;

    color-scheme: light;
}

body {
    background: linear-gradient(180deg, #f4f7f4 0%, #ffffff 100%);
    font-family: "Segoe UI", Arial, sans-serif;
}

#header {
    background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 60%, #FF9800 160%);
    min-height: 76px;
    padding: 12px 36px;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

.stav-admin-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.stav-admin-brand img {
    width: 68px;
    height: 50px;
    object-fit: cover;
    border-radius: 40px;
    background: #fff;
    padding: 3px;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
}

.stav-admin-brand h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    letter-spacing: .3px;
}

.stav-admin-brand p {
    margin: 3px 0 0;
    font-size: 12px;
    color: #fff8e1;
    font-weight: 500;
}

#user-tools,
#logout-form button {
    font-weight: 700;
    letter-spacing: .4px;
}

div.breadcrumbs {
    background: #2E7D32;
    padding: 11px 36px;
    color: #e8f5e9;
}

#content {
    padding: 28px 36px;
}

.module {
    overflow: hidden;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    border: 1px solid #dfeade;
}

.module h2,
.module caption,
.inline-group h2 {
    background: linear-gradient(135deg, #2E7D32, #1B5E20) !important;
    color: white !important;
    font-weight: 800;
    letter-spacing: .5px;
    padding: 11px 14px;
}

.dashboard .module table th,
.dashboard .module table td {
    padding: 12px 14px;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

thead th {
    background: #eef6ef !important;
    color: #1b3a1f !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    border-bottom: 2px solid #2E7D32;
}

td, th {
    padding: 10px;
    border-bottom: 1px solid #e2ece2;
}

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

tr:hover {
    background: #fff3cc !important;
}

.button,
input[type=submit],
input[type=button],
.submit-row input,
a.button {
    background: #2E7D32 !important;
    color: #fff !important;
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 700;
    border: none;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

.button:hover,
input[type=submit]:hover,
input[type=button]:hover,
.submit-row input:hover,
a.button:hover {
    background: #f39c12 !important;
    color: #fff !important;
}

.button.default,
input[type=submit].default,
.submit-row input.default {
    background: #f39c12 !important;
}

.object-tools a {
    background: #f39c12 !important;
    border-radius: 20px;
    font-weight: 800;
    padding: 6px 14px !important;
}

.object-tools a:hover {
    background: #F57C00 !important;
}

#changelist-filter {
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

#changelist-filter h2 {
    background: #1B5E20 !important;
    color: #fff !important;
    font-weight: 800;
}

#changelist-filter h3 {
    color: #2E7D32;
    font-weight: 800;
}

input:not([type]),
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=number],
input[type=tel],
textarea,
select,
.vTextField {
    border: 1px solid #cbd8cb;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fff;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #2E7D32 !important;
    box-shadow: 0 0 0 3px rgba(46,125,50,.12);
    outline: none;
}

.submit-row {
    background: #f7fbf7;
    border-radius: 12px;
    border: 1px solid #dfeade;
}

.login #container {
    background: linear-gradient(145deg, #1B5E20, #2E7D32 55%, #FF9800 140%);
}

.login #content {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 12px 35px rgba(0,0,0,.22);
}

.login .form-row label {
    color: #1B5E20;
    font-weight: 800;
}

.login .submit-row input {
    width: 100%;
    padding: 13px;
    border-radius: 10px;
    font-size: 15px;
}

.messagelist li {
    border-radius: 10px;
    margin: 10px 0;
}

.paginator a:link,
.paginator a:visited {
    background: #2E7D32;
    border-radius: 6px;
}

.paginator a:hover {
    background: #f39c12;
}
