* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: Arial, sans-serif;
    background:
        linear-gradient(rgba(220, 231, 211, .88), rgba(220, 231, 211, .88)),
        radial-gradient(circle at top, #eef6e7, #b8c9ad);
    color: #2d2d2d;
}

a { text-decoration: none; color: inherit; }

.site-wrapper {
    width: 1500px;
    margin: 18px auto;
    border-radius: 14px;
    overflow: hidden;
    background: #edf1e7;
    box-shadow: 0 14px 35px rgba(38, 55, 32, .22);
    border: 1px solid rgba(92, 124, 67, .25);
}

/* HEADER */

.topbar-main {
    height: 220px;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.10),
            rgba(0,0,0,0.35)
        ),
        url('/assets/images/header.png');

    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    justify-content: space-between;
    align-items: flex-end;

    padding: 30px;

    border-bottom: 3px solid #6f9d37;

    position: relative;
}
.logo {
    display: flex;
    align-items: center;
    height: 100%;

    margin-left: -15px;
    margin-top: 22px;
}
.logo img {
    width: auto;
    height: 240px;

    object-fit: contain;

    display: block;

position: relative;
top: 15px;

    filter:
        drop-shadow(0 4px 8px rgba(0,0,0,.35));
}
.top-navigation {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    background: none;
    padding: 0;
    border: 0;
    box-shadow: none;
    margin-bottom: -30px;
}

.top-navigation a {
    background: linear-gradient(180deg, #5d8d36, #3f6e28);
    color: #ffffff;
    padding: 11px 18px;
    border-radius: 7px 7px 0 0;
    font-size: 14px;
    font-weight: bold;
    border: 1px solid rgba(255,255,255,.18);
    border-bottom: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
transition: all .18s ease;
}

.top-navigation a:hover {
    background:
        linear-gradient(
            180deg,
            #7cb149,
            #568632
        );

    transform:
        translateY(-2px);
}
/* STATS BAR */

.topbar-stats {
background:
    linear-gradient(
        180deg,
        #8bb954 0%,
        #6f9f3f 45%,
        #5a852f 100%
    );
box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -8px 18px rgba(0,0,0,.12),
    0 2px 8px rgba(0,0,0,.08);
position: relative;
overflow: hidden;
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(46, 77, 34, .25);
}
.stats-left,
.stats-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.topbar-stats::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 50%;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.16),
            rgba(255,255,255,0)
        );

    pointer-events: none;
}

.topbar-stats::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 100%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0,0,0,0) 40%,
            rgba(0,0,0,.10) 100%
        );

    pointer-events: none;
}
.topbar-stats .stat-box {
    position: relative;

    display: flex;
    align-items: center;
    gap: 6px;

    padding: 8px 14px;

    border-radius: 9px;

    text-decoration: none;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.20),
            rgba(0,0,0,.32)
        );

    border: 1px solid rgba(255,255,255,.10);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 2px 6px rgba(0,0,0,.18);

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease;

    overflow: hidden;

    color: white;
}
.topbar-stats .stat-box:hover {
    transform: translateY(-2px);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(0,0,0,.30)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 4px 12px rgba(0,0,0,.22);

    cursor: pointer;
}
.xp-stat {
    position: relative;
    width: 240px;
    height: 31px;
    padding: 0 !important;
    overflow: hidden;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.18),
            rgba(0,0,0,.28)
        ) !important;

    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.10);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 2px 5px rgba(0,0,0,.15);
}

.xp-fill {
    position: absolute;
    left: 0;
    top: 0;

    height: 100%;
    width: 35%;

    background:
        linear-gradient(
            90deg,
            rgba(177, 145, 72, .72),
            rgba(231, 204, 137, .82)
        );

    border-radius: 8px 0 0 8px;
}

.xp-stat strong {
    position: relative;
    z-index: 2;

    display: block;
    width: 100%;

    padding: 7px 14px;

    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-align: center;

    text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.switch-rider {
    background:
        linear-gradient(
            180deg,
            #8a5b43,
            #6f4633
        ) !important;

    color: #fff3eb !important;
}
/* LAYOUT */

.layout-wrapper {
    display: flex;
    gap: 18px;
    padding: 18px;
    background: linear-gradient(180deg, #f1f5ec, #e6ecde);
}

/* SIDEBAR */

.sidebar {
    width: 250px;
    flex-shrink: 0;

    opacity: 0.96;
}
.sidebar-section {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,0.98),
            rgba(243,247,240,0.98)
        );

    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 18px;

    border: 1px solid rgba(95,120,75,.22);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.85),
        0 8px 20px rgba(64,88,48,.08);
}
.sidebar-section h3 {
    background:
        linear-gradient(
            180deg,
            #6f9f3f 0%,
            #527a2d 100%
        );

    color: white;

    padding: 12px 16px;

    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.3px;

    border-bottom: 1px solid rgba(255,255,255,.14);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        inset 0 -6px 12px rgba(0,0,0,.10);

    text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.sidebar-section a {
    display: flex;
    align-items: center;

    padding: 12px 16px;

    color: #4a5443;

    font-size: 14px;
    font-weight: 600;

    transition:
        all .18s ease;

    border-top:
        1px solid rgba(0,0,0,0.025);

    position: relative;
}
.sidebar-section a:hover {
    background:
        linear-gradient(
            90deg,
            rgba(143,184,91,.16),
            rgba(143,184,91,.05)
        );

    color: #35541d;

    padding-left: 22px;

    box-shadow:
        inset 4px 0 0 #8fb85b;

    transform:
        translateX(2px);
}
/* CONTENT */
.main-content {
    flex: 1;

    min-height: 720px;

    background:
        linear-gradient(
            rgba(255,255,255,0.18),
            rgba(249,251,247,0.28)
        ),
        url('/assets/images/bg-pattern.png');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 18px;

    padding: 38px;

    border:
        1px solid rgba(170, 185, 145, 0.35);

    box-shadow:
        0 18px 40px rgba(40,55,30,.10),
        0 4px 12px rgba(0,0,0,.04);

    backdrop-filter: blur(3px);
}
.main-content h1 {
    color: #26301f;
    font-size: 42px;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.05;
    margin-bottom: 10px;
    text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.main-content p {
    color: #2b2b2b;
    font-size: 16px;
}

@media (max-width: 1450px) {
    .site-wrapper {
        width: calc(100% - 24px);
    }
}
.home-hero {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(90, 120, 65, 0.18);
}

.home-hero p {
    color: #2b2b2b;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.dashboard-card {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.97),
            rgba(248,250,245,.98)
        );

border:
    1px solid rgba(95,120,75,.24);
    border-radius: 24px;

    overflow: hidden;

    padding: 26px;

    position: relative;
isolation: isolate;
box-shadow:
    0 12px 30px rgba(64,88,48,.08),
    0 2px 6px rgba(0,0,0,.03),
    inset 0 1px 0 rgba(255,255,255,.95);
border-top: 1px solid rgba(255,255,255,.9);
    backdrop-filter: blur(3px);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}
.dashboard-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 80px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.65),
            rgba(255,255,255,0)
        );

    pointer-events: none;

    z-index: 0;
}
.dashboard-card > * {
    position: relative;
    z-index: 1;
}
.dashboard-card:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(145,175,110,.24);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.98),
        0 12px 28px rgba(64,88,48,.10),
        0 24px 46px rgba(64,88,48,.08);
}
.dashboard-card h2 {
    color: #2b2b2b;
    font-size: 20px;
    margin-bottom: 12px;
}

.dashboard-card p {
    margin-bottom: 8px;
color:#2b2b2b;
}

.dashboard-card a {
    display: block;
    padding: 9px 0;
    color: #2b2b2b;
    font-weight: bold;
}
.quick-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.quick-stat {

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.96),
            rgba(245,248,242,.98)
        );

    border:
        1px solid rgba(95,120,75,.22);

    border-radius: 18px;

    padding: 18px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 6px 18px rgba(64,88,48,.07);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}
.quick-stat:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(120,150,90,.30);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.98),
        0 10px 24px rgba(64,88,48,.10);
}
.quick-stat span {
    display: block;
    color: #555;
    font-size: 13px;
    margin-bottom: 6px;
}

.quick-stat strong {
    color: #2b2b2b;
    font-size: 24px;
}
/* RIDER PROFILE */

.rider-profile {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.rider-hero {
    display: grid;
    grid-template-columns: 330px 1fr;
    gap: 26px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.92),
            rgba(247,250,244,.96)
        );

    border: 1px solid rgba(95,120,75,.22);
    border-radius: 26px;

    padding: 26px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 16px 38px rgba(64,88,48,.10);
}

.rider-image {
    height: 230px;
    border-radius: 22px;
    overflow: hidden;
position: relative;

    background:
        linear-gradient(180deg, #eef3e8, #dfe8d8);

    border: 1px solid rgba(95,120,75,.22);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 10px 24px rgba(64,88,48,.10);
}

.rider-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rider-title-row {
    display: flex;
    align-items: center;
    gap: 18px;

    margin-bottom: 24px;
}

.rider-level {
    width: 78px;
    height: 78px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background:
        linear-gradient(180deg, #26381d, #15230f);

    color: #d9f6a3;
    font-size: 24px;
    font-weight: 900;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 10px 22px rgba(0,0,0,.18);
}

.rider-main-info h1 {
    margin: 0;
}

.rider-subtitle {
    color: #65705e;
    font-size: 15px;
    margin-top: 6px;
}

.rider-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.rider-stat {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.95),
            rgba(243,247,239,.98)
        );

    border: 1px solid rgba(95,120,75,.20);
    border-radius: 18px;

    padding: 16px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 8px 20px rgba(64,88,48,.07);
}

.rider-stat span {
    display: block;
    color: #66705f;
    font-size: 13px;
    margin-bottom: 6px;
}

.rider-stat strong {
    color: #26301f;
    font-size: 18px;
}

.rider-bio-card {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.92),
            rgba(248,250,245,.96)
        );

    border: 1px solid rgba(95,120,75,.22);
    border-radius: 24px;

    padding: 26px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 12px 30px rgba(64,88,48,.08);
}

.rider-bio-card h2 {
    color: #2d3825;
    font-size: 24px;
    margin-bottom: 12px;
}
.rider-horses-card {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,245,.96));
    border: 1px solid rgba(95,120,75,.22);
    border-radius: 24px;
    padding: 26px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 30px rgba(64,88,48,.08);
}

.rider-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.rider-section-header h2 {
    color: #2d3825;
    font-size: 24px;
}

.rider-section-header span {
    color: #66705f;
    font-weight: 700;
}

.rider-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.rider-tabs a {
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(95,120,75,.10);
    color: #415238;
    font-weight: 700;
    border: 1px solid rgba(95,120,75,.16);
}

.rider-tabs a.active,
.rider-tabs a:hover {
    background: linear-gradient(180deg, #6f9f3f, #527a2d);
    color: white;
}

.empty-horse-state {
    padding: 34px;
    border-radius: 20px;
    background: rgba(255,255,255,.55);
    border: 1px dashed rgba(95,120,75,.25);
    color: #66705f;
    text-align: center;
    font-weight: 700;
}
.rider-horse-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rider-horse-row {
    display: grid;
    grid-template-columns: 92px 1fr 280px;
    gap: 18px;
    align-items: center;

    padding: 16px;

    border-radius: 20px;
    border: 1px solid rgba(95,120,75,.20);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.86),
            rgba(246,249,243,.94)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 8px 20px rgba(64,88,48,.07);

    transition: all .18s ease;
}

.rider-horse-row:hover {
    transform: translateY(-2px);
    border-color: rgba(120,150,90,.32);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 12px 26px rgba(64,88,48,.10);
}

.horse-row-image {
    width: 78px;
    height: 78px;

    border-radius: 18px;

    background:
        linear-gradient(180deg, #dfe8d8, #c7d7bd);

    border: 1px solid rgba(95,120,75,.20);
}

.horse-row-main h3 {
    color: #26301f;
    font-size: 19px;
    margin-bottom: 5px;
}

.horse-row-main p {
    color: #66705f;
    font-size: 13px;
    margin-bottom: 8px;
}

.horse-row-main span {
    display: inline-block;
    padding: 5px 10px;

    border-radius: 999px;

    background: rgba(95,120,75,.12);
    color: #415238;

    font-size: 12px;
    font-weight: 700;
}

.horse-row-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.horse-row-details div {
    display: flex;
    justify-content: space-between;

    padding: 6px 9px;

    border-radius: 8px;

    background: rgba(38,48,31,.78);

    color: white;
}

.horse-row-details span {
    color: rgba(255,255,255,.72);
    font-size: 12px;
}

.horse-row-details strong {
    font-size: 12px;
}
.horse-row-main a {
    color: #8a6a3c;
    text-decoration: none;
    font-weight: 700;
    transition: all .15s ease;
}

.horse-row-main a:hover {
    color: #a8844f;
    text-decoration: underline;
}
.rider-bio-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.rider-bio-header h2 {
    margin: 0;
}

.edit-bio-btn {
    width: 34px;
    height: 34px;

    border: 1px solid rgba(95,120,75,.22);
    border-radius: 10px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.95),
            rgba(243,247,239,.98)
        );

    color: #6f5632;
    font-size: 17px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 4px 12px rgba(64,88,48,.08);

    transition: all .18s ease;
}

.edit-bio-btn:hover {
    transform: translateY(-2px);
    color: #8a6a3c;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 8px 18px rgba(64,88,48,.12);
}
.edit-rider-image-btn {
    position: absolute;
    left: 14px;
    bottom: 14px;

    padding: 8px 12px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;

    background: rgba(20, 35, 15, .72);
    color: #fff;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    backdrop-filter: blur(4px);

    box-shadow: 0 4px 12px rgba(0,0,0,.18);

    transition: all .18s ease;
}

.edit-rider-image-btn:hover {
    transform: translateY(-2px);
    background: rgba(40, 70, 25, .82);
}
.rider-selection-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 25px;
}

.rider-select-card {
    display: flex;
    align-items: center;
    justify-content: space-between;

    background: rgba(255,255,255,0.88);

    border-radius: 18px;

    padding: 22px;

    border: 1px solid rgba(120,120,120,0.08);

    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.rider-select-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rider-select-avatar {
    width: 95px;
    height: 95px;

    border-radius: 16px;

    background: #dfe6d7;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 40px;
    font-weight: bold;

    color: #6d7b61;
}

.rider-select-info h3 {
    font-size: 24px;
    margin-bottom: 8px;
    color: #2f342c;
}

.rider-select-info p {
    color: #666;
    font-size: 15px;
}

.stable-button {
    background: linear-gradient(to bottom, #6f8f52, #587041);

    border: none;

    color: white;

    padding: 12px 22px;

    border-radius: 12px;

    font-weight: 600;

    cursor: pointer;

    transition: 0.2s;
}

.stable-button:hover {
    transform: translateY(-1px);

    background: linear-gradient(to bottom, #7c9c5d, #607847);
}
/* AUTH REGISTER PAGE */

.auth-page {
    min-height: 100vh;
    background:
        linear-gradient(rgba(225,235,216,.86), rgba(225,235,216,.92)),
        url('/assets/images/header.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px;
}

.auth-register-wrapper {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: 1.35fr .85fr;
    gap: 26px;
}

.auth-intro-panel,
.auth-form-panel {
    border-radius: 28px;
    border: 1px solid rgba(95,120,75,.24);
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.88),
            rgba(248,250,245,.94)
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 18px 45px rgba(40,55,30,.16);
    backdrop-filter: blur(6px);
}

.auth-intro-panel {
    padding: 42px;
}

.auth-form-panel {
    padding: 34px;
}

.auth-logo-large img {
    width: 260px;
    max-width: 100%;
    margin-bottom: 18px;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.25));
}

.auth-intro-panel h1 {
    color: #26301f;
    font-size: 46px;
    line-height: 1.05;
    margin-bottom: 16px;
}

.auth-intro-text {
    color: #3f463b;
    font-size: 18px;
    line-height: 1.7;
    max-width: 720px;
    margin-bottom: 30px;
}

.auth-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.auth-feature {
    padding: 20px;
    border-radius: 20px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(95,120,75,.18);
    box-shadow: 0 8px 20px rgba(64,88,48,.07);
}

.auth-feature h3 {
    color: #2d3825;
    font-size: 18px;
    margin-bottom: 8px;
}

.auth-feature p {
    color: #5b6554;
    font-size: 14px;
    line-height: 1.6;
}

.auth-form-panel h2 {
    color: #26301f;
    font-size: 32px;
    margin-bottom: 8px;
}

.auth-form-panel > p {
    color: #5b6554;
    line-height: 1.6;
    margin-bottom: 22px;
}

.auth-form .form-group {
    margin-bottom: 16px;
}

.auth-form label {
    display: block;
    color: #34402c;
    font-weight: 700;
    margin-bottom: 7px;
}

.auth-form input {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid rgba(95,120,75,.24);
    background: rgba(255,255,255,.9);
    font-size: 15px;
}

.auth-form input:focus {
    outline: none;
    border-color: rgba(111,159,63,.55);
    box-shadow: 0 0 0 3px rgba(111,159,63,.12);
}

.auth-button {
    width: 100%;
    margin-top: 8px;
    padding: 14px 18px;
    border: none;
    border-radius: 14px;
    background: linear-gradient(180deg, #6f9f3f, #527a2d);
    color: white;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 8px 18px rgba(64,88,48,.18);
}

.auth-button:hover {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #7fb44c, #5d8a35);
}

.auth-error {
    background: rgba(160,55,45,.10);
    color: #7a2a22;
    border: 1px solid rgba(160,55,45,.20);
    padding: 10px 12px;
    border-radius: 12px;
    margin-bottom: 12px;
    font-weight: 700;
}

.auth-footer-link {
    margin-top: 20px;
    text-align: center;
    color: #4f5a48;
}

.auth-footer-link a {
    color: #8a6a3c;
    font-weight: 800;
}

@media (max-width: 900px) {
    .auth-page {
        padding: 18px;
        align-items: flex-start;
    }

    .auth-register-wrapper {
        grid-template-columns: 1fr;
    }

    .auth-intro-panel,
    .auth-form-panel {
        padding: 26px;
    }

    .auth-intro-panel h1 {
        font-size: 34px;
    }

    .auth-feature-grid {
        grid-template-columns: 1fr;
    }
}
/* CLEAN PREMIUM LOGIN */

.ls-login-page {
    min-height: 100vh;
    padding: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            rgba(225,235,216,.78),
            rgba(225,235,216,.88)
        ),
        url('/assets/images/header.png');

    background-size: cover;
    background-position: center;
}

.ls-login-shell {
    width: min(1040px, 100%);

    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 26px;

    align-items: stretch;
}

.ls-login-brand,
.ls-login-card {
    position: relative;
    overflow: hidden;

    border-radius: 30px;

    border: 1px solid rgba(95,120,75,.24);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.90),
            rgba(248,250,245,.96)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 22px 55px rgba(40,55,30,.16);

    backdrop-filter: blur(8px);
}

.ls-login-brand {
    min-height: 520px;
    padding: 48px;

    display: flex;
    align-items: center;
}

.ls-login-watermark {
    position: absolute;
    inset: 0;

    background-image: url('/assets/images/logo.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 430px;

    opacity: .06;
    filter: blur(2px);

    pointer-events: none;
}

.ls-login-brand-content {
    position: relative;
    z-index: 1;

    max-width: 610px;
}

.ls-login-kicker {
    display: inline-block;

    margin-bottom: 18px;
    padding: 8px 14px;

    border-radius: 999px;

    background: rgba(138,106,60,.12);
    color: #7a5c33;

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.ls-login-brand h1 {
    margin-bottom: 22px;

    font-size: 64px;
    line-height: .95;
    letter-spacing: -3px;

    font-weight: 900;

    background:
        linear-gradient(
            180deg,
            #d8c08a,
            #a87a35
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    text-shadow:
        0 2px 14px rgba(168,122,53,.16);
}

.ls-login-brand p {
    max-width: 560px;

    color: #45503e;

    font-size: 17px;
    line-height: 1.8;
}

.ls-login-quote {
    margin-top: 28px;

    padding: 20px 22px;

    border-radius: 20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.72),
            rgba(255,255,255,.42)
        );

    border: 1px solid rgba(138,106,60,.18);

    color: #5b513f;

    font-size: 16px;
    font-style: italic;
    line-height: 1.7;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),
        0 8px 24px rgba(64,88,48,.06);
}

.ls-login-card {
    padding: 44px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ls-login-card h2 {
    color: #26301f;

    font-size: 38px;
    letter-spacing: -1px;

    margin-bottom: 10px;
}

.ls-login-card > p {
    color: #5b6554;
    line-height: 1.6;

    margin-bottom: 24px;
}

@media (max-width: 900px) {
    .ls-login-page {
        padding: 18px;
        align-items: flex-start;
    }

    .ls-login-shell {
        grid-template-columns: 1fr;
    }

    .ls-login-brand {
        min-height: auto;
        padding: 32px;
    }

    .ls-login-brand h1 {
        font-size: 42px;
    }

    .ls-login-card {
        padding: 30px;
    }
}
.create-rider-form {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.create-rider-form input {
    width: 260px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(95,120,75,.24);
    background: rgba(255,255,255,.92);
    font-size: 15px;
}

.create-rider-form input:focus {
    outline: none;
    border-color: rgba(111,159,63,.55);
    box-shadow: 0 0 0 3px rgba(111,159,63,.12);
}
/* STARTER HORSES */

.starter-horse-form {
    display: flex;
    flex-direction: column;
    gap: 24px;

    margin-top: 30px;
}

.starter-horse-card {
    display: grid;
    grid-template-columns: 90px 1fr;

    gap: 24px;

    padding: 26px;

    border-radius: 24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.92),
            rgba(248,250,245,.98)
        );

    border:
        1px solid rgba(95,120,75,.20);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 10px 28px rgba(64,88,48,.08);
}

.starter-horse-number {
    width: 74px;
    height: 74px;

    border-radius: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            180deg,
            #6f9f3f,
            #527a2d
        );

    color: white;

    font-size: 28px;
    font-weight: 900;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 10px 22px rgba(64,88,48,.16);
}

.starter-horse-fields h2 {
    color: #26301f;

    font-size: 28px;

    margin-bottom: 20px;
}

.starter-horse-fields .form-group {
    margin-bottom: 18px;
}

.starter-horse-fields label {
    display: block;

    margin-bottom: 8px;

    color: #34402c;

    font-weight: 700;
}

.starter-horse-fields input,
.starter-horse-fields select {
    width: 100%;

    padding: 13px 14px;

    border-radius: 14px;

    border:
        1px solid rgba(95,120,75,.24);

    background:
        rgba(255,255,255,.94);

    font-size: 15px;
}

.starter-horse-fields input:focus,
.starter-horse-fields select:focus {
    outline: none;

    border-color:
        rgba(111,159,63,.55);

    box-shadow:
        0 0 0 3px rgba(111,159,63,.12);
}

.starter-submit {
    margin-top: 8px;
}

@media (max-width: 750px) {

    .starter-horse-card {
        grid-template-columns: 1fr;
    }

    .starter-horse-number {
        width: 64px;
        height: 64px;

        font-size: 24px;
    }
}
/* TUTORIAL */

.tutorial-card {
    max-width: 950px;
}

.tutorial-steps {
    display: flex;
    flex-direction: column;
    gap: 22px;

    margin-top: 30px;
}

.tutorial-step {
    display: flex;
    gap: 22px;
    align-items: flex-start;

    padding: 24px;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.96),
            rgba(245,248,241,.92)
        );

    border: 1px solid rgba(120,140,95,.12);

    box-shadow:
        0 10px 24px rgba(0,0,0,.05);
}

.tutorial-step span {
    width: 54px;
    height: 54px;

    flex-shrink: 0;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #6f8b4e,
            #8fa96c
        );

    color: white;

    font-size: 22px;
    font-weight: 700;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow:
        0 8px 18px rgba(90,120,60,.24);
}

.tutorial-step h2 {
    margin-bottom: 8px;

    font-size: 24px;
    font-weight: 700;

    color: #2e3528;
}

.tutorial-step p {
    margin: 0;

    line-height: 1.7;

    color: #5f6558;
}

.tutorial-submit {
    margin-top: 34px;
    width: 100%;
}
/* MIJN STAL */

.stable-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 26px 0;
}

.stable-tabs a {
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(95,120,75,.10);
    color: #415238;
    font-weight: 700;
    border: 1px solid rgba(95,120,75,.16);
}

.stable-tabs a.active,
.stable-tabs a:hover {
    background: linear-gradient(180deg, #6f9f3f, #527a2d);
    color: white;
}

.stable-tools-card,
.stable-table-card {
    background: rgba(255,255,255,.90);
    border: 1px solid rgba(95,120,75,.20);
    border-radius: 22px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 10px 26px rgba(64,88,48,.08);
}

.stable-tab-form,
.stable-tab-manage-row,
.stable-tab-manage-row form {
    display: flex;
    gap: 10px;
    align-items: center;
}

.stable-tab-form input,
.stable-tab-manage-row input,
.horse-tab-select-form select {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(95,120,75,.24);
    background: rgba(255,255,255,.94);
}

.stable-tab-manage-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

.stable-tab-manage-row {
    justify-content: space-between;
    padding: 12px;
    border-radius: 14px;
    background: rgba(95,120,75,.06);
}

.stable-tab-manage-row button {
    padding: 9px 12px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}

.stable-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.stable-table-wrap {
    overflow-x: auto;
}

.stable-horse-table {
    width: 100%;
    border-collapse: collapse;
}

.stable-horse-table th,
.stable-horse-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(95,120,75,.13);
    text-align: left;
    vertical-align: middle;
}

.stable-horse-table th {
    color: #4b5d3f;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stable-horse-table td a {
    font-weight: 800;
    color: #2f4225;
}

.stable-horse-table tr:hover {
    background: rgba(95,120,75,.05);
}

.stable-bar {
    width: 90px;
    height: 9px;
    border-radius: 999px;
    background: rgba(40,48,31,.14);
    overflow: hidden;
    display: inline-block;
    margin-right: 8px;
}

.stable-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #8fb85b, #d6c46f);
}

.sbl-name {
    margin-left: 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(72,130,55,.14);
    color: #2e7a33;
    font-size: 11px;
    font-weight: 900;
}

.stable-column-options {
    margin-top: 22px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(95,120,75,.06);
}

.stable-column-options h3 {
    margin-bottom: 12px;
}

.stable-column-options label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 16px 10px 0;
    font-weight: 700;
    color: #45513e;
}

@media (max-width: 900px) {
    .stable-tab-form,
    .stable-tab-manage-row,
    .stable-tab-manage-row form {
        flex-direction: column;
        align-items: stretch;
    }
}
/* HORSE SHOWCASE LAYOUT */

.horse-showcase-card {
    padding: 34px;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(70,80,60,.10);
    box-shadow: 0 12px 30px rgba(40,50,35,.08);
}

.horse-showcase-title {
    text-align: center;
    font-size: 28px;
    margin: 0 0 8px;
    color: #2d3329;
white-space:nowrap;
}
.horse-name-stat-block {
    max-width: 470px;
    padding: 10px 16px;
    margin: 0 auto 10px;
}

.horse-sbl-title {
    color: #4d8f42 !important;
}

.horse-showcase-layout {
    display: grid;
    grid-template-columns: 170px minmax(500px, 1fr) 230px;
    gap: 28px;
    align-items: center;
}

.horse-equipment-panel,
.horse-info-panel {
    background: rgba(247,248,244,.88);
    border: 1px solid rgba(70,80,60,.10);
    border-radius: 18px;
    padding: 18px;
}

.horse-equipment-panel h3,
.horse-info-panel h3 {
    margin: 0 0 14px;
    color: #2f3a2a;
    font-size: 18px;
}

.equipment-slot-card {
    margin-bottom: 14px;
}

.equipment-slot-card span {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #56604f;
    margin-bottom: 6px;
}

.equipment-slot-card strong {
    display: block;
    background: #2f3437;
    color: white;
    border-radius: 12px;
    padding: 13px;
    text-align: center;
    font-size: 13px;
}

.horse-showcase-image {
    min-height: 620px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.horse-showcase-image img {
    width: 100%;
    max-width: 900px;
    opacity: .88;
}

.horse-info-center {
    text-align: center;
    margin-bottom: 11px;
}

.horse-info-center span {
    display: block;
    color: #858b7f;
    font-weight: 800;
    font-size: 13px;
}

.horse-info-center strong,
.horse-info-center a {
    color: #2f3a2a;
    font-weight: 900;
}

.horse-info-line {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 8px;
    overflow: hidden;
    margin: 5px 0;
}

.horse-info-line span {
    background: rgba(45,50,45,.78);
    color: white;
    padding: 6px 8px;
    font-weight: 800;
    font-size: 13px;
}

.horse-info-line strong {
    background: rgba(255,255,255,.72);
    padding: 6px 8px;
    text-align: right;
    color: #2d3329;
    font-size: 13px;
}

.horse-mini-progress {
    margin-top: 11px;
}

.horse-mini-progress > div:first-child {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 800;
    color: #4a5443;
    margin-bottom: 4px;
}

.horse-mini-bar {
    height: 8px;
    border-radius: 999px;
    background: rgba(45,50,45,.13);
    overflow: hidden;
}

.horse-mini-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #6fa65b, #4f8d43);
}

.horse-mini-bar.hoof span {
    background: linear-gradient(90deg, #6f9ab8, #4f7fa1);
}

.horse-mini-bar.ready span {
    background: linear-gradient(90deg, #d8c26a, #ae9136);
}
.horse-tabs {
    display: flex;
    gap: 10px;
    margin-top: 30px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.horse-tab {
    border: none;
    background: #eceee8;
    color: #4a5443;
    padding: 10px 18px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
    transition: .2s;
}

.horse-tab:hover {
    background: #dfe4d6;
}

.horse-tab.active {
    background: #5f7448;
    color: white;
}

.horse-tab-content {
    background: rgba(255,255,255,.72);
    border-radius: 22px;
    padding: 26px;
    border: 1px solid rgba(70,80,60,.08);
    backdrop-filter: blur(4px);
    margin-bottom: 22px;
}

.horse-table {
    width: 100%;
    border-collapse: collapse;
}

.horse-table th {
    text-align: left;
    padding: 12px;
    color: #5f6757;
    font-size: 13px;
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.horse-table td {
    padding: 12px;
    border-bottom: 1px solid rgba(0,0,0,.04);
}
.horse-name-stat-block {
    max-width: 360px;
    margin: 0 auto 0px;
    padding: 10px 14px;

    border-radius: 20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.94),
            rgba(250,247,237,.96)
        );

    border: 1px solid rgba(174,145,54,.24);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 12px 28px rgba(80,65,35,.08);
}

.horse-name-stat-block .horse-showcase-title {
    margin-bottom: 14px;
}

.horse-genetic-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.horse-genetic-stats div {
    padding: 7px 6px;
    border-radius: 16px;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            rgba(245,239,219,.95),
            rgba(255,255,255,.92)
        );

    border: 1px solid rgba(174,145,54,.22);
}

.horse-genetic-stats span {
    display: block;
    margin-bottom: 5px;

    color: #8a6a3c;

    font-size: 15px;
    font-weight: 900;
    letter-spacing: .08em;
}

.horse-genetic-stats strong {
    color: #2d3329;
    font-size: 18px;
    font-weight: 900;
}
.horse-tab-panels {
    margin-top: 0;
}

.horse-tab-panel {
    display: none;
}

.horse-tab-panel.active {
    display: block;
}

.horse-section-card {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(95,120,75,.16);
    border-radius: 22px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 10px 26px rgba(64,88,48,.07);
}

.horse-section-card h2 {
    margin: 0 0 18px;
    color: #2d3329;
    font-size: 24px;
}

.horse-empty-text,
.pedigree-placeholder {
    color: #777f70;
    font-style: italic;
}

.horse-timeline-year {
    border-left: 2px solid rgba(95,120,75,.22);
    padding-left: 18px;
}

.horse-timeline-year h3 {
    color: #8a6a3c;
    margin-bottom: 10px;
}

.horse-timeline-year ul {
    margin: 0;
    padding-left: 18px;
    color: #4d5548;
}

/* ================================
   Horse profile - overview tab
================================ */

.horse-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.horse-overview-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.06);
}

.horse-overview-card h3 {
    margin: 0 0 14px 0;
    font-size: 17px;
    color: #314426;
}

.horse-overview-list,
.horse-care-summary {
    display: grid;
    gap: 10px;
}

.horse-overview-list div,
.horse-care-summary div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(80, 103, 62, 0.10);
}

.horse-overview-list div:last-child,
.horse-care-summary div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.horse-overview-list span,
.horse-care-summary span {
    color: #69745d;
    font-size: 13px;
}

.horse-overview-list strong,
.horse-care-summary strong {
    color: #28361f;
    font-size: 13px;
    text-align: right;
}

.horse-muted-text {
    margin: 0;
    color: #6f7a66;
    line-height: 1.6;
    font-size: 14px;
}

@media (max-width: 900px) {
    .horse-overview-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Horse profile - sport tab
================================ */

.horse-sport-owner {
    margin-top: 14px;
    margin-bottom: 18px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.horse-sport-owner span {
    color: #6d7664;
    font-size: 13px;
}

.horse-sport-owner strong {
    color: #2f3f26;
    font-size: 14px;
    text-align: right;
}

.horse-sport-owner a {
    color: #2f4f24;
    text-decoration: none;
    font-weight: 700;
}

.horse-sport-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.horse-sport-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.06);
}

.horse-sport-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.horse-sport-card-head h3 {
    margin: 0;
    font-size: 18px;
    color: #314426;
}

.horse-sport-card-head span {
    min-width: 42px;
    padding: 6px 10px;
    background: #34482a;
    color: #ffffff;
    border-radius: 999px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
}

.horse-sport-stats {
    display: grid;
    gap: 10px;
}

.horse-sport-stats div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(80, 103, 62, 0.10);
}

.horse-sport-stats div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.horse-sport-stats span {
    color: #69745d;
    font-size: 13px;
}

.horse-sport-stats strong {
    color: #28361f;
    font-size: 13px;
}

@media (max-width: 1000px) {
    .horse-sport-grid {
        grid-template-columns: 1fr;
    }

    .horse-sport-owner {
        display: block;
    }

    .horse-sport-owner strong {
        display: block;
        margin-top: 6px;
        text-align: left;
    }
}



/* ================================
   Horse profile - pedigree tab
================================ */

.horse-pedigree-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1.25fr 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 18px;
}

.horse-pedigree-column {
    display: grid;
    gap: 14px;
}

.horse-pedigree-column.main {
    align-items: center;
}

.horse-pedigree-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 16px 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.05);
}

.horse-pedigree-card span {
    display: block;
    margin-bottom: 7px;
    color: #6d7664;
    font-size: 12px;
}

.horse-pedigree-card strong {
    display: block;
    color: #28361f;
    font-size: 15px;
}

.horse-pedigree-card small {
    display: block;
    margin-top: 6px;
    color: #707a68;
    font-size: 12px;
}

.horse-pedigree-card.parent {
    background: rgba(247, 248, 243, 0.82);
}

.horse-pedigree-card.current {
    padding: 24px 20px;
    text-align: center;
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(52, 72, 42, 0.22);
}

.horse-pedigree-card.current strong {
    font-size: 22px;
    font-family: Georgia, "Times New Roman", serif;
}

.horse-pedigree-card.current.sbl strong {
    color: #2f7d32;
}

.horse-pedigree-card.muted {
    opacity: 0.82;
}

.pedigree-note {
    margin-top: 18px;
}

@media (max-width: 1000px) {
    .horse-pedigree-wrapper {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Horse profile - pedigree classic fix
================================ */

.horse-pedigree-classic {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1.35fr;
    gap: 18px;
    align-items: center;
    margin-top: 18px;
}

.horse-pedigree-generation {
    display: grid;
    gap: 14px;
}

.current-generation {
    align-items: center;
}

.grandparent-generation {
    grid-template-columns: 1fr 1fr;
}

.horse-pedigree-node {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 16px 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.05);
}

.horse-pedigree-node span {
    display: block;
    margin-bottom: 7px;
    color: #6d7664;
    font-size: 12px;
}

.horse-pedigree-node strong {
    display: block;
    color: #28361f;
    font-size: 15px;
}

.horse-pedigree-node small {
    display: block;
    margin-top: 6px;
    color: #707a68;
    font-size: 12px;
}

.horse-pedigree-node.current {
    text-align: center;
    padding: 26px 20px;
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(52, 72, 42, 0.22);
}

.horse-pedigree-node.current strong {
    font-size: 24px;
    font-family: Georgia, "Times New Roman", serif;
}

.horse-pedigree-node.current.sbl strong {
    color: #2f7d32;
}

.horse-pedigree-node.parent {
    background: rgba(247, 248, 243, 0.84);
}

.horse-pedigree-node.muted {
    opacity: 0.86;
}

@media (max-width: 1000px) {
    .horse-pedigree-classic {
        grid-template-columns: 1fr;
    }

    .grandparent-generation {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Horse profile - offspring tab
================================ */

.horse-offspring-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
    margin-bottom: 18px;
}

.horse-offspring-summary div {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.05);
    text-align: center;
}

.horse-offspring-summary span {
    display: block;
    margin-bottom: 8px;
    color: #6d7664;
    font-size: 13px;
}

.horse-offspring-summary strong {
    display: block;
    color: #28361f;
    font-size: 24px;
    font-family: Georgia, "Times New Roman", serif;
}

.horse-offspring-empty {
    background: rgba(255, 255, 255, 0.62);
    border: 1px dashed rgba(80, 103, 62, 0.26);
    border-radius: 18px;
    padding: 22px;
    text-align: center;
}

.horse-offspring-empty h3 {
    margin: 0 0 8px 0;
    color: #314426;
    font-size: 18px;
}

.horse-offspring-empty p {
    margin: 0 auto;
    max-width: 620px;
    color: #6f7a66;
    line-height: 1.6;
    font-size: 14px;
}

@media (max-width: 900px) {
    .horse-offspring-summary {
        grid-template-columns: 1fr;
    }
}


/* Offspring tab correction: SBL horses are never born from breeding */
.horse-offspring-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* ================================
   Horse profile - history tab
================================ */

.horse-history-timeline {
    position: relative;
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.horse-history-item {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 16px;
    align-items: stretch;
}

.horse-history-year {
    background: #34482a;
    color: #ffffff;
    border-radius: 999px;
    padding: 8px 12px;
    height: fit-content;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
}

.horse-history-content {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(80, 103, 62, 0.16);
    border-radius: 18px;
    padding: 16px 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.05);
}

.horse-history-content h3 {
    margin: 0 0 7px 0;
    color: #314426;
    font-size: 17px;
}

.horse-history-content p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.55;
    font-size: 14px;
}

.horse-history-item.muted {
    opacity: 0.82;
}

@media (max-width: 700px) {
    .horse-history-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .horse-history-year {
        width: fit-content;
    }
}


/* ================================
   Mijn Stal - polished stable page v1
================================ */

.stable-page {
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.stable-hero-header {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(80, 103, 62, 0.12);
}

.stable-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.stable-hero-header h1 {
    margin: 0;
    color: #2f3f26;
}

.stable-hero-header p {
    max-width: 680px;
    color: #69745d;
    line-height: 1.55;
}

.stable-hero-count {
    min-width: 112px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.stable-hero-count strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.stable-hero-count span {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    opacity: 0.9;
}

.stable-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.stable-summary-card {
    padding: 16px 14px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(44, 62, 35, 0.05);
    text-align: center;
}

.stable-summary-card span {
    display: block;
    margin-bottom: 7px;
    color: #6d7664;
    font-size: 12px;
}

.stable-summary-card strong {
    display: block;
    color: #28361f;
    font-size: 22px;
    font-family: Georgia, "Times New Roman", serif;
}

.stable-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 18px;
}

.stable-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(80, 103, 62, 0.15);
    border-radius: 999px;
    color: #34482a;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.stable-tabs a.active {
    background: #34482a;
    color: #ffffff;
    border-color: #34482a;
}

.stable-tools-card,
.stable-table-card {
    margin-top: 18px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.stable-tools-card h2,
.stable-table-card h2 {
    margin-top: 0;
    color: #314426;
}

.stable-tab-form {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.stable-tab-form input,
.stable-tab-manage-row input,
.horse-tab-select-form select {
    border: 1px solid rgba(80, 103, 62, 0.18);
    border-radius: 12px;
    padding: 9px 11px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f3f26;
}

.stable-button,
.stable-tab-manage-row button {
    border: 0;
    border-radius: 12px;
    padding: 9px 13px;
    background: #34482a;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.stable-tab-manage-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.stable-tab-manage-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    background: rgba(247, 248, 243, 0.75);
    border-radius: 16px;
}

.stable-tab-manage-row form {
    display: flex;
    gap: 8px;
}

.stable-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
}

.stable-table-header span {
    padding: 7px 12px;
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

.stable-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.stable-horse-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.72);
}

.stable-horse-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.stable-horse-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    color: #3c4735;
    font-size: 13px;
    vertical-align: middle;
}

.stable-horse-table td a {
    color: #2f4f24;
    font-weight: 700;
    text-decoration: none;
}

.sbl-name {
    display: inline-block;
    margin-left: 6px;
    padding: 3px 7px;
    background: rgba(47, 125, 50, 0.12);
    color: #2f7d32;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.stable-bar {
    width: 78px;
    height: 8px;
    display: inline-block;
    margin-right: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
    vertical-align: middle;
}

.stable-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.stable-column-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 16px;
    padding: 14px;
    background: rgba(247, 248, 243, 0.72);
    border-radius: 18px;
}

.stable-column-options h3 {
    width: 100%;
    margin: 0 0 4px 0;
    color: #314426;
    font-size: 15px;
}

.stable-column-options label {
    color: #5f6b56;
    font-size: 13px;
}

.empty-horse-state {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1100px) {
    .stable-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stable-hero-header {
        display: block;
    }

    .stable-hero-count {
        margin-top: 14px;
        width: fit-content;
    }
}

@media (max-width: 700px) {
    .stable-summary-grid {
        grid-template-columns: 1fr;
    }

    .stable-tab-form,
    .stable-tab-manage-row,
    .stable-tab-manage-row form {
        display: grid;
        width: 100%;
    }
}


/* Mijn Stal correction - only 3 summary cards */
.stable-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 620px;
}

@media (max-width: 900px) {
    .stable-summary-grid {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

/* ================================
   Mijn Stal - spacing correction
================================ */

.stable-page {
    padding: 34px 38px !important;
    box-sizing: border-box;
    overflow: hidden;
}

.stable-hero-header {
    padding: 26px 28px !important;
    margin-bottom: 22px !important;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
    box-sizing: border-box;
}

.stable-hero-header > div:first-child {
    padding-right: 18px;
}

.stable-hero-count {
    margin-right: 0 !important;
    flex-shrink: 0;
}

.stable-summary-grid {
    margin: 0 0 22px 0 !important;
    padding: 0 4px;
}

.stable-tabs {
    margin: 0 0 22px 0 !important;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 20px;
    box-sizing: border-box;
}

.stable-tools-card,
.stable-table-card {
    margin-top: 22px !important;
}

@media (max-width: 900px) {
    .stable-page {
        padding: 22px !important;
    }

    .stable-hero-header {
        padding: 22px !important;
    }
}



/* ================================
   Verzorging page - care system v1
================================ */

.care-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.care-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.care-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.care-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.care-hero p {
    max-width: 760px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.care-xp-card {
    min-width: 112px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.care-xp-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.care-xp-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.care-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.care-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.care-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.care-horse-grid {
    display: grid;
    gap: 22px;
}

.care-horse-card {
    padding: 22px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.care-horse-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.care-horse-head h2 {
    margin: 0 0 5px 0;
    color: #314426;
}

.care-horse-head h2 a {
    color: #314426;
    text-decoration: none;
}

.care-horse-head p {
    margin: 0;
    color: #6d7664;
    font-size: 13px;
}

.care-sbl-label {
    padding: 5px 10px;
    background: rgba(47, 125, 50, 0.12);
    color: #2f7d32;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.care-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.care-status-grid > div {
    padding: 15px;
    background: rgba(247, 248, 243, 0.74);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 18px;
}

.care-status-grid span {
    display: block;
    color: #6d7664;
    font-size: 12px;
}

.care-status-grid strong {
    display: block;
    margin: 5px 0 8px;
    color: #28361f;
    font-size: 19px;
    font-family: Georgia, "Times New Roman", serif;
}

.care-mini-bar {
    height: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.care-mini-bar i {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.care-actions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.care-action-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 18px;
}

.care-action-card h3 {
    margin: 0;
    color: #314426;
    font-size: 16px;
}

.care-action-card p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.45;
    font-size: 13px;
}

.care-action-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.care-action-meta span {
    padding: 5px 8px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.care-action-card button {
    margin-top: 4px;
    border: 0;
    border-radius: 12px;
    padding: 10px 13px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.care-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1100px) {
    .care-actions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .care-hero {
        display: block;
    }

    .care-xp-card {
        margin-top: 14px;
        width: fit-content;
    }
}

@media (max-width: 800px) {
    .care-page {
        padding: 22px !important;
    }

    .care-status-grid,
    .care-actions-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Verzorging page - list layout v2
================================ */

.care-action-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px 0;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 20px;
    box-sizing: border-box;
}

.care-action-tab {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.15);
    border-radius: 999px;
    color: #34482a;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.care-action-tab.active {
    background: #34482a;
    color: #ffffff;
    border-color: #34482a;
}

.care-list-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.care-list-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.care-list-header h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.care-list-header p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    max-width: 720px;
}

.care-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.care-list-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.care-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.care-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.76);
}

.care-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.care-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    color: #3c4735;
    font-size: 13px;
    vertical-align: middle;
}

.care-name-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 700;
    text-decoration: none;
}

.care-name-cell small {
    display: block;
    margin-top: 4px;
    color: #6d7664;
    font-size: 12px;
}

.care-table-status {
    min-width: 140px;
}

.care-table-status strong {
    display: block;
    margin-bottom: 6px;
    color: #28361f;
    font-size: 14px;
}

.care-table-bar {
    height: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.care-table-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.care-ready-badge,
.care-cooldown-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.care-ready-badge {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
}

.care-cooldown-badge {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
}

.care-inline-form {
    margin: 0;
}

.care-perform-button {
    border: 0;
    border-radius: 12px;
    padding: 10px 13px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.care-perform-button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

@media (max-width: 1000px) {
    .care-list-header {
        display: block;
    }

    .care-list-meta {
        justify-content: flex-start;
        margin-top: 12px;
    }
}


/* Verzorging - 100% taken onderaan en niet meer klikbaar */
.care-row-complete {
    opacity: 0.72;
}

.care-complete-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
}

.care-row-complete .care-perform-button:disabled {
    background: #c5cbbf;
    color: #ffffff;
}


/* ================================
   Voeren page - feeding system v1
================================ */

.feed-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.feed-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.feed-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.feed-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.feed-hero p {
    max-width: 760px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.feed-xp-card {
    min-width: 112px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.feed-xp-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.feed-xp-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.feed-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.feed-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.feed-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.feed-action-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px 0;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 20px;
}

.feed-action-tab {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.15);
    border-radius: 999px;
    color: #34482a;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.feed-action-tab.active {
    background: #34482a;
    color: #ffffff;
    border-color: #34482a;
}

.feed-list-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.feed-list-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.feed-list-header h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.feed-list-header p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    max-width: 720px;
}

.feed-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.feed-list-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.feed-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.feed-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.76);
}

.feed-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.feed-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    color: #3c4735;
    font-size: 13px;
    vertical-align: middle;
}

.feed-name-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 700;
    text-decoration: none;
}

.feed-name-cell small {
    display: block;
    margin-top: 4px;
    color: #6d7664;
    font-size: 12px;
}

.feed-table-status {
    min-width: 140px;
}

.feed-table-status strong {
    display: block;
    margin-bottom: 6px;
    color: #28361f;
    font-size: 14px;
}

.feed-table-bar {
    height: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.feed-table-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.feed-ready-badge,
.feed-cooldown-badge,
.feed-complete-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.feed-ready-badge {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
}

.feed-cooldown-badge {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
}

.feed-complete-badge {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
}

.feed-inline-form {
    margin: 0;
}

.feed-perform-button {
    border: 0;
    border-radius: 12px;
    padding: 10px 13px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.feed-perform-button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.feed-row-complete {
    opacity: 0.72;
}

.feed-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .feed-list-header {
        display: block;
    }

    .feed-list-meta {
        justify-content: flex-start;
        margin-top: 12px;
    }

    .feed-hero {
        display: block;
    }

    .feed-xp-card {
        margin-top: 14px;
        width: fit-content;
    }
}

@media (max-width: 800px) {
    .feed-page {
        padding: 22px !important;
    }
}


/* ================================
   Feed inventory/shop/profession v1
================================ */

.feed-action-tab small {
    margin-left: 7px;
    padding: 2px 6px;
    background: rgba(52, 72, 42, 0.10);
    border-radius: 999px;
    font-size: 11px;
}

.feed-action-tab.active small {
    background: rgba(255, 255, 255, 0.18);
}

.feed-status-stack {
    display: grid;
    gap: 9px;
}

.feed-status-stack .feed-table-status {
    min-width: 180px;
}

.feed-list-card .feed-alert a {
    color: #2f4f24;
    font-weight: 800;
}

.feed-shop-page,
.nutritionist-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.feed-shop-hero,
.nutritionist-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.nutritionist-hero {
    display: block;
}

.feed-shop-kicker,
.nutritionist-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.feed-shop-hero h1,
.nutritionist-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.feed-shop-hero p,
.nutritionist-hero p,
.nutritionist-card p {
    max-width: 760px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.feed-shop-money {
    min-width: 112px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.feed-shop-money span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.feed-shop-money strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.feed-shop-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.feed-shop-card,
.nutritionist-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.feed-shop-card h2,
.nutritionist-card h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.feed-shop-card p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    font-size: 14px;
}

.feed-shop-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.feed-shop-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.feed-shop-form {
    display: flex;
    gap: 10px;
    align-items: center;
}

.feed-shop-form select {
    border: 1px solid rgba(80, 103, 62, 0.18);
    border-radius: 12px;
    padding: 9px 11px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f3f26;
}

.feed-shop-form button {
    border: 0;
    border-radius: 12px;
    padding: 10px 14px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 1100px) {
    .feed-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feed-shop-hero {
        display: block;
    }

    .feed-shop-money {
        width: fit-content;
        margin-top: 14px;
    }
}

@media (max-width: 800px) {
    .feed-shop-page,
    .nutritionist-page {
        padding: 22px !important;
    }

    .feed-shop-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Subtle LS icons
================================ */

.feed-product-icon {
    display: inline-block;
    margin-right: 6px;
    font-size: 14px;
    line-height: 1;
    opacity: 0.88;
    vertical-align: -1px;
}

.feed-product-icon.large {
    margin-right: 8px;
    font-size: 20px;
    vertical-align: -2px;
}

.care-action-tab,
.feed-action-tab {
    gap: 2px;
}

.care-action-tab {
    letter-spacing: 0.01em;
}

.feed-shop-card h2,
.feed-list-header h2 {
    display: flex;
    align-items: center;
}


/* ================================
   Training page - v1
================================ */

.training-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.training-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.training-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.training-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.training-hero p {
    max-width: 780px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.training-xp-card {
    min-width: 112px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.training-xp-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.training-xp-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.training-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.training-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.training-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.training-list-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.training-list-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.training-list-header h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.training-list-header p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    max-width: 720px;
}

.training-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.training-list-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.training-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.training-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.76);
}

.training-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.training-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    color: #3c4735;
    font-size: 13px;
    vertical-align: middle;
}

.training-name-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 700;
    text-decoration: none;
}

.training-name-cell small {
    display: block;
    margin-top: 4px;
    color: #6d7664;
    font-size: 12px;
}

.training-table-status {
    min-width: 150px;
}

.training-table-status strong {
    display: block;
    margin-bottom: 6px;
    color: #28361f;
    font-size: 14px;
}

.training-table-bar {
    height: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.training-table-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.training-condition-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 220px;
}

.training-condition-mini span {
    padding: 4px 7px;
    background: rgba(52, 72, 42, 0.08);
    color: #34482a;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.training-ready-badge,
.training-cooldown-badge,
.training-complete-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.training-ready-badge {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
}

.training-cooldown-badge {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
}

.training-complete-badge {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
}

.training-inline-form {
    margin: 0;
}

.training-perform-button {
    border: 0;
    border-radius: 12px;
    padding: 10px 13px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.training-perform-button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.training-row-complete {
    opacity: 0.72;
}

.training-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .training-list-header {
        display: block;
    }

    .training-list-meta {
        justify-content: flex-start;
        margin-top: 12px;
    }

    .training-hero {
        display: block;
    }

    .training-xp-card {
        margin-top: 14px;
        width: fit-content;
    }
}

@media (max-width: 800px) {
    .training-page {
        padding: 22px !important;
    }
}


/* ================================
   Longeren page - v1
================================ */

.lunging-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.lunging-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.lunging-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lunging-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.lunging-hero p {
    max-width: 780px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.lunging-xp-card {
    min-width: 138px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.lunging-xp-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.lunging-xp-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.lunging-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.lunging-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.lunging-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.lunging-list-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.lunging-list-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.lunging-list-header h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.lunging-list-header p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    max-width: 720px;
}

.lunging-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.lunging-list-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.lunging-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.lunging-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.76);
}

.lunging-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.lunging-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    color: #3c4735;
    font-size: 13px;
    vertical-align: middle;
}

.lunging-name-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 700;
    text-decoration: none;
}

.lunging-name-cell small {
    display: block;
    margin-top: 4px;
    color: #6d7664;
    font-size: 12px;
}

.lunging-table-status {
    min-width: 150px;
}

.lunging-table-status strong {
    display: block;
    margin-bottom: 6px;
    color: #28361f;
    font-size: 14px;
}

.lunging-table-bar {
    height: 8px;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.lunging-table-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.lunging-count-badge,
.lunging-ready-badge,
.lunging-cooldown-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.lunging-count-badge {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
}

.lunging-ready-badge {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
}

.lunging-cooldown-badge {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
}

.lunging-inline-form {
    margin: 0;
}

.lunging-perform-button {
    border: 0;
    border-radius: 12px;
    padding: 10px 13px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.lunging-perform-button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.lunging-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .lunging-list-header {
        display: block;
    }

    .lunging-list-meta {
        justify-content: flex-start;
        margin-top: 12px;
    }

    .lunging-hero {
        display: block;
    }

    .lunging-xp-card {
        margin-top: 14px;
        width: fit-content;
    }
}

@media (max-width: 800px) {
    .lunging-page {
        padding: 22px !important;
    }
}


/* ================================
   Faciliteiten page - step 1
================================ */

.facilities-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.facilities-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 26px 28px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.facilities-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.facilities-hero h1 {
    margin: 0;
    color: #2f3f26;
}

.facilities-hero p {
    max-width: 790px;
    margin-bottom: 0;
    color: #69745d;
    line-height: 1.55;
}

.facilities-money-card {
    min-width: 126px;
    padding: 16px 18px;
    background: #34482a;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(44, 62, 35, 0.14);
}

.facilities-money-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    opacity: 0.9;
}

.facilities-money-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-family: Georgia, "Times New Roman", serif;
}

.facilities-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.facilities-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.facilities-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.facilities-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.facility-card {
    display: grid;
    gap: 16px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.facility-card.owned {
    border-color: rgba(80, 125, 65, 0.25);
    background: rgba(247, 248, 243, 0.78);
}

.facility-card-head {
    display: flex;
    gap: 14px;
    align-items: center;
}

.facility-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    background: rgba(52, 72, 42, 0.09);
    border-radius: 16px;
    font-size: 23px;
}

.facility-card h2 {
    margin: 0 0 4px 0;
    color: #314426;
}

.facility-card-head p,
.facility-description,
.facilities-note p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
    font-size: 14px;
}

.facility-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.facility-meta span {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.facility-buy-form {
    margin: 0;
}

.facility-buy-form button,
.facility-owned-badge {
    display: inline-flex;
    width: fit-content;
    border: 0;
    border-radius: 12px;
    padding: 10px 14px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.facility-buy-form button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.facility-owned-badge {
    background: rgba(80, 125, 65, 0.13);
    color: #2f6d32;
}

.facilities-note {
    margin-top: 22px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px dashed rgba(80, 103, 62, 0.23);
    border-radius: 22px;
}

.facilities-note h2 {
    margin: 0 0 8px 0;
    color: #314426;
}

@media (max-width: 1000px) {
    .facilities-grid {
        grid-template-columns: 1fr;
    }

    .facilities-hero {
        display: block;
    }

    .facilities-money-card {
        width: fit-content;
        margin-top: 14px;
    }
}

@media (max-width: 800px) {
    .facilities-page {
        padding: 22px !important;
    }
}


/* Faciliteiten page - usage step 2 */
.facilities-use-card,
.facilities-active-card {
    margin-top: 22px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.facilities-use-header h2,
.facilities-active-card h2 {
    margin: 0 0 8px 0;
    color: #314426;
}

.facilities-use-header p,
.facilities-empty {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
}

.facilities-use-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.facility-use-panel {
    padding: 18px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 18px;
}

.facility-use-panel h3 {
    margin: 0 0 14px 0;
    color: #314426;
}

.facility-session-form {
    display: grid;
    gap: 12px;
}

.facility-session-form label {
    display: grid;
    gap: 6px;
    color: #5f6b56;
    font-size: 13px;
    font-weight: 700;
}

.facility-session-form select {
    border: 1px solid rgba(80, 103, 62, 0.18);
    border-radius: 12px;
    padding: 9px 11px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f3f26;
}

.facility-session-form button {
    width: fit-content;
    border: 0;
    border-radius: 12px;
    padding: 10px 14px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.facilities-session-list {
    display: grid;
    gap: 10px;
}

.facility-session-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 16px;
}

.facility-session-row strong {
    display: block;
    color: #314426;
}

.facility-session-row span {
    display: inline-block;
    color: #6f7a66;
    font-size: 13px;
}

.facility-session-condition,
.facility-session-countdown {
    padding: 6px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a !important;
    border-radius: 999px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .facilities-use-grid {
        grid-template-columns: 1fr;
    }

    .facility-session-row {
        display: block;
    }

    .facility-session-row > div:last-child {
        margin-top: 10px;
    }
}


/* Horse profile - new condition bars */
.horse-mini-bar.care span {
    background: #8d9f6f;
}

.horse-mini-bar.feed span {
    background: #9a8052;
}

.horse-mini-bar.water span {
    background: #5f8fa8;
}

.horse-mini-bar.condition span {
    background: #78995b;
}


/* Horse overview management status */
.horse-care-summary-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

.horse-care-summary-wide div {
    padding: 8px 0;
    border-bottom: 1px solid rgba(80, 103, 62, 0.10);
}

.horse-care-summary-wide div:nth-last-child(-n+2) {
    border-bottom: 0;
}


/* Horse profile - clean overview cards */
.horse-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.horse-overview-card {
    padding: 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 18px;
}

.horse-overview-card h3 {
    margin: 0 0 12px 0;
    color: #314426;
}

.horse-overview-list {
    display: grid;
    gap: 8px;
}

.horse-overview-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(80, 103, 62, 0.10);
}

.horse-overview-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.horse-overview-list span {
    color: #6f7a66;
    font-size: 13px;
}

.horse-overview-list strong {
    color: #2f3f26;
    text-align: right;
}

.horse-muted-text {
    color: #6f7a66;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 900px) {
    .horse-overview-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Promoveren page - v2
================================ */

.promotion-page {
    padding: 34px 38px !important;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.promotion-hero,
.promotion-info-card,
.promotion-requirements-card {
    padding: 22px 24px;
    margin-bottom: 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 22px;
}

.promotion-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.promotion-hero h1,
.promotion-info-card h2,
.promotion-requirements-card h2 {
    margin: 0 0 8px 0;
    color: #2f3f26;
}

.promotion-hero p {
    max-width: 880px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.promotion-alert {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 16px;
    font-weight: 700;
}

.promotion-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.promotion-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.promotion-info-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.promotion-info-grid span {
    padding: 7px 10px;
    background: rgba(52, 72, 42, 0.09);
    color: #34482a;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.promotion-requirements-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.promotion-requirement-panel {
    padding: 14px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 18px;
}

.promotion-requirement-panel h3 {
    margin: 0 0 10px 0;
    color: #314426;
}

.promotion-requirement-list {
    display: grid;
    gap: 6px;
}

.promotion-requirement-list div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(80, 103, 62, 0.09);
}

.promotion-requirement-list span {
    color: #6f7a66;
    font-size: 12px;
}

.promotion-requirement-list strong {
    color: #2f3f26;
    font-size: 12px;
}

.promotion-horse-list {
    display: grid;
    gap: 18px;
}

.promotion-horse-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
}

.promotion-horse-head {
    margin-bottom: 16px;
}

.promotion-horse-head h2 {
    margin: 0 0 4px 0;
}

.promotion-horse-head a {
    color: #314426;
    text-decoration: none;
}

.promotion-horse-head p {
    margin: 0;
    color: #6f7a66;
    font-size: 13px;
}

.promotion-sbl {
    color: #3f7e3f;
    font-weight: 800;
}

.promotion-discipline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.promotion-discipline-card {
    padding: 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.12);
    border-radius: 18px;
}

.promotion-discipline-card h3 {
    margin: 0 0 12px 0;
    color: #314426;
}

.promotion-stat-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(80, 103, 62, 0.10);
}

.promotion-stat-line span {
    color: #6f7a66;
    font-size: 13px;
}

.promotion-stat-line strong {
    color: #2f3f26;
}

.promotion-wp-bar {
    height: 8px;
    margin: 12px 0 6px 0;
    background: rgba(52, 72, 42, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.promotion-wp-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.promotion-discipline-card small {
    display: block;
    color: #6f7a66;
    font-size: 12px;
    margin-bottom: 10px;
}

.promotion-form {
    margin: 0;
}

.promotion-form button,
.promotion-max-badge {
    border: 0;
    border-radius: 12px;
    padding: 9px 12px;
    background: #34482a;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.promotion-form button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.promotion-max-badge {
    display: inline-block;
    background: rgba(80, 125, 65, 0.13);
    color: #2f6d32;
}

.promotion-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255, 255, 255, 0.60);
    border: 1px dashed rgba(80, 103, 62, 0.25);
    border-radius: 18px;
}

@media (max-width: 1100px) {
    .promotion-discipline-grid,
    .promotion-requirements-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .promotion-page {
        padding: 22px !important;
    }
}


/* ================================
   Promoveren table layout
================================ */

.promotion-table-card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
}

.promotion-table-head {
    margin-bottom: 16px;
}

.promotion-table-head h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.promotion-table-head p {
    margin: 0;
    color: #6f7a66;
    line-height: 1.5;
}

.promotion-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 62, 0.12);
}

.promotion-main-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.76);
}

.promotion-main-table th {
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
    padding: 12px;
}

.promotion-main-table td {
    padding: 12px;
    border-top: 1px solid rgba(80, 103, 62, 0.10);
    vertical-align: top;
}

.promotion-horse-cell {
    min-width: 180px;
}

.promotion-horse-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 800;
    text-decoration: none;
}

.promotion-horse-cell small {
    display: block;
    margin-top: 5px;
    color: #6f7a66;
    line-height: 1.35;
}

.promotion-discipline-cell {
    min-width: 190px;
}

.promotion-cell-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

.promotion-cell-title span {
    color: #314426;
    font-weight: 800;
}

.promotion-cell-title strong {
    padding: 4px 9px;
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    border-radius: 999px;
}

.promotion-cell-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #6f7a66;
    font-size: 12px;
    margin-bottom: 7px;
}

.promotion-wp-bar.table {
    margin: 0 0 10px 0;
}

.promotion-main-table .promotion-form button {
    padding: 8px 11px;
    font-size: 12px;
}

@media (max-width: 900px) {
    .promotion-main-table {
        min-width: 760px;
    }
}


/* ================================
   Global responsive safety fixes
   Tablet / mobile / small browser
================================ */

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

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

table {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

/* Main layout may never push outside the viewport */
.layout-wrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.main-content {
    min-width: 0;
    max-width: 100%;
}

.content-card,
.horse-profile-page,
.stable-page,
.training-page,
.lunging-page,
.facilities-page,
.promotion-page,
.feed-page,
.feed-shop-page,
.care-page {
    max-width: 100%;
    min-width: 0;
}

/* Wide tables should scroll inside their card instead of breaking the page */
.stable-table-wrap,
.training-table-wrap,
.lunging-table-wrap,
.promotion-table-wrap,
.facilities-table-wrap,
.feed-table-wrap,
.care-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Header/topbar should wrap instead of overflowing */
.top-header,
.topbar-main,
.topbar-stats,
.stats-left,
.stats-right,
.top-navigation {
    max-width: 100%;
    min-width: 0;
}

.topbar-main,
.topbar-stats {
    flex-wrap: wrap;
}

.stats-left,
.stats-right,
.top-navigation {
    flex-wrap: wrap;
    gap: 6px;
}

.stat-box {
    white-space: nowrap;
}

/* Grids should not force overflow */
.horse-overview-grid,
.facilities-grid,
.facilities-use-grid,
.promotion-discipline-grid,
.stable-summary-grid,
.feed-shop-grid,
.feed-action-grid,
.care-action-grid {
    min-width: 0;
}

.horse-overview-card,
.facility-card,
.facility-use-panel,
.promotion-horse-card,
.promotion-table-card,
.stable-tools-card,
.stable-table-card {
    min-width: 0;
}

/* Horse profile gets safer columns on medium screens */
.horse-showcase-card {
    max-width: 100%;
    overflow: hidden;
}

.horse-showcase-layout {
    min-width: 0;
}

.horse-equipment-panel,
.horse-info-panel,
.horse-showcase-image {
    min-width: 0;
}

/* Tablet - Legend Stables blijft desktop-achtig, maar smaller */
@media (max-width: 1100px) {
    .layout-wrapper {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        padding: 14px;
    }

    .sidebar {
        flex: 0 0 clamp(185px, 22vw, 230px);
        width: clamp(185px, 22vw, 230px);
        max-width: 230px;
        min-width: 185px;
        margin-bottom: 0;
        display: block;
    }

    .sidebar-section {
        width: 100%;
        min-width: 0;
        margin-bottom: 12px;
    }

    .sidebar-section h3 {
        padding: 10px 12px;
        font-size: 13px;
    }

    .sidebar-section a {
        padding: 10px 12px;
        font-size: 12px;
    }

    .main-content {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        padding: clamp(18px, 3vw, 30px);
    }

    .topbar-main {
        gap: 10px;
    }

    .top-navigation {
        justify-content: flex-start;
    }

    .horse-showcase-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .horse-equipment-panel,
    .horse-info-panel {
        width: 100%;
    }

    .horse-showcase-image {
        min-height: 220px;
    }

    .promotion-main-table,
    .stable-horse-table,
    .training-table,
    .lunging-table {
        min-width: 760px;
    }
}


/* Mobile */
@media (max-width: 760px) {
    body {
        font-size: 14px;
    }

    .top-header {
        padding-left: 10px;
        padding-right: 10px;
    }

    .topbar-main,
    .topbar-stats {
        display: block;
    }

    .logo img {
        max-width: 180px;
    }

    .top-navigation,
    .stats-left,
    .stats-right {
        display: flex;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    .stat-box,
    .top-navigation a {
        flex: 0 0 auto;
    }

    .sidebar {
        grid-template-columns: 1fr;
    }

    .sidebar-section {
        width: 100%;
    }

    .main-content,
    .content-card,
    .horse-profile-page,
    .stable-page,
    .training-page,
    .lunging-page,
    .facilities-page,
    .promotion-page,
    .feed-page,
    .feed-shop-page,
    .care-page {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .horse-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .horse-tab {
        flex: 0 0 auto;
    }

    .horse-overview-grid,
    .facilities-grid,
    .facilities-use-grid,
    .feed-shop-grid {
        grid-template-columns: 1fr !important;
    }

    .horse-name-stat-block {
        align-items: flex-start;
    }

    .horse-genetic-stats {
        flex-wrap: wrap;
    }

    .horse-showcase-image img {
        max-height: 220px;
        object-fit: contain;
    }

    .facility-session-row {
        display: block;
    }

    .facility-session-row > div + div {
        margin-top: 10px;
    }
}

/* Very small phones */
@media (max-width: 480px) {
    .main-content,
    .content-card,
    .horse-profile-page,
    .stable-page,
    .training-page,
    .lunging-page,
    .facilities-page,
    .promotion-page,
    .feed-page,
    .feed-shop-page,
    .care-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .promotion-main-table,
    .stable-horse-table,
    .training-table,
    .lunging-table {
        min-width: 680px;
    }

    .horse-showcase-card,
    .horse-section-card,
    .promotion-table-card,
    .facilities-use-card,
    .facilities-active-card {
        border-radius: 18px;
    }
}


/* ================================
   Promoveren - compacte tabel layout
================================ */

.promotion-page-compact {
    padding: 28px 32px !important;
}

.promotion-hero.compact {
    padding: 18px 20px;
    margin-bottom: 16px;
}

.promotion-hero.compact h1 {
    font-size: 30px;
}

.promotion-table-card.compact {
    padding: 18px;
}

.promotion-table-head.compact h2 {
    margin: 0 0 12px 0;
}

.promotion-table-wrap.compact {
    overflow-x: auto;
}

.promotion-main-table.compact {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,0.72);
}

.promotion-main-table.compact th {
    padding: 10px 12px;
    background: rgba(52, 72, 42, 0.10);
    color: #34482a;
    font-size: 12px;
    text-align: left;
}

.promotion-main-table.compact td {
    padding: 10px 12px;
    border-top: 1px solid rgba(80,103,62,0.12);
    vertical-align: middle;
}

.promotion-horse-cell.compact {
    min-width: 180px;
}

.promotion-horse-cell.compact a {
    display: block;
    color: #2f4f24;
    font-weight: 800;
    text-decoration: none;
}

.promotion-horse-cell.compact small {
    display: block;
    margin-top: 4px;
    color: #6f7a66;
    font-size: 12px;
}

.promotion-discipline-cell.compact {
    min-width: 170px;
}

.promotion-cell-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.promotion-cell-inline strong {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    font-size: 12px;
}

.promotion-cell-inline span,
.promotion-cell-inline small {
    color: #6f7a66;
    font-size: 12px;
}

.promotion-form.compact {
    margin: 0;
}

.promotion-form.compact button {
    padding: 7px 10px;
    border-radius: 10px;
    font-size: 12px;
}

.promotion-max-badge.compact {
    padding: 5px 8px;
    font-size: 12px;
}

.promotion-info-details {
    margin-top: 14px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.58);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.promotion-info-details summary {
    cursor: pointer;
    color: #314426;
    font-weight: 800;
}

.promotion-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 16px;
    margin-top: 14px;
}

.promotion-info-grid h3 {
    margin: 0 0 8px 0;
    color: #314426;
}

.promotion-info-grid p {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px solid rgba(80,103,62,0.10);
    font-size: 12px;
}

.promotion-info-grid span {
    color: #6f7a66;
}

.promotion-info-grid strong {
    color: #2f3f26;
    white-space: nowrap;
}

@media (max-width: 1000px) {
    .promotion-main-table.compact {
        min-width: 820px;
    }

    .promotion-info-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Promoveren - compacte polish
================================ */

.promotion-page-compact {
    background: rgba(255, 255, 255, 0.72);
}

.promotion-hero.compact {
    background: linear-gradient(135deg, rgba(255,255,255,0.78), rgba(244,247,238,0.62));
    border: 1px solid rgba(80,103,62,0.14);
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.promotion-mini-note {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 16px 0;
    padding: 14px 16px;
    background: rgba(255,255,255,0.58);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 18px;
}

.promotion-mini-note strong {
    color: #314426;
    margin-right: 4px;
}

.promotion-mini-note span {
    padding: 5px 9px;
    background: rgba(52,72,42,0.08);
    color: #5f6b56;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.promotion-table-card.compact {
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.promotion-info-details.polished {
    margin-top: 16px;
    padding: 16px;
    background: rgba(255,255,255,0.62);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 20px;
    box-shadow: 0 10px 22px rgba(44,62,35,0.04);
}

.promotion-info-details.polished summary {
    cursor: pointer;
    color: #314426;
    font-weight: 900;
    font-size: 15px;
}

.promotion-info-grid.polished {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.promotion-info-box {
    padding: 16px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 18px;
}

.promotion-info-box h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    color: #314426;
    font-size: 16px;
}

.promotion-info-box h3 span {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    background: rgba(52,72,42,0.08);
    border-radius: 12px;
}

.promotion-info-list {
    display: grid;
    gap: 0;
}

.promotion-info-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(80,103,62,0.10);
}

.promotion-info-list div:last-child {
    border-bottom: 0;
}

.promotion-info-list span {
    color: #5f6b56;
    font-size: 12px;
}

.promotion-info-list strong {
    color: #2f3f26;
    white-space: nowrap;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .promotion-info-grid.polished {
        grid-template-columns: 1fr;
    }
}


/* Promoveren custom banner image */
.promotion-hero-image-banner {
    margin-bottom: 16px;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(80, 103, 62, 0.13);
    box-shadow: 0 14px 30px rgba(44, 62, 35, 0.08);
}

.promotion-hero-image-banner img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 760px) {
    .promotion-hero-image-banner {
        border-radius: 16px;
    }
}


/* ================================
   Topbar overlap fix
   Prevent nav buttons from falling behind statbar
================================ */

.top-header {
    overflow: visible;
}

.topbar-main {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    min-height: 150px;
}

.top-navigation {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 0;
    -webkit-overflow-scrolling: touch;
}

.top-navigation a {
    flex: 0 0 auto;
    white-space: nowrap;
}

.topbar-stats {
    position: relative;
    z-index: 4;
    clear: both;
    margin-top: 0;
}

@media (max-width: 1200px) {
    .topbar-main {
        display: block;
        min-height: 150px;
    }

    .logo {
        display: block;
    }

    .top-navigation {
        justify-content: flex-start;
        margin-top: 8px;
        padding: 0 8px 6px 8px;
    }

    .topbar-stats {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
}

@media (max-width: 760px) {
    .topbar-main {
        min-height: auto;
        padding-bottom: 8px;
    }

    .top-navigation {
        width: 100%;
        margin-top: 10px;
    }

    .topbar-stats {
        margin-top: 0;
    }
}


/* ================================
   Topbar final position fix
   Game pages only
================================ */

/* Game header: navigation belongs attached to the bottom of the image/header */
.top-header .topbar-main {
    position: relative;
    display: block;
    min-height: 150px;
    overflow: hidden;
}

.top-header .logo {
    position: relative;
    z-index: 1;
}

.top-header .top-navigation {
    position: absolute;
    right: 18px;
    bottom: 0;
    z-index: 8;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    max-width: calc(100% - 260px);
    overflow-x: auto;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch;
}

.top-header .top-navigation a {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Statbar is its own row under the header, never on top of navigation */
.top-header .topbar-stats {
    position: relative;
    z-index: 7;
    margin-top: 0;
    clear: both;
}

/* Portal / rider-select pages must not show normal game navigation */
.portal-page .top-navigation,
.portal-layout .top-navigation,
body.portal-page .top-navigation,
body.rider-select-page .top-navigation {
    display: none !important;
}

/* Medium screens: keep nav attached, allow horizontal scroll */
@media (max-width: 1200px) {
    .top-header .top-navigation {
        left: 260px;
        right: 12px;
        max-width: none;
        justify-content: flex-start;
    }
}

/* Small screens: nav becomes its own scroll row under the image, still not overlapping stats */
@media (max-width: 760px) {
    .top-header .topbar-main {
        min-height: auto;
        overflow: visible;
        padding-bottom: 0;
    }

    .top-header .top-navigation {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        max-width: 100%;
        margin-top: 8px;
        padding: 0 8px 6px 8px;
        justify-content: flex-start;
    }

    .top-header .topbar-stats {
        margin-top: 0;
    }
}


/* Ruiterselectie / portal mag geen normale game-topbar navigatie tonen */
body.portal-page .top-navigation,
body.rider-select-page .top-navigation {
    display: none !important;
}

/* Als ruiters.php per ongeluk game topbar elementen meekrijgt, verberg alleen de game-nav */
body.portal-page .top-header .top-navigation,
body.rider-select-page .top-header .top-navigation {
    display: none !important;
}


/* Promoveren - groene promotie-eisen regels */
.promotion-info-box {
    background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(244,248,238,0.70));
}

.promotion-info-list div {
    margin-bottom: 5px;
    padding: 7px 9px;
    border-bottom: 0;
    border-radius: 10px;
    background: rgba(118, 145, 91, 0.10);
}

.promotion-info-list div:nth-child(even) {
    background: rgba(118, 145, 91, 0.16);
}

.promotion-info-list div:hover {
    background: rgba(118, 145, 91, 0.22);
}

.promotion-info-list span {
    color: #3f5435;
}

.promotion-info-list strong {
    color: #2f4427;
}

/* subtiele eigen tint per discipline */
.promotion-info-box:nth-child(1) {
    border-color: rgba(118, 145, 91, 0.25);
}

.promotion-info-box:nth-child(2) {
    border-color: rgba(117, 103, 84, 0.22);
}

.promotion-info-box:nth-child(2) .promotion-info-list div {
    background: rgba(129, 119, 96, 0.10);
}

.promotion-info-box:nth-child(2) .promotion-info-list div:nth-child(even) {
    background: rgba(129, 119, 96, 0.15);
}

.promotion-info-box:nth-child(3) {
    border-color: rgba(91, 135, 83, 0.25);
}

.promotion-info-box:nth-child(3) .promotion-info-list div {
    background: rgba(91, 135, 83, 0.10);
}

.promotion-info-box:nth-child(3) .promotion-info-list div:nth-child(even) {
    background: rgba(91, 135, 83, 0.16);
}


/* Promoveren - betere promotie-eisen kleuren */
.promotion-info-details.polished {
    background: rgba(255, 255, 255, 0.68);
}

.promotion-info-box {
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(250,247,237,0.76)) !important;
    border: 1px solid rgba(119, 137, 91, 0.22) !important;
    box-shadow: 0 8px 18px rgba(44, 62, 35, 0.04);
}

.promotion-info-box h3 {
    color: #314426 !important;
    font-size: 16px;
    font-weight: 900;
}

.promotion-info-box h3 span {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px;
    display: inline-grid !important;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245, 236, 196, 0.95), rgba(226, 239, 210, 0.92)) !important;
    border: 1px solid rgba(139, 119, 52, 0.18);
    color: #466030;
    font-size: 19px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 3px 8px rgba(44,62,35,0.06);
}

.promotion-info-list div {
    margin-bottom: 6px !important;
    padding: 7px 10px !important;
    border-bottom: 0 !important;
    border-radius: 11px !important;
    background: rgba(236, 242, 222, 0.62) !important;
    border: 1px solid rgba(116, 139, 86, 0.08);
}

.promotion-info-list div:nth-child(even) {
    background: rgba(250, 246, 232, 0.82) !important;
}

.promotion-info-list div:hover {
    background: rgba(226, 238, 204, 0.82) !important;
}

.promotion-info-list span {
    color: #37492f !important;
    font-weight: 750;
}

.promotion-info-list strong {
    color: #314426 !important;
    font-weight: 900;
}

/* Discipline subtiele accenten, niet te fel */
.promotion-info-box:nth-child(1) h3 span {
    background: linear-gradient(135deg, rgba(250, 237, 190, 0.95), rgba(239, 246, 221, 0.95)) !important;
}

.promotion-info-box:nth-child(2) h3 span {
    background: linear-gradient(135deg, rgba(238, 232, 220, 0.95), rgba(245, 240, 228, 0.95)) !important;
}

.promotion-info-box:nth-child(3) h3 span {
    background: linear-gradient(135deg, rgba(226, 241, 211, 0.95), rgba(246, 244, 225, 0.95)) !important;
}


/* Promoveren - icoontjes promotie-eisen netjes uitlijnen */
.promotion-info-box h3 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
}

.promotion-info-box h3 span {
    position: static !important;
    transform: none !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 18px !important;
    vertical-align: middle !important;
}

.promotion-info-box h3 span img,
.promotion-info-box h3 span svg {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* voorkomt dat emoji/badge door oudere styling raar boven/onder springt */
.promotion-info-box h3::before,
.promotion-info-box h3::after {
    display: none !important;
}


/* ================================
   Dressuur competition page - v1
================================ */

.dressage-page {
    padding: 30px 34px !important;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.dressage-hero {
    padding: 22px 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.82), rgba(244,247,238,0.64));
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.dressage-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dressage-hero h1 {
    margin: 0;
    color: #2f3f26;
    font-size: 32px;
}

.dressage-hero p {
    max-width: 840px;
    margin: 8px 0 0 0;
    color: #69745d;
    line-height: 1.55;
}

.dressage-score-note {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 16px 0;
    padding: 14px 16px;
    background: rgba(255,255,255,0.58);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 18px;
}

.dressage-score-note strong {
    color: #314426;
}

.dressage-score-note span {
    padding: 5px 9px;
    background: rgba(52,72,42,0.08);
    color: #5f6b56;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.dressage-alert {
    padding: 14px 18px;
    margin-bottom: 16px;
    border-radius: 16px;
    font-weight: 800;
}

.dressage-alert.success {
    background: rgba(80, 125, 65, 0.12);
    color: #2f6d32;
    border: 1px solid rgba(80, 125, 65, 0.18);
}

.dressage-alert.error {
    background: rgba(145, 70, 55, 0.12);
    color: #8a3a2c;
    border: 1px solid rgba(145, 70, 55, 0.18);
}

.dressage-table-card,
.dressage-results-card {
    padding: 18px;
    margin-bottom: 18px;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.dressage-table-head h2,
.dressage-results-card h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.dressage-table-head p {
    margin: 0 0 14px 0;
    color: #6f7a66;
}

.dressage-table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(80,103,62,0.12);
}

.dressage-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,0.76);
}

.dressage-table th {
    padding: 10px 12px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    font-size: 12px;
    text-align: left;
}

.dressage-table td {
    padding: 11px 12px;
    border-top: 1px solid rgba(80,103,62,0.10);
    vertical-align: middle;
    color: #3c4735;
}

.dressage-horse-cell a {
    display: block;
    color: #2f4f24;
    font-weight: 900;
    text-decoration: none;
}

.dressage-horse-cell small,
.dressage-table small {
    color: #6f7a66;
    font-size: 12px;
}

.dressage-mini-bar {
    width: 92px;
    height: 8px;
    background: rgba(52,72,42,0.12);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 4px;
}

.dressage-mini-bar span {
    display: block;
    height: 100%;
    background: #6f8f5d;
    border-radius: 999px;
}

.dressage-mini-bar.condition span {
    background: #78995b;
}

.dressage-management-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 220px;
}

.dressage-management-tags span {
    padding: 4px 7px;
    background: rgba(52,72,42,0.08);
    color: #34482a;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.dressage-form {
    margin: 0;
}

.dressage-form button {
    border: 0;
    border-radius: 12px;
    padding: 9px 12px;
    background: #34482a;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.dressage-form button:disabled {
    background: #aab3a3;
    cursor: not-allowed;
}

.dressage-disabled-reason {
    display: block;
    margin-top: 5px;
    color: #8a7a63;
}

.dressage-results-list {
    display: grid;
    gap: 9px;
}

.dressage-result-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding: 12px 14px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.10);
    border-radius: 15px;
}

.dressage-result-row strong {
    display: block;
    color: #314426;
}

.dressage-result-row span {
    color: #6f7a66;
    font-size: 12px;
}

.dressage-score-badge,
.dressage-wp-badge {
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(52,72,42,0.09);
    color: #34482a !important;
    font-weight: 900;
}

.dressage-wp-badge {
    background: rgba(118,145,91,0.14);
}

.dressage-empty {
    padding: 24px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .dressage-table {
        min-width: 860px;
    }

    .dressage-result-row {
        display: block;
    }

    .dressage-result-row > div + div {
        margin-top: 8px;
    }
}


/* ================================
   Competition overview layout
================================ */

.competition-overview-page {
    padding: 30px 34px !important;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.competition-hero {
    padding: 22px 24px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,0.82), rgba(244,247,238,0.64));
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.competition-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.competition-hero h1 {
    margin: 0;
    color: #2f3f26;
    font-size: 32px;
}

.competition-hero p {
    max-width: 850px;
    margin: 8px 0 0 0;
    color: #69745d;
    line-height: 1.55;
}

.competition-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
}

.competition-tabs button {
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 12px 12px 0 0;
    padding: 10px 16px;
    background: rgba(255,255,255,0.70);
    color: #34482a;
    font-weight: 900;
}

.competition-tabs button.active {
    background: #34482a;
    color: #fff;
}

.competition-tabs button:disabled {
    color: #9aa292;
    cursor: not-allowed;
}

.competition-card,
.competition-panel {
    padding: 18px;
    margin-bottom: 18px;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.competition-table-wrap {
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid rgba(80,103,62,0.12);
}

.competition-main-table,
.competition-results-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,0.78);
}

.competition-main-table th,
.competition-results-table th {
    padding: 10px 12px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    text-align: left;
    font-size: 12px;
}

.competition-main-table td,
.competition-results-table td {
    padding: 11px 12px;
    border-top: 1px solid rgba(80,103,62,0.10);
    color: #3c4735;
}

.competition-main-table tr.is-active-bracket {
    background: rgba(236,242,222,0.54);
}

.competition-main-table small {
    display: block;
    margin-top: 3px;
    color: #6f7a66;
}

.competition-action-button,
.competition-link-button,
.competition-action-button:visited,
.competition-link-button:visited {
    display: inline-block;
    border: 0;
    border-radius: 11px;
    padding: 8px 12px;
    background: #34482a;
    color: #fff;
    font-weight: 900;
    font-size: 12px;
    text-decoration: none;
}

.competition-link-button {
    background: rgba(52,72,42,0.10);
    color: #34482a !important;
}

.competition-action-button:disabled {
    background: #c5cbc0;
    color: #fff;
    cursor: not-allowed;
}

.join-panel h2,
.results-panel h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.join-panel p {
    margin: 0 0 14px 0;
    color: #6f7a66;
}

.join-horse-list {
    display: grid;
    gap: 10px;
}

.join-horse-card {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: rgba(255,255,255,0.76);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.join-horse-card h3 {
    margin: 0 0 4px 0;
    color: #314426;
}

.join-horse-card p {
    margin: 0;
    color: #6f7a66;
    font-size: 12px;
}

.join-horse-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.join-horse-stats span {
    padding: 4px 7px;
    background: rgba(52,72,42,0.08);
    color: #34482a;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.result-class-block {
    margin-top: 14px;
}

.result-class-block h3 {
    color: #314426;
}

@media (max-width: 1000px) {
    .competition-main-table,
    .competition-results-table {
        min-width: 760px;
    }

    .join-horse-card {
        grid-template-columns: 1fr;
    }
}


/* Competition custom banner image */
.competition-banner-image {
    margin-bottom: 16px;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(80, 103, 62, 0.13);
    box-shadow: 0 14px 30px rgba(44, 62, 35, 0.08);
}

.competition-banner-image img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 760px) {
    .competition-banner-image {
        border-radius: 16px;
    }
}


/* ================================
   Competition internal views
================================ */

.competition-view-card {
    padding: 20px;
    margin-bottom: 18px;
    background: rgba(255,255,255,0.70);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.competition-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 14px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    text-decoration: none;
    font-weight: 900;
}

.competition-view-card h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.competition-view-card p {
    margin: 0 0 14px 0;
    color: #6f7a66;
}

.competition-class-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0 18px 0;
}

.competition-class-tabs a {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 10px 10px 0 0;
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(80,103,62,0.14);
    color: #34482a;
    font-weight: 900;
    text-decoration: none;
}

.competition-class-tabs a.active {
    background: #34482a;
    color: #ffffff;
}

.competition-results-sheet {
    padding: 18px;
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 18px;
}

.competition-results-sheet h3 {
    margin: 0 0 14px 0;
    color: #314426;
}

.competition-results-table.class-results td:first-child {
    font-size: 18px;
    text-align: center;
}

.competition-results-table.class-results th,
.competition-results-table.class-results td {
    padding: 13px 14px;
}

@media (max-width: 900px) {
    .competition-class-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .competition-class-tabs a {
        flex: 0 0 auto;
    }
}


/* Competition clickable names */
.competition-name-link,
.join-horse-card h3 a {
    color: #2f4f24;
    font-weight: 900;
    text-decoration: none;
}

.competition-name-link:hover,
.join-horse-card h3 a:hover {
    text-decoration: underline;
}

.competition-name-link.strong {
    font-weight: 950;
}


/* Dressuur resultaatrapport */
.competition-alert-link {
    display: inline-flex;
    margin-left: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    color: #2f6d32;
    text-decoration: none;
    font-weight: 900;
    font-size: 12px;
}

.competition-report-details {
    min-width: 220px;
}

.competition-report-details summary {
    cursor: pointer;
    color: #314426;
    font-weight: 900;
}

.competition-report-details p {
    margin: 8px 0;
    color: #6f7a66;
    font-size: 12px;
    line-height: 1.4;
}

.competition-report-factor-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.competition-report-factor-grid span {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    padding: 5px 7px;
    border-radius: 999px;
    background: rgba(236, 242, 222, 0.74);
    border: 1px solid rgba(80,103,62,0.08);
    color: #405336;
    font-size: 11px;
    font-weight: 800;
}

.competition-report-factor-grid strong {
    color: #2f3f26;
}


/* ================================
   Inbox / notifications
================================ */

.inbox-page {
    padding: 30px 34px !important;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(80, 103, 62, 0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44, 62, 35, 0.08);
}

.inbox-hero {
    padding: 22px 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.84), rgba(244,247,238,0.66));
    border: 1px solid rgba(80, 103, 62, 0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44, 62, 35, 0.05);
}

.inbox-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.inbox-hero h1 {
    margin: 0;
    color: #2f3f26;
    font-size: 32px;
}

.inbox-hero p {
    max-width: 820px;
    margin: 8px 0 0 0;
    color: #69745d;
    line-height: 1.55;
}

.inbox-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.inbox-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 15px;
    border-radius: 14px;
    background: rgba(255,255,255,0.70);
    border: 1px solid rgba(80,103,62,0.14);
    color: #34482a;
    text-decoration: none;
    font-weight: 900;
}

.inbox-tabs a.active {
    background: #34482a;
    color: #fff;
}

.inbox-tabs span {
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(218, 184, 86, 0.9);
    color: #2f3f26;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.inbox-section-card {
    padding: 20px;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.inbox-section-head h2 {
    margin: 0 0 6px 0;
    color: #314426;
}

.inbox-section-head p {
    margin: 0 0 16px 0;
    color: #6f7a66;
    line-height: 1.5;
}

.inbox-message-list {
    display: grid;
    gap: 12px;
}

.inbox-message-card {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 15px;
    background: rgba(255,255,255,0.76);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 18px;
}

.inbox-message-card.unread {
    background: rgba(236, 242, 222, 0.74);
    border-color: rgba(118,145,91,0.26);
}

.inbox-message-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    border: 1px solid rgba(139,119,52,0.14);
    font-size: 21px;
}

.inbox-message-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.inbox-message-head h3 {
    margin: 0;
    color: #314426;
    font-size: 16px;
}

.inbox-message-head span {
    color: #7a846f;
    font-size: 12px;
    white-space: nowrap;
}

.inbox-message-body p {
    margin: 8px 0 0 0;
    color: #5f6b56;
    line-height: 1.5;
}

.inbox-message-link {
    display: inline-flex;
    margin-top: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.inbox-empty {
    padding: 28px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 760px) {
    .inbox-message-card {
        grid-template-columns: 1fr;
    }

    .inbox-message-head {
        display: block;
    }

    .inbox-message-head span {
        display: block;
        margin-top: 5px;
    }
}


/* ================================
   Topbar clickable nav fix
   Zorgt dat Home/Forum/Inbox/etc echt klikbaar zijn
================================ */

.top-header .topbar-main {
    position: relative;
    z-index: 20;
    pointer-events: auto;
}

.top-header .top-navigation {
    position: absolute;
    z-index: 60 !important;
    pointer-events: auto !important;
}

.top-header .top-navigation a {
    position: relative;
    z-index: 70 !important;
    pointer-events: auto !important;
}

.top-header .topbar-stats {
    position: relative;
    z-index: 30;
}

.top-header .stats-left,
.top-header .stats-right,
.top-header .stat-box {
    pointer-events: auto;
}

/* voorkom dat decor/headerlagen boven de navigatie klikken blokkeren */
.top-header::before,
.top-header::after,
.topbar-main::before,
.topbar-main::after {
    pointer-events: none !important;
}


/* Horse profile - discipline/rider progress */
.horse-combo-progress-list {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.horse-combo-progress-card {
    padding: 18px;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 22px rgba(44,62,35,0.04);
}

.horse-combo-progress-head {
    margin-bottom: 14px;
}

.horse-combo-progress-head span {
    display: block;
    margin-bottom: 4px;
    color: #7a846f;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.horse-combo-progress-head h3 {
    margin: 0;
    color: #314426;
}

.horse-combo-progress-head a {
    color: #2f4f24;
    text-decoration: none;
    font-weight: 900;
}

.horse-combo-progress-head a:hover {
    text-decoration: underline;
}

.horse-discipline-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.horse-discipline-progress-card {
    padding: 15px;
    background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(246,249,240,0.68));
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 17px;
}

.horse-discipline-progress-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
}

.horse-discipline-progress-title span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    border: 1px solid rgba(139,119,52,0.14);
    font-size: 18px;
}

.horse-discipline-progress-title strong {
    color: #314426;
    font-size: 16px;
}

.horse-discipline-progress-stats {
    display: grid;
    gap: 7px;
}

.horse-discipline-progress-stats div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(80,103,62,0.10);
}

.horse-discipline-progress-stats div:last-child {
    border-bottom: 0;
}

.horse-discipline-progress-stats span {
    color: #6f7a66;
    font-size: 12px;
}

.horse-discipline-progress-stats strong {
    color: #2f3f26;
    text-align: right;
}

.horse-progress-action,
.horse-progress-locked {
    display: inline-flex;
    margin-top: 12px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.horse-progress-locked {
    background: rgba(138,122,99,0.10);
    color: #7a6b55;
}

.horse-empty-state {
    padding: 24px;
    margin-top: 14px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .horse-discipline-progress-grid {
        grid-template-columns: 1fr;
    }
}


/* Springen specifieke resultaatdetails */
.jumping-results td:nth-child(4) {
    font-weight: 900;
    color: #34482a;
}

.jumping-results td:nth-child(5) {
    white-space: nowrap;
}

.jumping-locked-list {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.62);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 16px;
}

.jumping-locked-list summary {
    cursor: pointer;
    color: #314426;
    font-weight: 900;
}

.jumping-locked-list div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.jumping-locked-list span {
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(138,122,99,0.10);
    color: #7a6b55;
    font-size: 12px;
    font-weight: 800;
}


/* Eventing specifieke resultaatdetails */
.eventing-results td:nth-child(9) {
    font-weight: 900;
    color: #34482a;
}

.eventing-results td:nth-child(8) {
    white-space: nowrap;
}


/* ================================
   Zadelkamer / tack room
================================ */

.tack-room-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.tack-room-hero {
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.88), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.tack-room-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tack-room-hero h1 {
    margin: 0;
    color: #2f3f26;
    font-size: 34px;
}

.tack-room-hero p {
    max-width: 850px;
    margin: 8px 0 0 0;
    color: #69745d;
    line-height: 1.55;
}

.tack-room-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.4fr;
    gap: 16px;
}

.tack-room-card {
    padding: 20px;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.05);
}

.tack-room-card h2 {
    margin: 0 0 14px 0;
    color: #314426;
}

.tack-inventory-group {
    margin-bottom: 18px;
}

.tack-inventory-group h3 {
    margin: 0 0 10px 0;
    color: #405336;
}

.tack-inventory-list,
.tack-horse-list {
    display: grid;
    gap: 10px;
}

.tack-item-chip {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 11px;
    background: rgba(255,255,255,0.76);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.tack-item-chip > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    border: 1px solid rgba(139,119,52,0.14);
}

.tack-item-chip strong {
    display: block;
    color: #314426;
}

.tack-item-chip small,
.tack-horse-card small,
.tack-horse-head p {
    color: #6f7a66;
}

.tack-horse-card {
    padding: 16px;
    background: rgba(255,255,255,0.76);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 18px;
}

.tack-horse-head h3 {
    margin: 0;
}

.tack-horse-head h3 a {
    color: #2f4f24;
    text-decoration: none;
    font-weight: 950;
}

.tack-horse-head h3 a:hover {
    text-decoration: underline;
}

.tack-horse-head p {
    margin: 4px 0 0 0;
}

.tack-equipped-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 14px 0;
}

.tack-equipped-grid > div {
    padding: 12px;
    background: linear-gradient(180deg, rgba(248,250,244,0.86), rgba(238,244,230,0.64));
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 15px;
}

.tack-equipped-grid span {
    display: block;
    margin-bottom: 4px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
}

.tack-equipped-grid strong {
    display: block;
    color: #314426;
}

.tack-equipped-grid small {
    display: block;
    margin-top: 4px;
}

.tack-equip-forms {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.tack-form {
    display: grid;
    gap: 7px;
}

.tack-form label {
    color: #56624b;
    font-size: 12px;
    font-weight: 900;
}

.tack-form select {
    width: 100%;
    padding: 9px 10px;
    border-radius: 11px;
    border: 1px solid rgba(80,103,62,0.18);
    background: rgba(255,255,255,0.88);
}

.tack-form button {
    border: 0;
    border-radius: 12px;
    padding: 9px 12px;
    background: #2f3f35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.tack-form button.secondary {
    margin-top: 8px;
    padding: 7px 10px;
    background: rgba(52,72,42,0.12);
    color: #34482a;
}

.tack-form button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.tack-empty {
    padding: 24px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 1000px) {
    .tack-room-grid,
    .tack-equipped-grid,
    .tack-equip-forms {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Tuigwinkel + Zadelkamer V1
================================ */

.tack-shop-page,
.tack-room-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.tack-shop-hero {
    padding: 24px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,0.88), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.tack-shop-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tack-shop-hero h1 {
    margin: 4px 0 7px;
    color: #2f3f26;
    font-size: 34px;
}

.tack-shop-hero p {
    max-width: 860px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.tack-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 14px;
}

.tack-tabs a {
    padding: 10px 14px;
    border-radius: 13px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(80,103,62,.14);
    color: #34482a;
    text-decoration: none;
    font-weight: 900;
}

.tack-tabs a.active {
    background: #34482a;
    color: #fff;
}

.tack-shop-card {
    padding: 18px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(80,103,62,.14);
    border-radius: 22px;
}

.tack-shop-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 12px;
}

.tack-shop-head h2 {
    margin: 0;
    color: #314426;
}

.tack-shop-head p,
.tack-shop-head a {
    margin: 0;
    color: #6f7a66;
    font-weight: 800;
}

.tack-shop-table-wrap {
    overflow-x: auto;
}

.tack-shop-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.tack-shop-table th {
    padding: 11px 12px;
    background: rgba(52,72,42,.10);
    color: #405336;
    font-size: 12px;
    text-align: left;
}

.tack-shop-table td {
    padding: 12px;
    border-bottom: 1px solid rgba(80,103,62,.10);
    color: #3f4d38;
    vertical-align: middle;
}

.tack-shop-table strong {
    display: block;
    color: #314426;
}

.tack-shop-table small {
    display: block;
    margin-top: 3px;
    color: #7a846f;
}

.tack-shop-table tr.is-locked {
    opacity: .62;
}

.locked-label {
    color: #9a7650 !important;
    font-weight: 900;
}

.tack-shop-table button {
    border: 0;
    border-radius: 11px;
    padding: 8px 12px;
    background: #2f3f35;
    color: white;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
}

.tack-shop-table button.secondary {
    background: rgba(52,72,42,.12);
    color: #34482a;
}

.tack-shop-table button:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.tack-inline-form {
    display: flex;
    gap: 6px;
    align-items: center;
}

.tack-inline-form select {
    max-width: 170px;
    padding: 7px;
    border-radius: 9px;
    border: 1px solid rgba(80,103,62,.16);
}

.tack-condition {
    width: 92px;
    height: 9px;
    background: rgba(52,72,42,.12);
    border-radius: 99px;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
}

.tack-condition span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #9fba71, #5f8c4c);
    border-radius: inherit;
}

.tack-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.tack-room-table tr.status-broken {
    background: rgba(155, 70, 58, .08);
}

.tack-room-table tr.status-worn {
    background: rgba(180, 145, 80, .08);
}

.tack-empty {
    padding: 24px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 760px) {
    .tack-shop-page,
    .tack-room-page {
        padding: 18px !important;
    }

    .tack-shop-head {
        display: block;
    }
}


/* Paardenprofiel echte uitrusting */
.equipment-slot-card small {
    display: block;
    margin-top: 4px;
    color: #6f7a66;
    font-size: 11px;
    line-height: 1.35;
}

.equipment-slot-card.broken {
    background: rgba(155, 70, 58, 0.08);
    border-color: rgba(155, 70, 58, 0.18);
}

.horse-equipment-link {
    display: inline-flex;
    margin-top: 10px;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(52,72,42,0.10);
    color: #34482a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}


/* Zadelkamer verkoopknop */
.tack-shop-table button.danger {
    background: #7b4a3f;
    color: #fff;
}

.tack-shop-table button.danger:hover {
    filter: brightness(0.95);
}


/* Horse profile real equipment */
.horse-real-equipment-panel .real-equipment-slot {
    position: relative;
}

.horse-real-equipment-panel .real-equipment-slot small {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,0.72);
    font-size: 11px;
    line-height: 1.35;
}

.horse-real-equipment-panel .real-equipment-slot em {
    display: inline-flex;
    width: fit-content;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.86);
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
}

.horse-real-equipment-panel .real-equipment-slot.broken {
    border-color: rgba(180, 90, 72, 0.48);
    background: linear-gradient(135deg, rgba(80,42,36,0.80), rgba(50,58,42,0.70));
}

.horse-equipment-link {
    display: block;
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.92);
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.horse-equipment-link:hover {
    background: rgba(255,255,255,0.18);
}


/* Paardenprofiel uitrusting - lichtere, warmere tuigblokken */
.horse-real-equipment-panel .real-equipment-slot {
    background: linear-gradient(135deg, rgba(245, 239, 215, 0.92), rgba(225, 239, 210, 0.88)) !important;
    border: 1px solid rgba(123, 145, 92, 0.28) !important;
    box-shadow: 0 8px 16px rgba(44, 62, 35, 0.08) !important;
}

.horse-real-equipment-panel .real-equipment-slot span {
    color: #4d613f !important;
    font-weight: 900 !important;
}

.horse-real-equipment-panel .real-equipment-slot strong {
    display: inline-block !important;
    margin-top: 5px !important;
    padding: 7px 12px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #5f7f45, #7d9b5f) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(64, 86, 50, 0.18) !important;
}

.horse-real-equipment-panel .real-equipment-slot small {
    color: #65745b !important;
}

.horse-real-equipment-panel .real-equipment-slot em {
    background: rgba(255, 255, 255, 0.68) !important;
    color: #4f673c !important;
    border: 1px solid rgba(123, 145, 92, 0.20) !important;
}

.horse-real-equipment-panel .real-equipment-slot.broken {
    background: linear-gradient(135deg, rgba(247, 225, 214, 0.94), rgba(239, 235, 218, 0.9)) !important;
    border-color: rgba(161, 86, 67, 0.34) !important;
}

.horse-real-equipment-panel .real-equipment-slot.broken strong {
    background: linear-gradient(135deg, #9b5a48, #b7775f) !important;
}

.horse-equipment-link {
    background: linear-gradient(135deg, #405f32, #719452) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(64, 86, 50, 0.18) !important;
}


/* Paardenprofiel uitrusting - rustige compacte lijst */
.horse-real-equipment-panel {
    background: rgba(255,255,255,0.72) !important;
    border: 1px solid rgba(80,103,62,0.14) !important;
    box-shadow: 0 10px 22px rgba(44,62,35,0.06) !important;
    color: #2f3f35 !important;
}

.horse-real-equipment-panel h3 {
    color: #2f3f35 !important;
    margin-bottom: 12px !important;
}

.horse-real-equipment-panel .real-equipment-slot {
    display: grid !important;
    grid-template-columns: 82px 1fr !important;
    gap: 8px 10px !important;
    align-items: start !important;
    padding: 9px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(80,103,62,0.12) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.horse-real-equipment-panel .real-equipment-slot:last-of-type {
    border-bottom: 0 !important;
}

.horse-real-equipment-panel .real-equipment-slot span {
    color: #647258 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

.horse-real-equipment-panel .real-equipment-slot strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #2f3f35 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.horse-real-equipment-panel .real-equipment-slot small {
    grid-column: 2 !important;
    display: block !important;
    margin-top: 2px !important;
    color: #7a846f !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.horse-real-equipment-panel .real-equipment-slot em {
    grid-column: 2 !important;
    display: inline-flex !important;
    width: fit-content !important;
    margin-top: 4px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: rgba(122,145,92,0.13) !important;
    border: 1px solid rgba(122,145,92,0.18) !important;
    color: #4f673c !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

.horse-real-equipment-panel .real-equipment-slot.broken em {
    background: rgba(155,72,58,0.13) !important;
    border-color: rgba(155,72,58,0.20) !important;
    color: #8a4336 !important;
}

.horse-equipment-link {
    display: block !important;
    margin-top: 12px !important;
    padding: 9px 11px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 14px rgba(64,86,50,0.16) !important;
}


/* FIX paardenprofiel uitrusting - brede nette lijst */
.horse-showcase-layout {
    grid-template-columns: minmax(260px, 330px) minmax(280px, 1fr) minmax(240px, 310px) !important;
    align-items: stretch !important;
}

.horse-real-equipment-panel {
    width: 100% !important;
    min-width: 280px !important;
    max-width: 340px !important;
    padding: 18px !important;
    background: rgba(255,255,255,0.76) !important;
    border: 1px solid rgba(80,103,62,0.16) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(44,62,35,0.06) !important;
}

.horse-real-equipment-panel h3 {
    margin: 0 0 14px 0 !important;
    color: #2f3f35 !important;
    font-size: 20px !important;
}

.horse-real-equipment-panel .real-equipment-slot {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    row-gap: 3px !important;
    align-items: start !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(80,103,62,0.13) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.horse-real-equipment-panel .real-equipment-slot:last-of-type {
    border-bottom: 0 !important;
}

.horse-real-equipment-panel .real-equipment-slot span {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    color: #53664a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.horse-real-equipment-panel .real-equipment-slot strong {
    grid-column: 2 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #25352b !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    max-width: 100% !important;
}

.horse-real-equipment-panel .real-equipment-slot small {
    grid-column: 2 !important;
    display: block !important;
    margin: 1px 0 0 0 !important;
    color: #6d7b63 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}

.horse-real-equipment-panel .real-equipment-slot em {
    grid-column: 2 !important;
    display: inline-flex !important;
    width: fit-content !important;
    margin-top: 4px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: rgba(122,145,92,0.13) !important;
    border: 1px solid rgba(122,145,92,0.18) !important;
    color: #4f673c !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

.horse-equipment-link {
    display: block !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 14px rgba(64,86,50,0.16) !important;
}

@media (max-width: 1100px) {
    .horse-showcase-layout {
        grid-template-columns: 1fr !important;
    }

    .horse-real-equipment-panel {
        max-width: none !important;
    }
}


/* Subtiele bredere layout voor paardenprofiel */
.horse-profile-page {
    width: min(100%, 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.horse-profile-page .horse-showcase-card {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Meer ruimte voor het paard, zonder de zijpanelen groter te maken */
.horse-profile-page .horse-showcase-layout {
    grid-template-columns: 235px minmax(470px, 1fr) 265px !important;
    gap: 18px !important;
}

/* Paard iets prominenter */
.horse-profile-page .horse-showcase-image {
    min-height: 455px !important;
}

.horse-profile-page .horse-showcase-image img {
    max-height: 430px !important;
    max-width: 96% !important;
}

/* Op smallere schermen netjes blijven */
@media (max-width: 1200px) {
    .horse-profile-page .horse-showcase-layout {
        grid-template-columns: 220px minmax(360px, 1fr) 245px !important;
        gap: 14px !important;
    }

    .horse-profile-page .horse-showcase-image {
        min-height: 380px !important;
    }

    .horse-profile-page .horse-showcase-image img {
        max-height: 350px !important;
    }
}

@media (max-width: 1050px) {
    .horse-profile-page .horse-showcase-layout {
        grid-template-columns: 1fr !important;
    }

    .horse-profile-page .horse-showcase-image {
        min-height: 320px !important;
    }
}


/* DEFINITIEVE FIX paardenprofiel breedte/layout */
.main-content:has(.horse-profile-page) {
    padding-left: 22px !important;
    padding-right: 22px !important;
}

.main-content:has(.horse-profile-page) .content-card {
    max-width: none !important;
}

.horse-profile-page {
    width: 100% !important;
    max-width: none !important;
}

.horse-profile-page .horse-showcase-card {
    width: 100% !important;
    max-width: none !important;
    padding: 28px 30px !important;
}

.horse-profile-page .horse-showcase-layout {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 225px minmax(560px, 1fr) 250px !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.horse-profile-page .horse-real-equipment-panel {
    width: 225px !important;
    max-width: 225px !important;
    min-width: 0 !important;
}

.horse-profile-page .horse-info-panel {
    width: 250px !important;
    max-width: 250px !important;
    min-width: 0 !important;
}

.horse-profile-page .horse-showcase-image {
    min-width: 0 !important;
    min-height: 470px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.horse-profile-page .horse-showcase-image img {
    max-width: 100% !important;
    max-height: 450px !important;
    object-fit: contain !important;
}

/* Uitrusting compact, maar namen mogen iets beter passen */
.horse-profile-page .horse-real-equipment-panel .real-equipment-slot {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    column-gap: 8px !important;
}

.horse-profile-page .horse-real-equipment-panel .real-equipment-slot strong {
    font-size: 11.5px !important;
}

.horse-profile-page .horse-real-equipment-panel .real-equipment-slot small {
    font-size: 9.5px !important;
}

/* Op kleinere schermen mag het weer stapelen */
@media (max-width: 1250px) {
    .horse-profile-page .horse-showcase-layout {
        grid-template-columns: 215px minmax(430px, 1fr) 235px !important;
        gap: 14px !important;
    }

    .horse-profile-page .horse-real-equipment-panel {
        width: 215px !important;
        max-width: 215px !important;
    }

    .horse-profile-page .horse-info-panel {
        width: 235px !important;
        max-width: 235px !important;
    }
}

@media (max-width: 1080px) {
    .horse-profile-page .horse-showcase-layout {
        grid-template-columns: 1fr !important;
    }

    .horse-profile-page .horse-real-equipment-panel,
    .horse-profile-page .horse-info-panel {
        width: 100% !important;
        max-width: none !important;
    }

    .horse-profile-page .horse-showcase-image {
        min-height: 330px !important;
    }

    .horse-profile-page .horse-showcase-image img {
        max-height: 320px !important;
    }
}



/* ================================
   Account page
================================ */

.account-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.account-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.account-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-hero h1 {
    margin: 4px 0 7px;
    color: #2f3f26;
    font-size: 34px;
}

.account-hero p {
    max-width: 720px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.account-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.account-hero-actions a,
.account-main-button,
.account-form button {
    display: inline-flex;
    justify-content: center;
    padding: 10px 14px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #3f5d32, #6f8f52);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(64,86,50,0.14);
}

.account-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.account-stats-grid article,
.account-card {
    padding: 18px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.account-stats-grid span {
    display: block;
    margin-bottom: 6px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
}

.account-stats-grid strong {
    color: #2f3f26;
    font-size: 24px;
}

.account-layout-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.account-card {
    margin-bottom: 16px;
}

.account-card h2 {
    margin: 0 0 14px;
    color: #314426;
}

.account-info-list {
    display: grid;
    gap: 9px;
}

.account-info-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(80,103,62,0.10);
}

.account-info-list div:last-child {
    border-bottom: 0;
}

.account-info-list span {
    color: #6f7a66;
    font-weight: 800;
}

.account-info-list strong {
    color: #2f3f26;
    text-align: right;
}

.account-active-rider h3 {
    margin: 0 0 12px;
}

.account-active-rider h3 a,
.account-rider-list h3 a {
    color: #2f4f24;
    text-decoration: none;
    font-weight: 950;
}

.account-active-rider h3 a:hover,
.account-rider-list h3 a:hover {
    text-decoration: underline;
}

.account-rider-list {
    display: grid;
    gap: 10px;
}

.account-rider-list article {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 14px;
    background: rgba(248,250,244,0.72);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.account-rider-list article.active {
    background: linear-gradient(135deg, rgba(239,247,228,0.88), rgba(255,255,255,0.72));
    border-color: rgba(122,145,92,0.26);
}

.account-rider-list span {
    color: #6f7a66;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-rider-list h3 {
    margin: 3px 0;
}

.account-rider-list p {
    margin: 0;
    color: #6f7a66;
}

.account-rider-list > article > strong {
    color: #4f673c;
    background: rgba(122,145,92,0.13);
    padding: 6px 10px;
    border-radius: 999px;
}

.account-rider-list > article > a {
    color: #405f32;
    font-weight: 900;
}

.account-form {
    display: grid;
    gap: 9px;
}

.account-form label {
    color: #6f7a66;
    font-weight: 900;
}

.account-form textarea {
    width: 100%;
    resize: vertical;
    min-height: 140px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(80,103,62,0.16);
    background: rgba(255,255,255,0.82);
    color: #2f3f26;
}

.account-form button {
    width: fit-content;
}

.account-link-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.account-link-grid a {
    padding: 12px;
    border-radius: 13px;
    background: rgba(248,250,244,0.78);
    border: 1px solid rgba(80,103,62,0.12);
    color: #34482a;
    text-decoration: none;
    font-weight: 900;
}

.account-link-grid a:hover {
    background: rgba(235,244,224,0.88);
}

.account-muted,
.account-empty {
    color: #6f7a66;
}

.account-empty {
    padding: 24px;
    text-align: center;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 900px) {
    .account-hero,
    .account-layout-grid {
        grid-template-columns: 1fr;
        display: grid;
    }

    .account-stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .account-link-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .account-page {
        padding: 18px !important;
    }

    .account-stats-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Account profielpagina / portal style
================================ */

.account-public-page {
    max-width: 940px;
    margin: 0 auto 40px auto;
    padding: 0 0 30px 0;
}

.account-public-page h1 {
    margin: 0 0 18px 0;
    color: #f7f3e8;
    font-size: 28px;
    text-shadow: 0 2px 8px rgba(30,42,24,0.22);
}

.account-profile-card,
.account-public-section {
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(80,103,62,0.15);
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(44,62,35,0.08);
}

.account-profile-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 34px;
    align-items: center;
    padding: 34px 42px;
    margin-bottom: 22px;
}

.account-profile-photo {
    display: flex;
    justify-content: center;
}

.account-profile-photo img,
.account-profile-placeholder {
    width: 230px;
    height: 230px;
    border-radius: 12px;
    border: 8px solid rgba(126,164,184,0.55);
    box-shadow: 0 10px 22px rgba(44,62,35,0.14);
    object-fit: cover;
    background: linear-gradient(135deg, #e9efe2, #cddfbd);
}

.account-profile-placeholder {
    display: grid;
    place-items: center;
    color: #4f673c;
    font-size: 86px;
    font-weight: 950;
}

.account-profile-info h2 {
    margin: 0 0 18px 0;
    color: #263326;
    font-size: 24px;
}

.account-profile-info h2.staff-name {
    color: #2f6e3d;
}

.account-profile-info h2 span {
    display: inline-flex;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(47,110,61,0.13);
    color: #2f6e3d;
    font-size: 11px;
    font-weight: 900;
    vertical-align: middle;
}

.account-public-info-list {
    display: grid;
    gap: 8px;
    max-width: 360px;
}

.account-public-info-list div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 12px;
    align-items: center;
}

.account-public-info-list span {
    color: #384a34;
    font-weight: 800;
}

.account-public-info-list strong {
    color: #202820;
    font-weight: 900;
}

.account-public-section {
    padding: 18px 22px;
    margin-bottom: 20px;
}

.account-public-section h2 {
    margin: 0 0 13px 0;
    color: #f7f3e8;
    background: linear-gradient(135deg, #3f5d32, #6f8f52);
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 18px;
}

.account-bio-text {
    color: #2f3f35;
    line-height: 1.6;
}

.account-muted {
    color: #6f7a66;
}

.account-edit-bio {
    margin-top: 12px;
    border-top: 1px solid rgba(80,103,62,0.12);
    padding-top: 10px;
}

.account-edit-bio summary {
    cursor: pointer;
    color: #4f673c;
    font-weight: 900;
}

.account-edit-bio form {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.account-edit-bio textarea {
    width: 100%;
    resize: vertical;
    min-height: 120px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(80,103,62,0.18);
    background: rgba(248,250,244,0.85);
}

.account-edit-bio button {
    width: fit-content;
    border: 0;
    border-radius: 11px;
    padding: 9px 14px;
    background: linear-gradient(135deg, #3f5d32, #6f8f52);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.account-public-rider-list {
    display: grid;
    gap: 8px;
}

.account-public-rider-list article {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(80,103,62,0.10);
}

.account-public-rider-list article:last-child {
    border-bottom: 0;
}

.account-public-rider-list article.active {
    background: rgba(232,242,220,0.62);
    border-radius: 10px;
}

.account-public-rider-list h3 {
    margin: 0 0 3px 0;
    font-size: 15px;
}

.account-public-rider-list h3 a {
    color: #263326;
    text-decoration: none;
    font-weight: 950;
}

.account-public-rider-list h3 a:hover {
    text-decoration: underline;
}

.account-public-rider-list p {
    margin: 0;
    color: #6f7a66;
    font-size: 13px;
}

.account-public-rider-list article > span {
    color: #4f673c;
    background: rgba(122,145,92,0.14);
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.account-public-stats > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}

.account-public-stats article {
    padding: 14px;
    border-radius: 12px;
    background: rgba(248,250,244,0.86);
    border: 1px solid rgba(80,103,62,0.12);
}

.account-public-stats span {
    display: block;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
}

.account-public-stats strong {
    display: block;
    margin-top: 4px;
    color: #263326;
    font-size: 22px;
}

@media (max-width: 850px) {
    .account-profile-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .account-profile-photo {
        justify-content: flex-start;
    }

    .account-public-stats > div {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .account-public-info-list div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .account-public-stats > div {
        grid-template-columns: 1fr;
    }

    .account-profile-photo img,
    .account-profile-placeholder {
        width: 180px;
        height: 180px;
    }
}

/* FIX account profielpagina zichtbaarheid */
.account-portal-page .main-content {
    padding: 28px 34px !important;
}

.account-public-page {
    max-width: 920px !important;
    margin: 0 auto 50px auto !important;
    padding: 0 !important;
}

.account-public-page > h1 {
    color: #2f3f26 !important;
    text-shadow: none !important;
    font-size: 30px !important;
    margin: 0 0 18px 0 !important;
    font-weight: 950 !important;
}

.account-profile-card {
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(80,103,62,0.16) !important;
    border-radius: 14px !important;
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 34px !important;
    align-items: center !important;
    min-height: 260px !important;
    padding: 34px 42px !important;
}

.account-profile-placeholder {
    background: linear-gradient(135deg, #eaf1df, #d1e1c3) !important;
    color: #4f673c !important;
    border: 7px solid rgba(126,164,184,0.55) !important;
}

.account-profile-info {
    display: block !important;
    color: #263326 !important;
}

.account-profile-info h2 {
    color: #263326 !important;
    font-size: 26px !important;
    margin: 0 0 18px 0 !important;
    font-weight: 950 !important;
}

.account-public-info-list span {
    color: #53664a !important;
}

.account-public-info-list strong {
    color: #202820 !important;
}

.account-public-section {
    background: rgba(255,255,255,0.94) !important;
    color: #263326 !important;
}

.account-public-section h2 {
    color: #fff !important;
}

.account-public-rider-list h3 a,
.account-bio-text,
.account-muted {
    color: #263326 !important;
}

.account-public-rider-list p {
    color: #65745b !important;
}

@media (max-width: 850px) {
    .account-profile-card {
        grid-template-columns: 1fr !important;
    }
}



/* ================================
   Account clean visible profile
================================ */

.account-profile-clean {
    width: min(100%, 900px) !important;
    margin: 0 auto 50px auto !important;
    color: #263326 !important;
}

.account-profile-clean h1 {
    margin: 0 0 18px 0 !important;
    color: #2f3f26 !important;
    font-size: 30px !important;
    font-weight: 950 !important;
    text-shadow: none !important;
}

.account-clean-card,
.account-clean-section {
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(80,103,62,0.16) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 26px rgba(44,62,35,0.08) !important;
}

.account-clean-profile-card {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 34px !important;
    align-items: center !important;
    padding: 32px 40px !important;
    margin-bottom: 22px !important;
    min-height: 270px !important;
}

.account-clean-photo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.account-clean-photo img,
.account-clean-placeholder {
    width: 220px !important;
    height: 220px !important;
    border-radius: 12px !important;
    border: 7px solid rgba(126,164,184,0.55) !important;
    object-fit: cover !important;
    background: linear-gradient(135deg, #eaf1df, #d1e1c3) !important;
    box-shadow: 0 10px 22px rgba(44,62,35,0.14) !important;
}

.account-clean-placeholder {
    display: grid !important;
    place-items: center !important;
    color: #4f673c !important;
    font-size: 82px !important;
    font-weight: 950 !important;
}

.account-clean-info {
    color: #263326 !important;
    display: block !important;
}

.account-clean-info h2 {
    display: block !important;
    margin: 0 0 16px 0 !important;
    color: #263326 !important;
    font-size: 25px !important;
    font-weight: 950 !important;
}

.account-clean-info h2.staff {
    color: #2f6e3d !important;
}

.account-clean-info h2 span {
    display: inline-flex !important;
    margin-left: 8px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: rgba(47,110,61,0.13) !important;
    color: #2f6e3d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.account-clean-info-list {
    display: grid !important;
    gap: 8px !important;
    max-width: 390px !important;
}

.account-clean-info-list div {
    display: grid !important;
    grid-template-columns: 155px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
}

.account-clean-info-list span {
    color: #53664a !important;
    font-weight: 850 !important;
}

.account-clean-info-list strong {
    color: #202820 !important;
    font-weight: 950 !important;
}

.account-clean-section {
    padding: 18px 22px !important;
    margin-bottom: 20px !important;
}

.account-clean-section h2 {
    margin: 0 0 13px 0 !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

.account-clean-bio {
    color: #263326 !important;
    line-height: 1.6 !important;
}

.account-clean-muted {
    color: #6f7a66 !important;
}

.account-clean-edit {
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(80,103,62,0.12) !important;
}

.account-clean-edit summary {
    cursor: pointer !important;
    color: #4f673c !important;
    font-weight: 900 !important;
}

.account-clean-edit form {
    display: grid !important;
    gap: 9px !important;
    margin-top: 10px !important;
}

.account-clean-edit textarea {
    width: 100% !important;
    resize: vertical !important;
    min-height: 120px !important;
    padding: 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(80,103,62,0.18) !important;
    background: rgba(248,250,244,0.85) !important;
    color: #263326 !important;
}

.account-clean-edit button {
    width: fit-content !important;
    border: 0 !important;
    border-radius: 11px !important;
    padding: 9px 14px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.account-clean-riders {
    display: grid !important;
    gap: 8px !important;
}

.account-clean-riders article {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(80,103,62,0.10) !important;
}

.account-clean-riders article:last-child {
    border-bottom: 0 !important;
}

.account-clean-riders article.active {
    background: rgba(232,242,220,0.62) !important;
    border-radius: 10px !important;
}

.account-clean-riders a {
    color: #263326 !important;
    text-decoration: none !important;
    font-weight: 950 !important;
}

.account-clean-riders a:hover {
    text-decoration: underline !important;
}

.account-clean-riders span {
    margin-left: 6px !important;
    color: #65745b !important;
    font-size: 13px !important;
}

.account-clean-riders strong {
    color: #4f673c !important;
    background: rgba(122,145,92,0.14) !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
}

.account-clean-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.account-clean-stats article {
    padding: 14px !important;
    border-radius: 12px !important;
    background: rgba(248,250,244,0.86) !important;
    border: 1px solid rgba(80,103,62,0.12) !important;
}

.account-clean-stats span {
    display: block !important;
    color: #6f7a66 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.account-clean-stats strong {
    display: block !important;
    margin-top: 4px !important;
    color: #263326 !important;
    font-size: 22px !important;
}

@media (max-width: 850px) {
    .account-clean-profile-card {
        grid-template-columns: 1fr !important;
        padding: 24px !important;
    }

    .account-clean-photo {
        justify-content: flex-start !important;
    }

    .account-clean-stats {
        grid-template-columns: 1fr !important;
    }
}



/* ================================
   Account clean visible profile
================================ */

.account-profile-clean {
    width: min(100%, 900px) !important;
    margin: 0 auto 50px auto !important;
    color: #263326 !important;
}

.account-profile-clean h1 {
    margin: 0 0 18px 0 !important;
    color: #2f3f26 !important;
    font-size: 30px !important;
    font-weight: 950 !important;
    text-shadow: none !important;
}

.account-clean-card,
.account-clean-section {
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(80,103,62,0.16) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 26px rgba(44,62,35,0.08) !important;
}

.account-clean-profile-card {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 34px !important;
    align-items: center !important;
    padding: 32px 40px !important;
    margin-bottom: 22px !important;
    min-height: 270px !important;
}

.account-clean-photo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.account-clean-photo img,
.account-clean-placeholder {
    width: 220px !important;
    height: 220px !important;
    border-radius: 12px !important;
    border: 7px solid rgba(126,164,184,0.55) !important;
    object-fit: cover !important;
    background: linear-gradient(135deg, #eaf1df, #d1e1c3) !important;
    box-shadow: 0 10px 22px rgba(44,62,35,0.14) !important;
}

.account-clean-placeholder {
    display: grid !important;
    place-items: center !important;
    color: #4f673c !important;
    font-size: 82px !important;
    font-weight: 950 !important;
}

.account-clean-info {
    color: #263326 !important;
    display: block !important;
}

.account-clean-info h2 {
    display: block !important;
    margin: 0 0 16px 0 !important;
    color: #263326 !important;
    font-size: 25px !important;
    font-weight: 950 !important;
}

.account-clean-info h2.staff {
    color: #2f6e3d !important;
}

.account-clean-info h2 span {
    display: inline-flex !important;
    margin-left: 8px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: rgba(47,110,61,0.13) !important;
    color: #2f6e3d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.account-clean-info-list {
    display: grid !important;
    gap: 8px !important;
    max-width: 390px !important;
}

.account-clean-info-list div {
    display: grid !important;
    grid-template-columns: 155px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
}

.account-clean-info-list span {
    color: #53664a !important;
    font-weight: 850 !important;
}

.account-clean-info-list strong {
    color: #202820 !important;
    font-weight: 950 !important;
}

.account-clean-section {
    padding: 18px 22px !important;
    margin-bottom: 20px !important;
}

.account-clean-section h2 {
    margin: 0 0 13px 0 !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

.account-clean-bio {
    color: #263326 !important;
    line-height: 1.6 !important;
}

.account-clean-muted {
    color: #6f7a66 !important;
}

.account-clean-edit {
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(80,103,62,0.12) !important;
}

.account-clean-edit summary {
    cursor: pointer !important;
    color: #4f673c !important;
    font-weight: 900 !important;
}

.account-clean-edit form {
    display: grid !important;
    gap: 9px !important;
    margin-top: 10px !important;
}

.account-clean-edit textarea {
    width: 100% !important;
    resize: vertical !important;
    min-height: 120px !important;
    padding: 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(80,103,62,0.18) !important;
    background: rgba(248,250,244,0.85) !important;
    color: #263326 !important;
}

.account-clean-edit button {
    width: fit-content !important;
    border: 0 !important;
    border-radius: 11px !important;
    padding: 9px 14px !important;
    background: linear-gradient(135deg, #3f5d32, #6f8f52) !important;
    color: #fff !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.account-clean-riders {
    display: grid !important;
    gap: 8px !important;
}

.account-clean-riders article {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(80,103,62,0.10) !important;
}

.account-clean-riders article:last-child {
    border-bottom: 0 !important;
}

.account-clean-riders article.active {
    background: rgba(232,242,220,0.62) !important;
    border-radius: 10px !important;
}

.account-clean-riders a {
    color: #263326 !important;
    text-decoration: none !important;
    font-weight: 950 !important;
}

.account-clean-riders a:hover {
    text-decoration: underline !important;
}

.account-clean-riders span {
    margin-left: 6px !important;
    color: #65745b !important;
    font-size: 13px !important;
}

.account-clean-riders strong {
    color: #4f673c !important;
    background: rgba(122,145,92,0.14) !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
}

.account-clean-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.account-clean-stats article {
    padding: 14px !important;
    border-radius: 12px !important;
    background: rgba(248,250,244,0.86) !important;
    border: 1px solid rgba(80,103,62,0.12) !important;
}

.account-clean-stats span {
    display: block !important;
    color: #6f7a66 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.account-clean-stats strong {
    display: block !important;
    margin-top: 4px !important;
    color: #263326 !important;
    font-size: 22px !important;
}

@media (max-width: 850px) {
    .account-clean-profile-card {
        grid-template-columns: 1fr !important;
        padding: 24px !important;
    }

    .account-clean-photo {
        justify-content: flex-start !important;
    }

    .account-clean-stats {
        grid-template-columns: 1fr !important;
    }
}


/* HARD FIX account profiel info zichtbaar */
.account-profile-clean .account-clean-profile-card {
    display: grid !important;
    grid-template-columns: 260px minmax(320px, 1fr) !important;
    gap: 34px !important;
    align-items: center !important;
    overflow: visible !important;
}

.account-profile-clean .account-clean-info {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 5 !important;
    min-width: 320px !important;
    min-height: 180px !important;
    color: #263326 !important;
    background: rgba(255, 255, 255, 0.35) !important;
    padding: 10px 0 !important;
}

.account-profile-clean .account-clean-info * {
    visibility: visible !important;
    opacity: 1 !important;
}

.account-profile-clean .account-clean-info h2 {
    display: block !important;
    color: #263326 !important;
    font-size: 26px !important;
    font-weight: 950 !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.2 !important;
}

.account-profile-clean .account-clean-info-list {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 420px !important;
}

.account-profile-clean .account-clean-info-list div {
    display: grid !important;
    grid-template-columns: 155px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
    min-height: 22px !important;
}

.account-profile-clean .account-clean-info-list span {
    display: block !important;
    color: #53664a !important;
    font-weight: 850 !important;
    font-size: 14px !important;
}

.account-profile-clean .account-clean-info-list strong {
    display: block !important;
    color: #202820 !important;
    font-weight: 950 !important;
    font-size: 14px !important;
}



/* ================================
   Rassen pagina
================================ */

.breeds-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.breeds-hero {
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.breeds-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.breeds-hero h1 {
    margin: 4px 0 7px;
    color: #2f3f26;
    font-size: 34px;
}

.breeds-hero p {
    max-width: 860px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.breeds-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.breeds-summary-grid article,
.breeds-filter-card,
.breeds-list-card {
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.breeds-summary-grid article {
    padding: 16px;
}

.breeds-summary-grid span {
    display: block;
    margin-bottom: 6px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
}

.breeds-summary-grid strong {
    color: #2f3f26;
    font-size: 24px;
}

.breeds-filter-card {
    padding: 18px;
    margin-bottom: 16px;
}

.breeds-filter-form {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr auto auto;
    gap: 12px;
    align-items: end;
}

.breeds-filter-form label {
    display: block;
    margin-bottom: 6px;
    color: #56624b;
    font-size: 12px;
    font-weight: 900;
}

.breeds-filter-form input,
.breeds-filter-form select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(80,103,62,0.18);
    background: rgba(255,255,255,0.88);
    color: #2f3f26;
}

.breeds-filter-form button,
.breeds-filter-form a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 41px;
    padding: 0 14px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #3f5d32, #6f8f52);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer;
}

.breeds-filter-form a {
    background: rgba(52,72,42,0.12);
    color: #34482a;
}

.breeds-list-card {
    padding: 20px;
}

.breeds-list-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
}

.breeds-list-head h2 {
    margin: 0;
    color: #314426;
}

.breeds-list-head p {
    margin: 0;
    color: #6f7a66;
    font-weight: 800;
}

.breeds-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.breed-card {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 12px;
    padding: 14px;
    background: rgba(248,250,244,0.78);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.breed-card-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    border: 1px solid rgba(139,119,52,0.14);
    font-size: 20px;
}

.breed-card h3 {
    margin: 0 0 7px;
    color: #2f3f26;
    font-size: 17px;
}

.breed-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.breed-meta span {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(122,145,92,0.13);
    color: #4f673c;
    font-size: 11px;
    font-weight: 900;
}

.breed-card p {
    margin: 0;
    color: #66715d;
    line-height: 1.45;
}

.breeds-empty {
    padding: 24px;
    text-align: center;
    color: #6f7a66;
    background: rgba(255,255,255,0.58);
    border: 1px dashed rgba(80,103,62,0.25);
    border-radius: 18px;
}

@media (max-width: 900px) {
    .breeds-summary-grid,
    .breeds-grid,
    .breeds-filter-form {
        grid-template-columns: 1fr;
    }

    .breeds-list-head {
        display: block;
    }
}

@media (max-width: 600px) {
    .breeds-page {
        padding: 18px !important;
    }
}


/* ================================
   Ras detailpagina
================================ */

.breed-detail-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.breed-back-link {
    display: inline-flex;
    margin-bottom: 14px;
    color: #405f32;
    text-decoration: none;
    font-weight: 900;
}

.breed-detail-hero {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 16px;
    align-items: center;
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.breed-detail-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    border: 1px solid rgba(139,119,52,0.14);
    font-size: 28px;
}

.breed-detail-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.breed-detail-hero h1 {
    margin: 3px 0 9px;
    color: #2f3f26;
    font-size: 34px;
}

.breed-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.breed-detail-meta strong {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(122,145,92,0.13);
    color: #4f673c;
    font-size: 12px;
}

.breed-detail-grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 16px;
    margin-bottom: 16px;
}

.breed-detail-card {
    padding: 20px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.breed-detail-card h2 {
    margin: 0 0 12px;
    color: #314426;
}

.breed-detail-card p {
    color: #66715d;
    line-height: 1.6;
}

.breed-muted {
    color: #6f7a66;
}

.breed-detail-info-list {
    display: grid;
    gap: 9px;
}

.breed-detail-info-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(80,103,62,0.10);
}

.breed-detail-info-list div:last-child {
    border-bottom: 0;
}

.breed-detail-info-list span {
    color: #6f7a66;
    font-weight: 850;
}

.breed-detail-info-list strong {
    color: #2f3f26;
    text-align: right;
}

.breed-sbl-table-wrap {
    overflow-x: auto;
}

.breed-sbl-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.breed-sbl-table th {
    padding: 11px 12px;
    background: rgba(52,72,42,.10);
    color: #405336;
    font-size: 12px;
    text-align: left;
}

.breed-sbl-table td {
    padding: 11px 12px;
    border-bottom: 1px solid rgba(80,103,62,.10);
    color: #3f4d38;
}

.breed-sbl-table a,
.breed-card h3 a {
    color: #2f4f24;
    font-weight: 900;
    text-decoration: none;
}

.breed-sbl-table a:hover,
.breed-card h3 a:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .breed-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .breed-detail-page {
        padding: 18px !important;
    }

    .breed-detail-hero {
        grid-template-columns: 1fr;
    }
}


/* ================================
   Zoeken pagina
================================ */

.search-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.search-hero {
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.search-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.search-hero h1 {
    margin: 4px 0 7px;
    color: #2f3f26;
    font-size: 34px;
}

.search-hero p {
    max-width: 850px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.search-card,
.search-results-section,
.search-empty,
.search-results-summary {
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.search-card {
    padding: 18px;
    margin-bottom: 16px;
}

.search-form {
    display: grid;
    grid-template-columns: 1.5fr .8fr auto;
    gap: 12px;
    align-items: end;
}

.search-form label {
    display: block;
    margin-bottom: 6px;
    color: #56624b;
    font-size: 12px;
    font-weight: 900;
}

.search-form input,
.search-form select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(80,103,62,0.18);
    background: rgba(255,255,255,0.88);
    color: #2f3f26;
}

.search-form button {
    height: 41px;
    padding: 0 16px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #3f5d32, #6f8f52);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.search-results-summary {
    display: flex;
    gap: 8px;
    align-items: baseline;
    padding: 14px 18px;
    margin-bottom: 16px;
    color: #53664a;
}

.search-results-summary strong {
    color: #2f3f26;
    font-size: 24px;
}

.search-results-section {
    padding: 18px;
    margin-bottom: 16px;
}

.search-results-section h2 {
    margin: 0 0 12px;
    color: #314426;
}

.search-result-list {
    display: grid;
    gap: 10px;
}

.search-result-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding: 13px 14px;
    background: rgba(248,250,244,0.78);
    border: 1px solid rgba(80,103,62,0.12);
    border-radius: 16px;
}

.search-result-item h3 {
    margin: 0 0 4px;
    color: #2f3f26;
}

.search-result-item h3 a,
.search-result-item > a {
    color: #2f4f24;
    text-decoration: none;
    font-weight: 900;
}

.search-result-item h3 a:hover,
.search-result-item > a:hover {
    text-decoration: underline;
}

.search-result-item p {
    margin: 0;
    color: #66715d;
}

.search-result-item > span {
    color: #6f7a66;
    font-weight: 800;
}

.search-sbl-name {
    color: #2f8a43 !important;
}

.search-empty {
    padding: 24px;
    text-align: center;
    color: #6f7a66;
}

@media (max-width: 800px) {
    .search-form {
        grid-template-columns: 1fr;
    }

    .search-result-item {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .search-page {
        padding: 18px !important;
    }
}


/* Rassen extra filters */
.breeds-filter-form {
    grid-template-columns: 1.4fr .75fr .65fr .75fr auto auto !important;
}

@media (max-width: 1100px) {
    .breeds-filter-form {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 700px) {
    .breeds-filter-form {
        grid-template-columns: 1fr !important;
    }
}


/* Rassen herkomstlanden */
.breeds-country-card {
    padding: 20px;
    margin-bottom: 16px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.breeds-country-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.breeds-country-list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(248,250,244,0.86);
    border: 1px solid rgba(80,103,62,0.12);
    color: #34482a;
    text-decoration: none;
}

.breeds-country-list a:hover {
    background: rgba(235,244,224,0.92);
}

.breeds-country-list strong {
    font-size: 13px;
}

.breeds-country-list span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 800;
}

/* Rassen filters met herkomst */
.breeds-filter-form {
    grid-template-columns: 1.25fr .65fr .75fr .65fr .75fr auto auto !important;
}

@media (max-width: 1200px) {
    .breeds-filter-form {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 700px) {
    .breeds-filter-form {
        grid-template-columns: 1fr !important;
    }
}

/* Rassenpagina - overzicht leesbaarder maken */
.breeds-page {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.breeds-list-card {
    padding: 26px !important;
}

.breeds-list-head {
    margin-bottom: 20px !important;
}

.breeds-list-head h2 {
    font-size: 28px !important;
    color: #253526 !important;
}

.breeds-list-head p {
    font-size: 15px !important;
    color: #5f6d58 !important;
}

.breeds-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

.breed-card {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    gap: 16px !important;
    align-items: start !important;
    padding: 18px 20px !important;
    background: rgba(255,255,255,0.82) !important;
    border: 1px solid rgba(80,103,62,0.16) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 18px rgba(44,62,35,0.045) !important;
}

.breed-card-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 15px !important;
    font-size: 22px !important;
}

.breed-card h3 {
    margin: 0 0 8px !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
}

.breed-card h3 a {
    color: #253526 !important;
    text-decoration: none !important;
}

.breed-card h3 a:hover {
    text-decoration: underline !important;
}

.breed-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-bottom: 10px !important;
}

.breed-meta span {
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: rgba(122,145,92,0.13) !important;
    color: #4f673c !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.breed-card p {
    display: block !important;
    max-width: 850px !important;
    margin: 0 !important;
    color: #5f6d58 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

/* Filters iets rustiger en groter */
.breeds-filter-card {
    padding: 20px 22px !important;
}

.breeds-filter-form label {
    font-size: 12px !important;
    margin-bottom: 7px !important;
}

.breeds-filter-form input,
.breeds-filter-form select {
    min-height: 43px !important;
    font-size: 14px !important;
}

.breeds-filter-form button,
.breeds-filter-form a {
    min-height: 43px !important;
    font-size: 14px !important;
}

/* Samenvatting bovenaan iets duidelijker */
.breeds-summary-grid article {
    padding: 18px 20px !important;
}

.breeds-summary-grid span {
    font-size: 12px !important;
}

.breeds-summary-grid strong {
    font-size: 28px !important;
}

/* Mobiel/tablet */
@media (max-width: 700px) {
    .breed-card {
        grid-template-columns: 1fr !important;
    }

    .breed-card-icon {
        width: 44px !important;
        height: 44px !important;
    }

    .breed-card h3 {
        font-size: 21px !important;
    }
}


/* HARD FIX rassenlijst: alle rassen onder elkaar zichtbaar */
.breeds-list-card,
.breeds-grid {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.breeds-grid {
    display: block !important;
}

.breed-card {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 0 14px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}

.breed-card-body,
.breed-card-body h3,
.breed-card-body .breed-meta,
.breed-card-body p {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.breed-meta {
    display: flex !important;
}

.breed-card p {
    display: block !important;
}


/* ================================
   Statistieken pagina
================================ */

.statistics-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.statistics-hero {
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.statistics-hero span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.statistics-hero h1 {
    margin: 4px 0 7px;
    color: #2f3f26;
    font-size: 34px;
}

.statistics-hero p {
    max-width: 850px;
    margin: 0;
    color: #69745d;
    line-height: 1.55;
}

.statistics-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.statistics-summary-grid article,
.statistics-panel {
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.statistics-summary-grid article {
    padding: 16px;
}

.statistics-summary-grid span {
    display: block;
    margin-bottom: 6px;
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
}

.statistics-summary-grid strong {
    color: #2f3f26;
    font-size: 25px;
}

.statistics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.statistics-panel {
    padding: 20px;
}

.statistics-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    margin-bottom: 14px;
}

.statistics-panel-head h2 {
    margin: 0;
    color: #314426;
    font-size: 22px;
}

.statistics-panel-head span {
    color: #6f7a66;
    font-weight: 850;
    font-size: 12px;
}

.statistics-list {
    display: grid;
    gap: 9px;
}

.statistics-row {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 11px 12px;
    background: rgba(248,250,244,0.78);
    border: 1px solid rgba(80,103,62,0.10);
    border-radius: 15px;
}

.statistics-rank,
.statistics-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245,236,196,0.95), rgba(226,239,210,0.92));
    color: #34482a;
    font-weight: 950;
}

.statistics-row a {
    color: #2f4f24;
    font-weight: 950;
    text-decoration: none;
}

.statistics-row a:hover {
    text-decoration: underline;
}

.statistics-row small {
    display: block;
    margin-top: 2px;
    color: #66715d;
    font-size: 12px;
}

.statistics-row > span,
.statistics-side-link {
    color: #53664a !important;
    font-weight: 900 !important;
    text-align: right;
    white-space: nowrap;
}

.statistics-sbl-name {
    color: #2f8a43 !important;
}

.statistics-muted {
    color: #6f7a66;
    padding: 16px;
    background: rgba(248,250,244,0.72);
    border: 1px dashed rgba(80,103,62,0.18);
    border-radius: 14px;
}

@media (max-width: 1100px) {
    .statistics-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .statistics-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .statistics-page {
        padding: 18px !important;
    }

    .statistics-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .statistics-row {
        grid-template-columns: 34px 1fr;
    }

    .statistics-row > span,
    .statistics-side-link {
        grid-column: 2;
        text-align: left;
    }
}

/* ================================
   Openbaar spelerprofiel
================================ */

.public-player-page {
    padding: 30px 34px !important;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 24px;
    box-shadow: 0 18px 38px rgba(44,62,35,0.08);
}

.public-player-hero {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 18px;
    align-items: center;
    padding: 24px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(241,247,234,0.72));
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 22px;
}

.public-player-avatar img,
.public-player-avatar span {
    width: 92px;
    height: 92px;
    border-radius: 20px;
    border: 5px solid rgba(126,164,184,0.42);
    background: linear-gradient(135deg, #eaf1df, #d1e1c3);
    display: grid;
    place-items: center;
    color: #4f673c;
    font-size: 42px;
    font-weight: 950;
    object-fit: cover;
}

.public-player-hero > div > span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-player-hero h1 {
    margin: 4px 0 9px;
    color: #2f3f26;
    font-size: 34px;
}

.public-player-hero h1.staff {
    color: #2f6e3d;
}

.public-player-hero h1 em {
    display: inline-flex;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(47,110,61,0.13);
    color: #2f6e3d;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    vertical-align: middle;
}

.public-player-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.public-player-meta strong {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(122,145,92,0.13);
    color: #4f673c;
    font-size: 12px;
}

.public-player-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.public-player-card {
    padding: 20px;
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(80,103,62,0.14);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(44,62,35,0.05);
}

.public-player-card h2 {
    margin: 0 0 12px;
    color: #314426;
}

.public-player-card p {
    color: #66715d;
    line-height: 1.6;
}

.public-player-muted {
    color: #6f7a66;
}

.public-player-riders {
    display: grid;
    gap: 9px;
}

.public-player-riders a {
    display: block;
    padding: 12px;
    border-radius: 14px;
    background: rgba(248,250,244,0.78);
    border: 1px solid rgba(80,103,62,0.12);
    color: #2f4f24;
    text-decoration: none;
}

.public-player-riders a:hover {
    background: rgba(235,244,224,0.92);
}

.public-player-riders strong {
    display: block;
    font-weight: 950;
}

.public-player-riders span {
    display: block;
    margin-top: 3px;
    color: #66715d;
    font-size: 12px;
}

@media (max-width: 850px) {
    .public-player-grid,
    .public-player-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .public-player-page {
        padding: 18px !important;
    }
}

/* ================================
   Forum classic V1
================================ */

.forum-classic-page {
    padding: 24px 28px !important;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(44,62,35,0.08);
}

.forum-classic-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
}

.forum-classic-top span {
    color: #6f7a66;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.forum-classic-top h1 {
    margin: 3px 0 0;
    color: #263526;
    font-size: 30px;
}

.forum-classic-top p {
    margin: 6px 0 0;
    color: #68755f;
}

.forum-new-topic-button,
.forum-search-bar button,
.forum-search-bar a,
.forum-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, #2f4428, #5f7f45);
    color: #fff !important;
    font-weight: 900;
    text-decoration: none;
    border: 0;
    cursor: pointer;
}

.forum-back-link {
    margin-bottom: 14px;
}

.forum-search-bar {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.forum-search-bar input[type="text"] {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 10px;
    border: 1px solid rgba(80,103,62,0.22);
    background: rgba(255,255,255,0.92);
    color: #263526;
}

.forum-search-bar label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #526149;
    font-weight: 800;
    white-space: nowrap;
}

.forum-search-bar a {
    background: rgba(52,72,42,0.14);
    color: #34482a !important;
}

.forum-classic-section {
    margin-bottom: 18px;
    border: 1px solid rgba(40,60,30,0.18);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,0.78);
}

.forum-classic-section header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 9px 13px;
    background: linear-gradient(135deg, #42692f, #21431f);
    color: #fff;
}

.forum-classic-section header div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.forum-classic-section header h2 {
    margin: 0;
    color: #fff;
    font-size: 18px;
}

.forum-classic-section header strong {
    min-width: 28px;
    padding: 3px 8px;
    border-radius: 8px;
    background: rgba(255,255,255,0.16);
    text-align: center;
}

.forum-section-icon {
    opacity: .9;
}

.forum-classic-table {
    width: 100%;
}

.forum-classic-table-head,
.forum-classic-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 86px 86px 170px 130px;
    align-items: center;
}

.topic-table .forum-classic-table-head,
.topic-table .forum-classic-row {
    grid-template-columns: minmax(260px, 1fr) 135px 90px 100px 170px;
}

.forum-classic-table-head {
    background: rgba(224,218,205,0.72);
    border-bottom: 1px solid rgba(40,60,30,0.18);
}

.forum-classic-table-head span {
    padding: 9px 11px;
    color: #3d4439;
    font-weight: 900;
    font-size: 13px;
}

.forum-classic-row {
    color: #323b2f;
    text-decoration: none;
    background: rgba(255,255,255,0.72);
    border-bottom: 1px solid rgba(40,60,30,0.10);
}

.forum-classic-row:nth-child(even) {
    background: rgba(242,243,238,0.78);
}

.forum-classic-row:hover {
    background: rgba(232,242,220,0.82);
}

.forum-classic-row > span {
    padding: 10px 11px;
    font-size: 13px;
}

.forum-classic-forum {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 7px;
    align-items: start;
}

.forum-status-dot {
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 50%;
    background: #254f2a;
}

.forum-classic-forum strong {
    display: block;
    color: #263526;
    font-size: 14px;
    font-weight: 950;
}

.forum-classic-forum em {
    display: block;
    margin-top: 3px;
    color: #6d7568;
    font-size: 12px;
    font-style: normal;
}

.forum-no-topics,
.forum-classic-empty {
    padding: 20px;
    color: #6f7a66;
    text-align: center;
    background: rgba(255,255,255,0.68);
}

@media (max-width: 1000px) {
    .forum-classic-table-head {
        display: none;
    }

    .forum-classic-row,
    .topic-table .forum-classic-row {
        grid-template-columns: 1fr;
        padding: 9px;
    }

    .forum-classic-row > span {
        padding: 4px 6px;
    }
}

@media (max-width: 700px) {
    .forum-classic-page {
        padding: 18px !important;
    }

    .forum-classic-top,
    .forum-search-bar {
        grid-template-columns: 1fr;
        display: grid;
    }

    .forum-new-topic-button {
        width: 100%;
    }
}
/* ================================
   Staff role colors V1
================================ */

.role-player {
    color: #263526 !important;
}

.role-admin {
    color: #9b1c1c !important;
}

.role-super-moderator {
    color: #6d35a8 !important;
}

.role-forum-moderator {
    color: #2367a7 !important;
}

.role-chat-moderator {
    color: #16806e !important;
}

.role-support {
    color: #9a6a16 !important;
}

.role-event-team {
    color: #b85b7a !important;
}

.staff-role-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    line-height: 1;
    vertical-align: middle;
    background: rgba(52,72,42,0.12);
    border: 1px solid rgba(52,72,42,0.12);
}

.staff-role-badge.role-admin {
    background: rgba(155,28,28,0.10);
    border-color: rgba(155,28,28,0.22);
}

.staff-role-badge.role-super-moderator {
    background: rgba(109,53,168,0.10);
    border-color: rgba(109,53,168,0.22);
}

.staff-role-badge.role-forum-moderator {
    background: rgba(35,103,167,0.10);
    border-color: rgba(35,103,167,0.22);
}

.staff-role-badge.role-chat-moderator {
    background: rgba(22,128,110,0.10);
    border-color: rgba(22,128,110,0.22);
}

.staff-role-badge.role-support {
    background: rgba(154,106,22,0.10);
    border-color: rgba(154,106,22,0.22);
}

.staff-role-badge.role-event-team {
    background: rgba(184,91,122,0.10);
    border-color: rgba(184,91,122,0.22);
}


/* ================================
   Staff role colors V1
================================ */

.role-player {
    color: #263526 !important;
}

.role-admin {
    color: #9b1c1c !important;
}

.role-super-moderator {
    color: #6d35a8 !important;
}

.role-forum-moderator {
    color: #2367a7 !important;
}

.role-chat-moderator {
    color: #16806e !important;
}

.role-support {
    color: #9a6a16 !important;
}

.role-event-team {
    color: #b85b7a !important;
}

.staff-role-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    line-height: 1;
    vertical-align: middle;
    background: rgba(52,72,42,0.12);
    border: 1px solid rgba(52,72,42,0.12);
}

.staff-role-badge.role-admin {
    background: rgba(155,28,28,0.10);
    border-color: rgba(155,28,28,0.22);
}

.staff-role-badge.role-super-moderator {
    background: rgba(109,53,168,0.10);
    border-color: rgba(109,53,168,0.22);
}

.staff-role-badge.role-forum-moderator {
    background: rgba(35,103,167,0.10);
    border-color: rgba(35,103,167,0.22);
}

.staff-role-badge.role-chat-moderator {
    background: rgba(22,128,110,0.10);
    border-color: rgba(22,128,110,0.22);
}

.staff-role-badge.role-support {
    background: rgba(154,106,22,0.10);
    border-color: rgba(154,106,22,0.22);
}

.staff-role-badge.role-event-team {
    background: rgba(184,91,122,0.10);
    border-color: rgba(184,91,122,0.22);
}


/* ================================
   Forum topic V1 - klassieke berichtlayout
================================ */

.forum-topic-page {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.forum-topic-top {
    align-items: flex-start;
}

.forum-topic-top h1 {
    font-size: 32px !important;
    color: #263526 !important;
}

.forum-topic-stats {
    min-width: 120px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(80,103,62,0.12);
    text-align: center;
}

.forum-topic-stats strong {
    display: block;
    color: #263526;
    font-size: 22px;
    font-weight: 950;
}

.forum-topic-stats span {
    display: block;
    margin-bottom: 7px;
    color: #68755f;
    font-size: 12px;
    font-weight: 850;
}

.forum-post-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.forum-post-card {
    display: grid;
    grid-template-columns: 190px 1fr;
    border: 1px solid rgba(80,103,62,0.16);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,0.84);
    box-shadow: 0 8px 18px rgba(44,62,35,0.045);
}

.forum-post-author {
    padding: 16px;
    background: rgba(234,240,225,0.72);
    border-right: 1px solid rgba(80,103,62,0.12);
    text-align: center;
}

.forum-post-author.staff {
    background: rgba(232,242,220,0.92);
}

.forum-post-avatar {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    margin: 0 auto 10px;
    border-radius: 18px;
    background: linear-gradient(135deg, #eaf1df, #d1e1c3);
    border: 4px solid rgba(126,164,184,0.34);
    color: #4f673c;
    font-size: 34px;
    font-weight: 950;
}

.forum-post-author strong {
    display: block;
    color: #263526;
    font-size: 15px;
}

.forum-post-author strong a {
    color: #263526;
    text-decoration: none;
}

.forum-post-author strong a:hover {
    text-decoration: underline;
}

.forum-post-author span {
    display: inline-flex;
    margin-top: 7px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(122,145,92,0.14);
    color: #4f673c;
    font-size: 11px;
    font-weight: 900;
}

.forum-post-author small {
    display: block;
    margin-top: 7px;
    color: #68755f;
    font-size: 12px;
    font-weight: 850;
}

.forum-post-content {
    min-width: 0;
}

.forum-post-content header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(224,218,205,0.46);
    border-bottom: 1px solid rgba(80,103,62,0.10);
    color: #68755f;
    font-size: 12px;
    font-weight: 850;
}

.forum-post-body {
    padding: 18px;
    color: #263526;
    line-height: 1.65;
    font-size: 15px;
}

.forum-reply-placeholder {
    margin-top: 14px;
    padding: 16px;
    border-radius: 14px;
    background: rgba(248,250,244,0.78);
    border: 1px dashed rgba(80,103,62,0.22);
    color: #68755f;
    text-align: center;
    font-weight: 850;
}

@media (max-width: 760px) {
    .forum-post-card {
        grid-template-columns: 1fr;
    }

    .forum-post-author {
        border-right: 0;
        border-bottom: 1px solid rgba(80,103,62,0.12);
    }
}


/* ================================
   Forum topic tags V1
================================ */

.forum-topic-form select {
    width: 100%;
    padding: 11px 12px;
    border-radius: 11px;
    border: 1px solid rgba(80,103,62,0.22);
    background: rgba(255,255,255,0.94);
    color: #263526;
    font: inherit;
}

.forum-topic-tag {
    display: inline-flex !important;
    align-items: center;
    margin: 0 7px 0 0 !important;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 950 !important;
    line-height: 1.2;
    vertical-align: middle;
    background: rgba(52,72,42,0.12);
    color: #34482a !important;
    border: 1px solid rgba(52,72,42,0.10);
}

.forum-topic-tag.tag-blue {
    background: rgba(35,103,167,0.10);
    color: #2367a7 !important;
    border-color: rgba(35,103,167,0.18);
}

.forum-topic-tag.tag-red {
    background: rgba(155,28,28,0.10);
    color: #9b1c1c !important;
    border-color: rgba(155,28,28,0.18);
}

.forum-topic-tag.tag-green {
    background: rgba(47,110,61,0.10);
    color: #2f6e3d !important;
    border-color: rgba(47,110,61,0.18);
}

.forum-topic-tag.tag-gold {
    background: rgba(154,106,22,0.10);
    color: #9a6a16 !important;
    border-color: rgba(154,106,22,0.18);
}

.forum-topic-tag.tag-purple {
    background: rgba(109,53,168,0.10);
    color: #6d35a8 !important;
    border-color: rgba(109,53,168,0.18);
}

.forum-topic-tag.tag-teal {
    background: rgba(22,128,110,0.10);
    color: #16806e !important;
    border-color: rgba(22,128,110,0.18);
}

.forum-topic-tag.tag-pink {
    background: rgba(184,91,122,0.10);
    color: #b85b7a !important;
    border-color: rgba(184,91,122,0.18);
}

.forum-topic-tag.tag-dark {
    background: rgba(38,53,38,0.14);
    color: #263526 !important;
    border-color: rgba(38,53,38,0.22);
}

/* ================================
   Forum AJAX reply V1
================================ */

.forum-reply-panel {
    margin-top: 16px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(80,103,62,0.14);
    box-shadow: 0 8px 18px rgba(44,62,35,0.045);
}

.forum-reply-panel h2 {
    margin: 0 0 12px;
    color: #263526;
    font-size: 22px;
}

.forum-reply-form {
    display: grid;
    gap: 10px;
}

.forum-reply-form textarea {
    width: 100%;
    min-height: 140px;
    padding: 12px;
    resize: vertical;
    border-radius: 12px;
    border: 1px solid rgba(80,103,62,0.22);
    background: rgba(255,255,255,0.94);
    color: #263526;
    font: inherit;
    line-height: 1.55;
}

.forum-reply-form button {
    justify-self: start;
    min-height: 40px;
    padding: 0 16px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #2f4428, #5f7f45);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.forum-reply-form button:disabled {
    opacity: .65;
    cursor: wait;
}

.forum-reply-message {
    padding: 10px 12px;
    margin-bottom: 10px;
    border-radius: 11px;
    font-weight: 850;
}

.forum-reply-message.success {
    background: rgba(47,110,61,0.10);
    border: 1px solid rgba(47,110,61,0.20);
    color: #2f6e3d;
}

.forum-reply-message.error {
    background: rgba(160,60,45,0.10);
    border: 1px solid rgba(160,60,45,0.20);
    color: #80372e;
}


/* ================================
   Forum mentions V1
================================ */

.forum-mention {
    display: inline-flex;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(35,103,167,0.10);
    border: 1px solid rgba(35,103,167,0.14);
    color: #2367a7 !important;
    font-weight: 900;
    text-decoration: none;
}

.forum-mention:hover {
    background: rgba(35,103,167,0.16);
    text-decoration: none !important;
}


/* Forum mentions - zwart en dikgedrukt */
.forum-mention {
    display: inline !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.forum-mention:hover {
    color: #111 !important;
    text-decoration: underline !important;
    background: transparent !important;
}


/* ================================
   Forum quotes V1
================================ */

.forum-post-tools {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.forum-quote-button {
    border: 0;
    border-radius: 999px;
    padding: 3px 8px;
    background: rgba(52,72,42,0.12);
    color: #34482a;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.forum-quote-button:hover {
    background: rgba(52,72,42,0.20);
}

.forum-quote-block {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-left: 4px solid rgba(80,103,62,0.35);
    border-radius: 10px;
    background: rgba(240,244,235,0.78);
    color: #34402f;
}

.forum-quote-block strong {
    display: block;
    margin-bottom: 6px;
    color: #263526;
    font-size: 13px;
}

.forum-quote-block div {
    color: #526149;
}


/* ================================
   Forum emoticon reactions V1
================================ */

.forum-reactions-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 10px 14px 14px;
    border-top: 1px solid rgba(80,103,62,0.08);
}

.forum-reaction-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid rgba(80,103,62,0.13);
    border-radius: 999px;
    background: rgba(248,250,244,0.86);
    color: #34482a;
    font-weight: 900;
    cursor: pointer;
}

.forum-reaction-button .emoji {
    font-size: 15px;
    line-height: 1;
}

.forum-reaction-button strong {
    font-size: 12px;
    color: #526149;
}

.forum-reaction-button:hover {
    background: rgba(235,244,224,0.95);
}

.forum-reaction-button.active {
    background: rgba(122,145,92,0.18);
    border-color: rgba(80,103,62,0.28);
}

.forum-reaction-button:disabled {
    opacity: .65;
    cursor: wait;
}


/* ================================
   Forum emoticon reactions - compact rechts
================================ */

.forum-post-content {
    position: relative;
}

.forum-post-content header {
    align-items: center !important;
}

.forum-reactions-bar {
    position: absolute !important;
    right: 12px !important;
    bottom: 10px !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    padding: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
    z-index: 2;
}

.forum-reaction-button {
    min-height: 22px !important;
    height: 22px !important;
    padding: 2px 5px !important;
    gap: 2px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(80,103,62,0.10) !important;
    background: rgba(255,255,255,0.72) !important;
    box-shadow: 0 2px 6px rgba(44,62,35,0.04) !important;
    opacity: .72;
}

.forum-reaction-button:hover,
.forum-reaction-button.active {
    opacity: 1;
    background: rgba(235,244,224,0.95) !important;
}

.forum-reaction-button .emoji {
    font-size: 12px !important;
}

.forum-reaction-button strong {
    font-size: 10px !important;
    color: #56624b !important;
}

.forum-post-body {
    padding-bottom: 38px !important;
}

@media (max-width: 760px) {
    .forum-reactions-bar {
        position: static !important;
        margin: 8px 12px 12px auto !important;
        justify-content: flex-end !important;
    }

    .forum-post-body {
        padding-bottom: 18px !important;
    }
}


/* FORUM_REPORTS_V1 */
.forum-report-host {
    position: relative;
}

.forum-report-post-btn {
    position: absolute;
    top: 8px;
    right: 72px;
    z-index: 4;
    border: 0;
    background: rgba(255, 255, 255, 0.72);
    color: #7c6f61;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    padding: 5px 7px;
    cursor: pointer;
    opacity: 0.55;
    box-shadow: 0 2px 8px rgba(45, 35, 25, 0.08);
}

.forum-report-post-btn:hover {
    opacity: 1;
    background: #fff8ef;
    color: #8a4a35;
}

.forum-report-topic-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 12px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    background: rgba(255, 255, 255, 0.7);
    color: #7c6f61;
    border-radius: 999px;
    font-size: 12px;
    padding: 6px 11px;
    cursor: pointer;
}

.forum-report-topic-btn:hover {
    background: #fff8ef;
    color: #8a4a35;
}

.forum-report-modal[hidden] {
    display: none !important;
}

.forum-report-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(25, 31, 27, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.forum-report-box {
    width: min(460px, 100%);
    background: #fffdf8;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(25, 31, 27, 0.22);
    padding: 20px;
    position: relative;
}

.forum-report-box h3 {
    margin: 0 0 6px;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-report-small {
    margin: 0 0 16px;
    color: #746a5e;
    font-size: 13px;
    line-height: 1.45;
}

.forum-report-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #7c6f61;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

#forum-report-form label {
    display: block;
    margin: 12px 0 6px;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 700;
}

#forum-report-form label span {
    color: #948a7d;
    font-weight: 500;
}

#forum-report-form select,
#forum-report-form textarea {
    width: 100%;
    border: 1px solid rgba(92, 74, 54, 0.18);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

#forum-report-form textarea {
    resize: vertical;
}

.forum-report-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 15px;
}

.forum-report-actions button {
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 13px;
    cursor: pointer;
}

.forum-report-cancel {
    border: 1px solid rgba(92, 74, 54, 0.18);
    background: #fff;
    color: #6f665b;
}

.forum-report-submit {
    border: 1px solid rgba(67, 94, 63, 0.24);
    background: #435e3f;
    color: #fff;
}

.forum-report-submit:disabled {
    opacity: 0.6;
    cursor: wait;
}

.forum-report-message {
    margin-top: 12px;
    font-size: 13px;
    color: #746a5e;
}

.forum-report-message.is-success {
    color: #3f6b45;
}

.forum-report-message.is-error {
    color: #9a3f32;
}

@media (max-width: 700px) {
    .forum-report-post-btn {
        right: 56px;
        top: 7px;
    }

    .forum-report-box {
        padding: 17px;
        border-radius: 16px;
    }
}
/* END_FORUM_REPORTS_V1 */

/* FORUM_REPORT_INLINE_FIX_V1 */
.forum-report-host {
    position: relative;
}

.forum-inline-actions-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
}

.forum-report-post-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    z-index: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    border: 1px solid rgba(92, 74, 54, 0.14);
    background: rgba(255, 255, 255, 0.76);
    color: #7c6f61;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    padding: 0;
    margin: 0;
    cursor: pointer;
    opacity: 0.68;
    box-shadow: none;
    vertical-align: middle;
}

.forum-report-post-btn:hover {
    opacity: 1;
    background: #fff8ef;
    color: #8a4a35;
}

.forum-report-fallback-row {
    width: 100%;
    margin-top: 6px;
}
/* END_FORUM_REPORT_INLINE_FIX_V1 */

/* FORUM_REPORT_NEXT_TO_POSTNUMBER_V1 */
.forum-post-number-with-report {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
}

.forum-post-number-with-report .forum-report-post-btn,
.forum-report-number-fallback .forum-report-post-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    z-index: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;

    border: 1px solid rgba(92, 74, 54, 0.16) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: #7c6f61 !important;
    border-radius: 999px !important;

    font-size: 10px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;

    opacity: 0.58 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.forum-post-number-with-report .forum-report-post-btn:hover,
.forum-report-number-fallback .forum-report-post-btn:hover {
    opacity: 1 !important;
    background: #fff8ef !important;
    color: #8a4a35 !important;
}

.forum-report-number-fallback {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #6c6258;
    font-size: 12px;
    font-weight: 700;
}

.forum-report-number-label {
    color: #6c6258;
    font-size: 12px;
    font-weight: 700;
}
/* END_FORUM_REPORT_NEXT_TO_POSTNUMBER_V1 */

/* FORUM_REPORTS_STAFF_OVERVIEW_V1 */
.forum-reports-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.forum-reports-shell {
    max-width: 1120px;
    margin: 0 auto;
}

.forum-reports-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    background: rgba(255, 253, 248, 0.88);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.forum-reports-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-reports-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.forum-reports-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.forum-reports-back {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.forum-reports-notice,
.forum-reports-empty {
    margin-top: 16px;
    background: #fffdf8;
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 16px;
    padding: 14px 16px;
    color: #3f6b45;
    font-weight: 700;
}

.forum-reports-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.forum-reports-tabs a {
    text-decoration: none;
    border: 1px solid rgba(92, 74, 54, 0.13);
    background: rgba(255, 253, 248, 0.82);
    color: #62584e;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 700;
}

.forum-reports-tabs a.active {
    background: #435e3f;
    color: #fff;
}

.forum-reports-tabs span {
    opacity: 0.8;
    margin-left: 4px;
}

.forum-reports-list {
    display: grid;
    gap: 14px;
}

.forum-report-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(45, 35, 25, 0.07);
}

.forum-report-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.forum-report-card h2 {
    margin: 8px 0 0;
    color: #2f3b2f;
    font-size: 19px;
}

.forum-report-status {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 800;
}

.forum-report-status.is-open {
    background: #fff1d8;
    color: #8a5b18;
}

.forum-report-status.is-handled {
    background: #e5f2e5;
    color: #3f6b45;
}

.forum-report-status.is-rejected {
    background: #eee9e1;
    color: #73685d;
}

.forum-report-view {
    display: inline-flex;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid rgba(67, 94, 63, 0.18);
    color: #435e3f;
    background: #fff;
    padding: 7px 11px;
    font-size: 13px;
    font-weight: 800;
}

.forum-report-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.forum-report-meta-grid div {
    background: rgba(242, 238, 228, 0.65);
    border-radius: 14px;
    padding: 10px;
}

.forum-report-meta-grid span,
.forum-report-block span {
    display: block;
    color: #8a8175;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.forum-report-meta-grid strong {
    color: #332d27;
    font-size: 13px;
}

.forum-report-block {
    margin-top: 12px;
    background: rgba(242, 238, 228, 0.55);
    border-radius: 14px;
    padding: 12px;
}

.forum-report-block p {
    margin: 0;
    color: #3b352f;
    line-height: 1.45;
}

.forum-report-block.is-preview {
    background: rgba(255, 255, 255, 0.65);
}

.forum-report-block.is-staff-note {
    background: rgba(229, 242, 229, 0.65);
}

.forum-report-block small {
    color: #80776c;
    margin-left: 6px;
}

.forum-report-staff-form {
    margin-top: 13px;
    border-top: 1px solid rgba(92, 74, 54, 0.1);
    padding-top: 13px;
}

.forum-report-staff-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.forum-report-staff-form textarea {
    display: block;
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.14);
    border-radius: 13px;
    padding: 10px;
    resize: vertical;
    background: #fff;
    color: #332d27;
}

.forum-report-staff-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 10px;
}

.forum-report-staff-actions button {
    border: 0;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.forum-report-staff-actions .is-handled-btn {
    background: #435e3f;
    color: #fff;
}

.forum-report-staff-actions .is-rejected-btn {
    background: #eee9e1;
    color: #62584e;
}

.forum-report-staff-actions .is-open-btn {
    background: #fff1d8;
    color: #8a5b18;
}

@media (max-width: 800px) {
    .forum-reports-header,
    .forum-report-card-top {
        flex-direction: column;
    }

    .forum-report-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .forum-report-meta-grid {
        grid-template-columns: 1fr;
    }

    .forum-reports-page {
        padding: 18px 10px;
    }
}
/* END_FORUM_REPORTS_STAFF_OVERVIEW_V1 */

/* FORUM_STAFF_REPORTS_LINK_V1 */
.forum-staff-reports-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 0 14px;
    border-radius: 999px;
    padding: 8px 13px;
    background: #fff8ef;
    border: 1px solid rgba(138, 91, 24, 0.22);
    color: #8a5b18;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.forum-staff-reports-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: #8a5b18;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

.forum-staff-reports-link:hover {
    background: #fff1d8;
    color: #6f4510;
}
/* END_FORUM_STAFF_REPORTS_LINK_V1 */

/* FORUM_TOPIC_STAFF_ACTIONS_V1 */
.forum-staff-topic-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 8px 0 14px;
    padding: 9px 10px;
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.78);
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.05);
}

.forum-staff-topic-label {
    color: #75806f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-right: 2px;
}

.forum-staff-topic-btn {
    border: 1px solid rgba(67, 94, 63, 0.18);
    background: #fff;
    color: #435e3f;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.forum-staff-topic-btn:hover {
    background: #f3f6ef;
}

.forum-staff-topic-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

.forum-staff-topic-status {
    border-radius: 999px;
    background: #f1ece3;
    color: #6f665b;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 700;
}

.forum-staff-topic-message {
    color: #80776c;
    font-size: 12px;
    font-weight: 700;
}

.forum-staff-topic-message.is-success {
    color: #3f6b45;
}

.forum-staff-topic-message.is-error {
    color: #9a3f32;
}

@media (max-width: 650px) {
    .forum-staff-topic-actions {
        width: 100%;
    }
}
/* END_FORUM_TOPIC_STAFF_ACTIONS_V1 */

/* FORUM_TOPIC_BADGES_SORT_V1 */
.forum-topic-status-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 7px;
    margin-top: 3px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    vertical-align: middle;
    white-space: nowrap;
}

.forum-topic-status-badge.is-pinned {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.16);
}

.forum-topic-status-badge.is-locked {
    background: #eee9e1;
    color: #6f665b;
    border: 1px solid rgba(92, 74, 54, 0.14);
}

@media (max-width: 650px) {
    .forum-topic-status-badge {
        margin-left: 0;
        margin-right: 5px;
        margin-top: 5px;
    }
}
/* END_FORUM_TOPIC_BADGES_SORT_V1 */

/* FORUM_POST_EDIT_DELETE_V1 */
.forum-post-edit-delete-controls {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 7px;
    vertical-align: middle;
}

.forum-post-mini-action {
    border: 1px solid rgba(92, 74, 54, 0.14);
    background: rgba(255, 255, 255, 0.72);
    color: #6f665b;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 5px 7px;
    cursor: pointer;
}

.forum-post-mini-action:hover {
    background: #fff8ef;
    color: #435e3f;
}

.forum-post-delete-btn:hover {
    color: #9a3f32;
}

.forum-post-edit-box {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 14px;
    background: rgba(255, 253, 248, 0.86);
}

.forum-post-edit-box textarea {
    width: 100%;
    min-height: 110px;
    resize: vertical;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #332d27;
    padding: 10px;
    font-size: 14px;
    line-height: 1.45;
}

.forum-post-edit-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.forum-post-edit-actions button {
    border: 0;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.forum-post-save-edit {
    background: #435e3f;
    color: #fff;
}

.forum-post-cancel-edit {
    background: #eee9e1;
    color: #62584e;
}

.forum-post-edit-message {
    color: #80776c;
    font-size: 12px;
    font-weight: 700;
}

.forum-post-edit-message.is-error {
    color: #9a3f32;
}

.forum-post-edited-label {
    display: inline-flex;
    margin-left: 7px;
    color: #8a8175;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.forum-post-deleted-body {
    color: #8a8175 !important;
    font-style: italic;
}
/* END_FORUM_POST_EDIT_DELETE_V1 */

/* FORUM_TOPIC_EDIT_DELETE_V1 */
.forum-topic-edit-delete-controls {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 14px;
}

.forum-topic-edit-delete-btn {
    border: 1px solid rgba(67, 94, 63, 0.18);
    background: #fff;
    color: #435e3f;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.forum-topic-edit-delete-btn:hover {
    background: #f3f6ef;
}

.forum-topic-edit-delete-btn.is-danger {
    border-color: rgba(154, 63, 50, 0.18);
    color: #9a3f32;
}

.forum-topic-edit-delete-btn.is-danger:hover {
    background: #fff1ed;
}

.forum-topic-edit-modal[hidden] {
    display: none !important;
}

.forum-topic-edit-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(25, 31, 27, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.forum-topic-edit-box {
    width: min(620px, 100%);
    background: #fffdf8;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(25, 31, 27, 0.22);
    padding: 20px;
    position: relative;
}

.forum-topic-edit-box h3 {
    margin: 0 0 14px;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-topic-edit-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #7c6f61;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

#forum-topic-edit-form label {
    display: block;
    margin: 12px 0 6px;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

#forum-topic-edit-form input,
#forum-topic-edit-form textarea {
    width: 100%;
    border: 1px solid rgba(92, 74, 54, 0.18);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

#forum-topic-edit-form textarea {
    resize: vertical;
    min-height: 150px;
}

.forum-topic-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 15px;
}

.forum-topic-edit-actions button {
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 13px;
    cursor: pointer;
}

.forum-topic-edit-cancel {
    border: 1px solid rgba(92, 74, 54, 0.18);
    background: #fff;
    color: #6f665b;
}

.forum-topic-edit-save {
    border: 1px solid rgba(67, 94, 63, 0.24);
    background: #435e3f;
    color: #fff;
}

.forum-topic-edit-save:disabled {
    opacity: 0.6;
    cursor: wait;
}

.forum-topic-edit-message {
    margin-top: 12px;
    font-size: 13px;
    color: #746a5e;
}

.forum-topic-edit-message.is-success {
    color: #3f6b45;
}

.forum-topic-edit-message.is-error {
    color: #9a3f32;
}
/* END_FORUM_TOPIC_EDIT_DELETE_V1 */

/* FORUM_TOPIC_VISIBILITY_V1 */
.forum-topic-is-deleted-by-staff {
    opacity: 0.58;
    filter: grayscale(0.25);
}

.forum-topic-deleted-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 7px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    vertical-align: middle;
    white-space: nowrap;
    background: #eee9e1;
    color: #8a3f32;
    border: 1px solid rgba(154, 63, 50, 0.16);
}

.forum-topic-hidden-deleted {
    display: none !important;
}
/* END_FORUM_TOPIC_VISIBILITY_V1 */

/* FORUM_BAN_SYSTEM_V1 */
.forum-ban-alert {
    margin: 12px 0 16px;
    border: 1px solid rgba(154, 63, 50, 0.18);
    background: #fff1ed;
    color: #8a3f32;
    border-radius: 16px;
    padding: 13px 15px;
}

.forum-ban-alert strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.forum-ban-alert p {
    margin: 0;
    line-height: 1.45;
}

.forum-ban-disabled-form {
    opacity: 0.65;
    pointer-events: none;
}

.forum-ban-form-message {
    margin-top: 10px;
    border-radius: 12px;
    background: #fff1ed;
    color: #8a3f32;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
}

.forum-staff-bans-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 8px 14px 0;
    border-radius: 999px;
    padding: 8px 13px;
    background: #fff1ed;
    border: 1px solid rgba(154, 63, 50, 0.18);
    color: #9a3f32;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.forum-staff-bans-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: #9a3f32;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

.forum-bans-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.forum-bans-shell {
    max-width: 1120px;
    margin: 0 auto;
}

.forum-bans-header,
.forum-bans-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.forum-bans-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 22px;
    margin-bottom: 16px;
}

.forum-bans-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-bans-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.forum-bans-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.forum-bans-back {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.forum-bans-notice,
.forum-bans-error {
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}

.forum-bans-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.forum-bans-error {
    background: #fff1ed;
    color: #9a3f32;
}

.forum-bans-card {
    padding: 18px;
    margin-bottom: 16px;
}

.forum-bans-card h2 {
    margin: 0 0 14px;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-bans-form {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 12px;
}

.forum-bans-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.forum-bans-form-full {
    grid-column: 1 / -1;
}

.forum-bans-form input,
.forum-bans-form select,
.forum-bans-form textarea,
.forum-ban-lift-form input {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

.forum-bans-form textarea {
    resize: vertical;
}

.forum-bans-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}

.forum-bans-actions button,
.forum-ban-lift-form button {
    border: 0;
    border-radius: 999px;
    background: #9a3f32;
    color: #fff;
    padding: 9px 13px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.forum-bans-empty {
    background: rgba(242, 238, 228, 0.65);
    border-radius: 14px;
    padding: 13px;
    color: #6f665b;
    font-weight: 700;
}

.forum-bans-list {
    display: grid;
    gap: 10px;
}

.forum-ban-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    background: rgba(242, 238, 228, 0.55);
    border-radius: 16px;
    padding: 13px;
}

.forum-ban-row strong {
    color: #2f3b2f;
}

.forum-ban-row span,
.forum-ban-row small {
    display: block;
    margin-top: 3px;
    color: #80776c;
    font-size: 12px;
}

.forum-ban-row p {
    margin: 7px 0 0;
    color: #3b352f;
    line-height: 1.45;
}

.forum-ban-row.is-history {
    opacity: 0.82;
}

.forum-ban-lift-form {
    min-width: 260px;
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.forum-ban-lift-form button {
    background: #435e3f;
    white-space: nowrap;
}

@media (max-width: 750px) {
    .forum-bans-header,
    .forum-ban-row,
    .forum-ban-lift-form {
        flex-direction: column;
    }

    .forum-bans-form {
        grid-template-columns: 1fr;
    }

    .forum-ban-lift-form {
        min-width: 0;
        align-items: stretch;
    }
}
/* END_FORUM_BAN_SYSTEM_V1 */

/* FORUM_CATEGORY_RIGHTS_V1 */
.forum-permission-alert {
    margin: 12px 0 16px;
    border: 1px solid rgba(138, 91, 24, 0.18);
    background: #fff8ef;
    color: #8a5b18;
    border-radius: 16px;
    padding: 13px 15px;
}

.forum-permission-alert strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.forum-permission-alert p {
    margin: 0;
    line-height: 1.45;
}

.forum-permission-disabled-form {
    opacity: 0.65;
    pointer-events: none;
}

.forum-permission-form-message {
    margin-top: 10px;
    border-radius: 12px;
    background: #fff8ef;
    color: #8a5b18;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
}

.forum-category-staff-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 7px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    vertical-align: middle;
    white-space: nowrap;
    background: #eee9e1;
    color: #6f665b;
    border: 1px solid rgba(92, 74, 54, 0.14);
}

.forum-category-hidden-staff-only {
    display: none !important;
}

.forum-category-is-staff-only {
    opacity: 0.9;
}

.forum-category-rights-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 8px 14px 0;
    border-radius: 999px;
    padding: 8px 13px;
    background: #f3f6ef;
    border: 1px solid rgba(67, 94, 63, 0.18);
    color: #435e3f;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.forum-category-rights-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.forum-category-rights-shell {
    max-width: 1120px;
    margin: 0 auto;
}

.forum-category-rights-header,
.forum-category-rights-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.forum-category-rights-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 22px;
    margin-bottom: 16px;
}

.forum-category-rights-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-category-rights-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.forum-category-rights-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.forum-category-rights-back {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.forum-category-rights-notice,
.forum-category-rights-error {
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}

.forum-category-rights-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.forum-category-rights-error {
    background: #fff1ed;
    color: #9a3f32;
}

.forum-category-rights-list {
    display: grid;
    gap: 14px;
}

.forum-category-rights-card {
    padding: 18px;
}

.forum-category-rights-card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.forum-category-rights-card h2 {
    margin: 0;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-category-rights-card p {
    margin: 6px 0 0;
    color: #756b60;
}

.forum-category-rights-card-head a {
    white-space: nowrap;
    color: #435e3f;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.forum-category-rights-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.forum-category-rights-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.forum-category-rights-full {
    grid-column: 1 / -1;
}

.forum-category-rights-form select,
.forum-category-rights-form textarea {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

.forum-category-rights-form textarea {
    resize: vertical;
}

.forum-category-rights-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.forum-category-rights-actions span {
    color: #80776c;
    font-size: 12px;
    font-weight: 700;
}

.forum-category-rights-actions button {
    border: 0;
    border-radius: 999px;
    background: #435e3f;
    color: #fff;
    padding: 9px 13px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 760px) {
    .forum-category-rights-header,
    .forum-category-rights-card-head,
    .forum-category-rights-actions {
        flex-direction: column;
    }

    .forum-category-rights-form {
        grid-template-columns: 1fr;
    }
}
/* END_FORUM_CATEGORY_RIGHTS_V1 */

/* FORUM_CATEGORIES_MANAGE_V1 */
.forum-categories-manage-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 8px 14px 0;
    border-radius: 999px;
    padding: 8px 13px;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.18);
    color: #435e3f;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.forum-categories-manage-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.forum-categories-manage-shell {
    max-width: 1160px;
    margin: 0 auto;
}

.forum-categories-manage-header,
.forum-categories-manage-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.forum-categories-manage-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 22px;
    margin-bottom: 16px;
}

.forum-categories-manage-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-categories-manage-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.forum-categories-manage-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.forum-categories-manage-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.forum-categories-manage-header-actions a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.forum-categories-manage-notice,
.forum-categories-manage-error {
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}

.forum-categories-manage-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.forum-categories-manage-error {
    background: #fff1ed;
    color: #9a3f32;
}

.forum-categories-manage-card {
    padding: 18px;
    margin-bottom: 16px;
}

.forum-categories-manage-card.is-inactive {
    opacity: 0.68;
    filter: grayscale(0.15);
}

.forum-categories-manage-card h2 {
    margin: 0 0 14px;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-categories-manage-card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.forum-categories-manage-card-head span {
    display: block;
    color: #8a8175;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.forum-categories-manage-card-head h2 {
    margin: 0;
}

.forum-categories-manage-card-head a {
    white-space: nowrap;
    color: #435e3f;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.forum-categories-manage-list {
    display: grid;
    gap: 14px;
}

.forum-categories-manage-form {
    display: grid;
    grid-template-columns: 1.1fr 1.4fr 120px 120px;
    gap: 12px;
}

.forum-categories-manage-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.forum-categories-manage-full {
    grid-column: 1 / -1;
}

.forum-categories-manage-check {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding-top: 25px;
}

.forum-categories-manage-check input {
    width: auto !important;
    margin: 0 !important;
}

.forum-categories-manage-form input,
.forum-categories-manage-form select,
.forum-categories-manage-form textarea {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

.forum-categories-manage-form textarea {
    resize: vertical;
}

.forum-categories-manage-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.forum-categories-manage-actions span {
    color: #80776c;
    font-size: 12px;
    font-weight: 700;
}

.forum-categories-manage-actions button {
    border: 0;
    border-radius: 999px;
    background: #435e3f;
    color: #fff;
    padding: 9px 13px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 860px) {
    .forum-categories-manage-header,
    .forum-categories-manage-card-head,
    .forum-categories-manage-actions {
        flex-direction: column;
    }

    .forum-categories-manage-form {
        grid-template-columns: 1fr;
    }

    .forum-categories-manage-check {
        padding-top: 0;
    }
}
/* END_FORUM_CATEGORIES_MANAGE_V1 */

/* FORUM_SECTIONS_MANAGE_V1 */
.forum-sections-manage-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 8px 14px 0;
    border-radius: 999px;
    padding: 8px 13px;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.18);
    color: #435e3f;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.forum-sections-manage-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.forum-sections-manage-shell {
    max-width: 1120px;
    margin: 0 auto;
}

.forum-sections-manage-header,
.forum-sections-manage-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.forum-sections-manage-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 22px;
    margin-bottom: 16px;
}

.forum-sections-manage-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-sections-manage-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.forum-sections-manage-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.forum-sections-manage-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.forum-sections-manage-header-actions a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.forum-sections-manage-notice,
.forum-sections-manage-error {
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}

.forum-sections-manage-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.forum-sections-manage-error {
    background: #fff1ed;
    color: #9a3f32;
}

.forum-sections-manage-card {
    padding: 18px;
    margin-bottom: 16px;
}

.forum-sections-manage-card.is-inactive {
    opacity: 0.68;
    filter: grayscale(0.15);
}

.forum-sections-manage-card h2 {
    margin: 0 0 14px;
    color: #2f3b2f;
    font-size: 20px;
}

.forum-sections-manage-card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.forum-sections-manage-card-head span {
    display: block;
    color: #8a8175;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.forum-sections-manage-card-head h2 {
    margin: 0;
}

.forum-sections-manage-card-head strong {
    display: inline-flex;
    border-radius: 999px;
    background: #eef2e8;
    color: #435e3f;
    padding: 6px 10px;
    font-size: 12px;
}

.forum-sections-manage-list {
    display: grid;
    gap: 14px;
}

.forum-sections-manage-form {
    display: grid;
    grid-template-columns: 1.4fr 140px 130px;
    gap: 12px;
}

.forum-sections-manage-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.forum-sections-manage-full {
    grid-column: 1 / -1;
}

.forum-sections-manage-check {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding-top: 25px;
}

.forum-sections-manage-check input {
    width: auto !important;
    margin: 0 !important;
}

.forum-sections-manage-form input,
.forum-sections-manage-form textarea {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

.forum-sections-manage-form textarea {
    resize: vertical;
}

.forum-sections-manage-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.forum-sections-manage-actions span {
    color: #80776c;
    font-size: 12px;
    font-weight: 700;
}

.forum-sections-manage-actions button {
    border: 0;
    border-radius: 999px;
    background: #435e3f;
    color: #fff;
    padding: 9px 13px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 760px) {
    .forum-sections-manage-header,
    .forum-sections-manage-card-head,
    .forum-sections-manage-actions {
        flex-direction: column;
    }

    .forum-sections-manage-form {
        grid-template-columns: 1fr;
    }

    .forum-sections-manage-check {
        padding-top: 0;
    }
}
/* END_FORUM_SECTIONS_MANAGE_V1 */

/* STAFF_ROLES_MANAGE_V1 */
.staff-roles-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 8px 14px 0;
    border-radius: 999px;
    padding: 8px 13px;
    background: #f1ece3;
    border: 1px solid rgba(92, 74, 54, 0.16);
    color: #62584e;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.06);
}

.staff-roles-page {
    min-height: 100vh;
    padding: 32px 18px;
    background: rgba(236, 231, 219, 0.7);
}

.staff-roles-shell {
    max-width: 1180px;
    margin: 0 auto;
}

.staff-roles-header,
.staff-roles-card,
.staff-role-user-card,
.staff-roles-summary div {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.13);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(45, 35, 25, 0.08);
}

.staff-roles-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 22px;
    margin-bottom: 16px;
}

.staff-roles-kicker {
    margin: 0 0 5px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.staff-roles-header h1 {
    margin: 0;
    color: #2f3b2f;
    font-size: 28px;
}

.staff-roles-header p {
    margin: 7px 0 0;
    color: #756b60;
}

.staff-roles-header-actions a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 14px;
    background: #435e3f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.staff-roles-notice,
.staff-roles-error {
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}

.staff-roles-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.staff-roles-error {
    background: #fff1ed;
    color: #9a3f32;
}

.staff-roles-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.staff-roles-summary div {
    padding: 13px;
}

.staff-roles-summary span {
    display: block;
    color: #80776c;
    font-size: 12px;
    font-weight: 800;
}

.staff-roles-summary strong {
    display: block;
    margin-top: 4px;
    color: #2f3b2f;
    font-size: 22px;
}

.staff-roles-card {
    padding: 18px;
    margin-bottom: 16px;
}

.staff-roles-search {
    display: grid;
    grid-template-columns: 1fr 240px auto;
    gap: 12px;
    align-items: end;
}

.staff-roles-search label,
.staff-role-update-form label {
    display: block;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 800;
}

.staff-roles-search input,
.staff-roles-search select,
.staff-role-update-form select {
    width: 100%;
    margin-top: 6px;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #302b25;
    padding: 10px 11px;
    font-size: 14px;
}

.staff-roles-search-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.staff-roles-search-actions button,
.staff-role-update-actions button {
    border: 0;
    border-radius: 999px;
    background: #435e3f;
    color: #fff;
    padding: 9px 13px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.staff-roles-search-actions a {
    color: #62584e;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.staff-roles-list {
    display: grid;
    gap: 14px;
}

.staff-role-user-card {
    padding: 18px;
}

.staff-role-user-card.is-root {
    border-color: rgba(138, 91, 24, 0.22);
    background: rgba(255, 248, 239, 0.92);
}

.staff-role-user-main {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.staff-role-user-main h2 {
    margin: 0;
    color: #2f3b2f;
    font-size: 20px;
}

.staff-role-user-main h2 span {
    display: inline-flex;
    margin-left: 6px;
    border-radius: 999px;
    padding: 4px 8px;
    background: #fff1d8;
    color: #8a5b18;
    font-size: 11px;
    vertical-align: middle;
}

.staff-role-user-main p {
    margin: 5px 0 0;
    color: #756b60;
}

.staff-role-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.staff-role-badges span {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 11px;
    font-weight: 900;
}

.staff-role-badges .role-admin {
    background: #f4dedb;
    color: #8a1f1f;
}

.staff-role-badges .role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
}

.staff-role-badges .role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
}

.staff-role-badges .role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
}

.staff-role-badges .role-support {
    background: #fff1d8;
    color: #8a5b18;
}

.staff-role-badges .role-player {
    background: #eee9e1;
    color: #62584e;
}

.staff-role-badges .status-active {
    background: #e5f2e5;
    color: #3f6b45;
}

.staff-role-badges .status-blocked {
    background: #fff1ed;
    color: #9a3f32;
}

.staff-role-badges .status-inactive {
    background: #eee9e1;
    color: #73685d;
}

.staff-role-user-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 13px;
}

.staff-role-user-meta div {
    background: rgba(242, 238, 228, 0.6);
    border-radius: 14px;
    padding: 10px;
}

.staff-role-user-meta span {
    display: block;
    color: #8a8175;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.staff-role-user-meta strong {
    display: block;
    margin-top: 3px;
    color: #332d27;
    font-size: 13px;
}

.staff-role-update-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
    gap: 12px;
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid rgba(92, 74, 54, 0.1);
}

.staff-role-root-note {
    margin-top: 13px;
    border-radius: 14px;
    background: #fff1d8;
    color: #8a5b18;
    padding: 11px 12px;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .staff-roles-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .staff-roles-search,
    .staff-role-update-form,
    .staff-role-user-meta {
        grid-template-columns: 1fr;
    }

    .staff-roles-header,
    .staff-role-user-main {
        flex-direction: column;
    }

    .staff-role-badges {
        justify-content: flex-start;
    }
}
/* END_STAFF_ROLES_MANAGE_V1 */

/* STAFF_ROLE_BADGES_VISIBLE_V1 */
.staff-role-name {
    font-weight: 900 !important;
    text-decoration: none;
}

.staff-role-name.ls-role-admin {
    color: #8a1f1f !important;
}

.staff-role-name.ls-role-super_moderator {
    color: #6a3c92 !important;
}

.staff-role-name.ls-role-forum_moderator {
    color: #2f5f9a !important;
}

.staff-role-name.ls-role-chat_moderator {
    color: #2d7168 !important;
}

.staff-role-name.ls-role-support {
    color: #8a5b18 !important;
}

.staff-role-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 6px;
    border-radius: 999px;
    padding: 3px 7px;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    vertical-align: middle;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.staff-role-badge.ls-role-admin {
    background: #f4dedb;
    color: #8a1f1f;
    border: 1px solid rgba(138, 31, 31, 0.16);
}

.staff-role-badge.ls-role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
    border: 1px solid rgba(106, 60, 146, 0.16);
}

.staff-role-badge.ls-role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
    border: 1px solid rgba(47, 95, 154, 0.16);
}

.staff-role-badge.ls-role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
    border: 1px solid rgba(45, 113, 104, 0.16);
}

.staff-role-badge.ls-role-support {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}

.forum-post-author .staff-role-badge,
.forum-topic-author .staff-role-badge,
.chat-username + .staff-role-badge {
    margin-top: 2px;
}
/* END_STAFF_ROLE_BADGES_VISIBLE_V1 */

/* FORUM_AUTHOR_BLOCK_POLISH_V1 */
.ls-forum-post-polished {
    overflow: visible;
}

.ls-forum-author-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    min-width: 150px;
    max-width: 190px;

    padding: 14px 12px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(244, 239, 229, 0.72));
    border: 1px solid rgba(92, 74, 54, 0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
}

.ls-forum-author-avatar-wrap,
.ls-forum-author-avatar {
    width: 74px;
    height: 74px;
    min-width: 74px;
    min-height: 74px;
    border-radius: 22px;
    margin: 0 auto 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #efe7da;
    border: 1px solid rgba(92, 74, 54, 0.16);
    box-shadow: 0 8px 18px rgba(45, 35, 25, 0.08);
    overflow: hidden;
}

.ls-forum-author-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 20px !important;
    display: block;
}

.ls-forum-author-placeholder {
    color: #435e3f;
    font-size: 28px;
    font-weight: 900;
    font-family: Georgia, serif;
}

.ls-forum-author-name-line {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    margin-top: 2px;
}

.ls-forum-author-name {
    color: #2f3b2f;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    word-break: break-word;
}

.ls-forum-author-name:hover {
    text-decoration: underline;
}

.ls-forum-author-name-line .staff-role-badge {
    margin-left: 0;
    margin-top: 3px;
}

.ls-forum-author-role-line {
    margin-top: 6px;
    border-radius: 999px;
    padding: 4px 8px;
    background: rgba(238, 233, 225, 0.86);
    color: #71675d;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ls-forum-author-card .staff-role-badge + .ls-forum-author-role-line,
.ls-forum-author-card .ls-forum-author-role-line:empty {
    display: none;
}

.ls-forum-author-meta {
    display: block;
    margin-top: 8px;
    color: #8a8175;
    font-size: 11px;
    line-height: 1.35;
}

.ls-forum-author-card .forum-report-post-btn,
.ls-forum-author-card .forum-post-edit-delete-controls,
.ls-forum-author-card .forum-post-edited-label {
    align-self: center;
}

/* Kleine verbetering voor klassieke forumrijen waar auteur links staat */
.forum-post,
.forum-reply,
.forum-topic-post,
[id^="post-"] {
    gap: 16px;
}

@media (max-width: 760px) {
    .ls-forum-author-card {
        max-width: none;
        width: 100%;
        min-width: 0;
        flex-direction: row;
        text-align: left;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        padding: 11px 12px;
    }

    .ls-forum-author-avatar-wrap,
    .ls-forum-author-avatar {
        width: 54px;
        height: 54px;
        min-width: 54px;
        min-height: 54px;
        border-radius: 16px;
        margin: 0;
    }

    .ls-forum-author-avatar-img {
        border-radius: 14px !important;
    }

    .ls-forum-author-name-line {
        justify-content: flex-start;
        width: auto;
    }

    .ls-forum-author-role-line {
        margin-top: 4px;
    }
}
/* END_FORUM_AUTHOR_BLOCK_POLISH_V1 */

/* UNDO_FORUM_AUTHOR_BLOCK_POLISH_V1 */
.ls-forum-author-card {
    display: initial !important;
    flex-direction: initial !important;
    align-items: initial !important;
    text-align: inherit !important;
    min-width: initial !important;
    max-width: initial !important;
    padding: initial !important;
    border-radius: initial !important;
    background: initial !important;
    border: initial !important;
    box-shadow: initial !important;
}

.ls-forum-author-avatar,
.ls-forum-author-placeholder,
.ls-forum-author-role-line {
    display: none !important;
}

.ls-forum-author-name-line {
    display: initial !important;
    margin: 0 !important;
}

.ls-forum-author-name-line .staff-role-badge {
    margin-left: 6px !important;
}
/* END_UNDO_FORUM_AUTHOR_BLOCK_POLISH_V1 */

/* FORUM_POST_ACTIONS_POLISH_V1 */
.ls-forum-post-actionbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 32px;
    margin: 0 0 10px;
    padding: 6px 8px;
    border-radius: 12px;
    background: rgba(238, 233, 225, 0.55);
    border: 1px solid rgba(92, 74, 54, 0.08);
}

.ls-forum-post-actionbar-left,
.ls-forum-post-actionbar-right {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ls-forum-post-actionbar-right {
    justify-content: flex-end;
    margin-left: auto;
}

.ls-forum-post-number {
    color: #5f554b;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.ls-forum-post-actionbar .forum-report-post-btn {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    opacity: 0.62 !important;
    box-shadow: none !important;
}

.ls-forum-post-actionbar .forum-report-post-btn:hover {
    opacity: 1 !important;
}

.ls-forum-post-actionbar .forum-post-edit-delete-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
}

.ls-forum-post-actionbar .forum-post-mini-action {
    padding: 4px 7px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.ls-forum-post-actionbar .forum-post-edited-label {
    margin: 0 0 0 2px !important;
    font-size: 10px !important;
}

.ls-forum-post-actionbar-right a,
.ls-forum-post-actionbar-right button {
    border: 1px solid rgba(92, 74, 54, 0.12);
    background: rgba(255, 255, 255, 0.65);
    color: #6f665b;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.ls-forum-post-date {
    color: #6f665b;
    font-size: 11px;
    font-weight: 800;
}

.ls-forum-old-number-hidden,
.ls-forum-actions-emptied {
    display: none !important;
}

@media (max-width: 760px) {
    .ls-forum-post-actionbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .ls-forum-post-actionbar-right {
        margin-left: 0;
        justify-content: flex-start;
    }
}
/* END_FORUM_POST_ACTIONS_POLISH_V1 */

/* FORUM_POST_ACTIONS_SUBTLE_V1 */
.ls-forum-post-actionbar {
    min-height: 24px !important;
    margin: 0 0 8px !important;
    padding: 3px 6px !important;
    border-radius: 10px !important;
    background: rgba(238, 233, 225, 0.28) !important;
    border: 1px solid rgba(92, 74, 54, 0.045) !important;
    box-shadow: none !important;
}

.ls-forum-post-actionbar-left,
.ls-forum-post-actionbar-right {
    gap: 5px !important;
}

.ls-forum-post-number {
    font-size: 11px !important;
    color: #5f554b !important;
    opacity: 0.9 !important;
}

.ls-forum-post-actionbar .forum-post-mini-action,
.ls-forum-post-actionbar-right a,
.ls-forum-post-actionbar-right button {
    padding: 3px 7px !important;
    font-size: 10px !important;
    background: rgba(255, 255, 255, 0.52) !important;
    border-color: rgba(92, 74, 54, 0.08) !important;
    color: #6f665b !important;
    box-shadow: none !important;
}

.ls-forum-post-actionbar .forum-post-mini-action:hover,
.ls-forum-post-actionbar-right a:hover,
.ls-forum-post-actionbar-right button:hover {
    background: rgba(255, 248, 239, 0.9) !important;
    color: #435e3f !important;
}

.ls-forum-post-actionbar .forum-report-post-btn {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    font-size: 9px !important;
    background: rgba(255, 255, 255, 0.46) !important;
    border-color: rgba(92, 74, 54, 0.08) !important;
}

.ls-forum-post-date {
    font-size: 10px !important;
    color: #6f665b !important;
    opacity: 0.85 !important;
}
/* END_FORUM_POST_ACTIONS_SUBTLE_V1 */

/* ACCOUNT_EDIT_PROFILE_BUTTON_FIX_V1 */
.account-profile-edit-host {
    position: relative;
}

.account-edit-profile-button {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(255, 253, 248, 0.88);
    border: 1px solid rgba(67, 94, 63, 0.18);
    color: #435e3f !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.08);
}

.account-edit-profile-button:hover {
    background: #eef2e8;
    color: #2f3b2f !important;
}

@media (max-width: 700px) {
    .account-edit-profile-button {
        position: static;
        margin: 0 0 12px;
    }
}
/* END_ACCOUNT_EDIT_PROFILE_BUTTON_FIX_V1 */

/* ACCOUNT_EDIT_BUTTON_POLISH_V2 */
.account-edit-profile-button {
    top: 16px !important;
    right: 16px !important;
    padding: 8px 12px !important;
    background: rgba(255, 253, 248, 0.94) !important;
    border: 1px solid rgba(67, 94, 63, 0.2) !important;
    color: #435e3f !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 16px rgba(45, 35, 25, 0.08) !important;
}

.account-edit-profile-button:hover {
    background: #eef2e8 !important;
}
/* END_ACCOUNT_EDIT_BUTTON_POLISH_V2 */

/* PUBLIC_PROFILE_VISIBILITY_V1 */
.public-profile-role-name.ls-role-admin {
    color: #8a1f1f !important;
}

.public-profile-role-name.ls-role-super_moderator {
    color: #6a3c92 !important;
}

.public-profile-role-name.ls-role-forum_moderator {
    color: #2f5f9a !important;
}

.public-profile-role-name.ls-role-chat_moderator {
    color: #2d7168 !important;
}

.public-profile-role-name.ls-role-support {
    color: #8a5b18 !important;
}

.public-profile-role-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 8px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    vertical-align: middle;
    white-space: nowrap;
}

.public-profile-role-badge.ls-role-admin {
    background: #f4dedb;
    color: #8a1f1f;
    border: 1px solid rgba(138, 31, 31, 0.16);
}

.public-profile-role-badge.ls-role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
    border: 1px solid rgba(106, 60, 146, 0.16);
}

.public-profile-role-badge.ls-role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
    border: 1px solid rgba(47, 95, 154, 0.16);
}

.public-profile-role-badge.ls-role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
    border: 1px solid rgba(45, 113, 104, 0.16);
}

.public-profile-role-badge.ls-role-support {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}

.public-profile-bio-text {
    white-space: pre-line;
    line-height: 1.5;
}

.public-profile-avatar-box,
.public-forum-avatar-box {
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.public-profile-avatar-box img,
.public-forum-avatar-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
/* END_PUBLIC_PROFILE_VISIBILITY_V1 */

/* PLAYER_PROFILE_POLISH_V1 */
.player-profile-polished-card {
    position: relative;
}

.player-profile-role-label-polished {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    margin: 0 0 5px !important;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.player-profile-role-label-polished.ls-role-admin {
    background: #f4dedb;
    color: #8a1f1f;
    border: 1px solid rgba(138, 31, 31, 0.16);
}

.player-profile-role-label-polished.ls-role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
    border: 1px solid rgba(106, 60, 146, 0.16);
}

.player-profile-role-label-polished.ls-role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
    border: 1px solid rgba(47, 95, 154, 0.16);
}

.player-profile-role-label-polished.ls-role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
    border: 1px solid rgba(45, 113, 104, 0.16);
}

.player-profile-role-label-polished.ls-role-support {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}

.player-profile-role-label-polished.ls-role-player {
    background: #eee9e1;
    color: #62584e;
    border: 1px solid rgba(92, 74, 54, 0.13);
}

.player-profile-avatar-polished {
    width: 74px !important;
    height: 74px !important;
    min-width: 74px !important;
    min-height: 74px !important;
    border-radius: 22px !important;
    background: #eef2e8 !important;
    border: 2px solid rgba(67, 94, 63, 0.18) !important;
    color: #435e3f !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    font-family: Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(45, 35, 25, 0.07) !important;
}

.player-profile-avatar-polished-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 20px !important;
}

.account-edit-profile-button {
    opacity: 0.88;
}

.account-edit-profile-button:hover {
    opacity: 1;
}
/* END_PLAYER_PROFILE_POLISH_V1 */

/* PLAYER_PROFILE_ROLE_BADGE_FIX_V2 */
.player-profile-main-role-fixed {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 0 0 6px !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.player-profile-main-role-fixed.ls-role-admin {
    background: #f4dedb !important;
    color: #8a1f1f !important;
    border: 1px solid rgba(138, 31, 31, 0.16) !important;
}

.player-profile-main-role-fixed.ls-role-super_moderator {
    background: #ece4f4 !important;
    color: #6a3c92 !important;
    border: 1px solid rgba(106, 60, 146, 0.16) !important;
}

.player-profile-main-role-fixed.ls-role-forum_moderator {
    background: #e1ecf7 !important;
    color: #2f5f9a !important;
    border: 1px solid rgba(47, 95, 154, 0.16) !important;
}

.player-profile-main-role-fixed.ls-role-chat_moderator {
    background: #dff1ee !important;
    color: #2d7168 !important;
    border: 1px solid rgba(45, 113, 104, 0.16) !important;
}

.player-profile-main-role-fixed.ls-role-support {
    background: #fff1d8 !important;
    color: #8a5b18 !important;
    border: 1px solid rgba(138, 91, 24, 0.18) !important;
}

.player-profile-main-role-fixed.ls-role-player {
    background: #eee9e1 !important;
    color: #62584e !important;
    border: 1px solid rgba(92, 74, 54, 0.13) !important;
}

.player-profile-duplicate-role-hidden {
    display: none !important;
}

.player-profile-title-fixed {
    margin-bottom: 10px !important;
}

.player-profile-role-fixed-card .staff-role-badge {
    display: none !important;
}
/* END_PLAYER_PROFILE_ROLE_BADGE_FIX_V2 */

/* PLAYER_PROFILE_CLEAN_V3 */
.ls-profile-clean-card-v3 .ls-profile-old-role-hidden,
.ls-profile-clean-card-v3 .staff-role-badge,
.ls-profile-clean-card-v3 .player-profile-role-label-polished {
    display: none !important;
}

.ls-profile-main-role-v3 {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 0 0 7px !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.ls-profile-main-role-v3.ls-role-admin {
    background: #f4dedb !important;
    color: #8a1f1f !important;
    border: 1px solid rgba(138, 31, 31, 0.16) !important;
}

.ls-profile-main-role-v3.ls-role-super_moderator {
    background: #ece4f4 !important;
    color: #6a3c92 !important;
    border: 1px solid rgba(106, 60, 146, 0.16) !important;
}

.ls-profile-main-role-v3.ls-role-forum_moderator {
    background: #e1ecf7 !important;
    color: #2f5f9a !important;
    border: 1px solid rgba(47, 95, 154, 0.16) !important;
}

.ls-profile-main-role-v3.ls-role-chat_moderator {
    background: #dff1ee !important;
    color: #2d7168 !important;
    border: 1px solid rgba(45, 113, 104, 0.16) !important;
}

.ls-profile-main-role-v3.ls-role-support {
    background: #fff1d8 !important;
    color: #8a5b18 !important;
    border: 1px solid rgba(138, 91, 24, 0.18) !important;
}

.ls-profile-main-role-v3.ls-role-player {
    background: #eee9e1 !important;
    color: #62584e !important;
    border: 1px solid rgba(92, 74, 54, 0.13) !important;
}

.ls-profile-title-v3 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

.ls-profile-title-v3.ls-role-admin {
    color: #8a1f1f !important;
}

.ls-profile-title-v3.ls-role-super_moderator {
    color: #6a3c92 !important;
}

.ls-profile-title-v3.ls-role-forum_moderator {
    color: #2f5f9a !important;
}

.ls-profile-title-v3.ls-role-chat_moderator {
    color: #2d7168 !important;
}

.ls-profile-title-v3.ls-role-support {
    color: #8a5b18 !important;
}
/* END_PLAYER_PROFILE_CLEAN_V3 */

/* FORUM_AUTHOR_PROFILE_PICTURES_V1 */
.forum-author-profile-picture {
    width: 74px;
    height: 74px;
    min-width: 74px;
    min-height: 74px;
    margin: 0 auto 10px;
    border-radius: 22px;
    background: #eef2e8;
    border: 2px solid rgba(67, 94, 63, 0.18);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(45, 35, 25, 0.08);
}

.forum-author-profile-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.forum-author-has-profile-picture .forum-author-profile-picture + .forum-author-profile-picture {
    display: none !important;
}

@media (max-width: 760px) {
    .forum-author-profile-picture {
        width: 54px;
        height: 54px;
        min-width: 54px;
        min-height: 54px;
        border-radius: 16px;
        margin: 0 10px 0 0;
    }
}
/* END_FORUM_AUTHOR_PROFILE_PICTURES_V1 */

/* FORUM_DUPLICATE_STAFF_BADGES_FIX_V1 */
.forum-author-duplicate-role-badge {
    display: none !important;
}

.forum-author-single-role-badge {
    margin-top: 5px;
}
/* END_FORUM_DUPLICATE_STAFF_BADGES_FIX_V1 */

/* PLAYER_PROFILE_FINISH_V5 */
.ls-rider-card-v4 {
    display: block;
    text-decoration: none !important;
    transition: transform 0.14s ease, background 0.14s ease, border-color 0.14s ease;
}

.ls-rider-card-v4:hover {
    transform: translateY(-1px);
    background: rgba(238, 242, 232, 0.82);
    border-color: rgba(67, 94, 63, 0.18);
}

.ls-rider-card-v4:hover strong {
    color: #435e3f;
}
/* END_PLAYER_PROFILE_FINISH_V5 */

/* RIDER_OWNER_STAFF_BADGE_V1 */
.rider-owner-staff-name {
    font-weight: 900 !important;
}

.rider-owner-staff-name.ls-rider-owner-role-admin {
    color: #8a1f1f !important;
}

.rider-owner-staff-name.ls-rider-owner-role-super_moderator {
    color: #6a3c92 !important;
}

.rider-owner-staff-name.ls-rider-owner-role-forum_moderator {
    color: #2f5f9a !important;
}

.rider-owner-staff-name.ls-rider-owner-role-chat_moderator {
    color: #2d7168 !important;
}

.rider-owner-staff-name.ls-rider-owner-role-support {
    color: #8a5b18 !important;
}

.rider-owner-staff-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 7px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    vertical-align: middle;
    white-space: nowrap;
}

.rider-owner-staff-badge.ls-rider-owner-role-admin {
    background: #f4dedb;
    color: #8a1f1f;
    border: 1px solid rgba(138, 31, 31, 0.16);
}

.rider-owner-staff-badge.ls-rider-owner-role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
    border: 1px solid rgba(106, 60, 146, 0.16);
}

.rider-owner-staff-badge.ls-rider-owner-role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
    border: 1px solid rgba(47, 95, 154, 0.16);
}

.rider-owner-staff-badge.ls-rider-owner-role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
    border: 1px solid rgba(45, 113, 104, 0.16);
}

.rider-owner-staff-badge.ls-rider-owner-role-support {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}
/* END_RIDER_OWNER_STAFF_BADGE_V1 */

/* PROFILE_DUPLICATE_ADMIN_BADGE_FIX_V5 */
.ls-player-card-v4 .staff-role-badge,
.ls-player-card-v4 .player-profile-role-label-polished,
.ls-player-card-v4 .ls-profile-main-role-v3 {
    display: none !important;
}

/* De échte server-side rolbadge boven de naam moet wél zichtbaar blijven */
.ls-player-card-v4 .ls-player-role-v4 {
    display: inline-flex !important;
}
/* END_PROFILE_DUPLICATE_ADMIN_BADGE_FIX_V5 */

/* STOP_STAFF_BADGE_JS_ON_PROFILES_V1 */
.ls-player-profile-v4 .staff-role-badge,
.ls-player-profile-v4 .player-profile-role-label-polished,
.ls-player-profile-v4 .ls-profile-main-role-v3,
.ls-player-card-v4 .staff-role-badge,
.ls-player-card-v4 .player-profile-role-label-polished,
.ls-player-card-v4 .ls-profile-main-role-v3 {
    display: none !important;
}

/* De echte server-side rol boven de naam blijft zichtbaar */
.ls-player-profile-v4 .ls-player-role-v4,
.ls-player-card-v4 .ls-player-role-v4 {
    display: inline-flex !important;
}
/* END_STOP_STAFF_BADGE_JS_ON_PROFILES_V1 */

/* PROFILE_NO_DUPLICATE_STAFF_BADGE_FINAL */
.ls-player-profile-v4 .staff-role-badge,
.ls-player-card-v4 .staff-role-badge,
.ls-player-profile-v4 .staff-role-name + .staff-role-badge,
.ls-player-card-v4 .staff-role-name + .staff-role-badge {
    display: none !important;
}

.ls-player-profile-v4 .ls-player-role-v4,
.ls-player-card-v4 .ls-player-role-v4 {
    display: inline-flex !important;
}
/* END_PROFILE_NO_DUPLICATE_STAFF_BADGE_FINAL */

/* RIDER_OWNER_STAFF_CLEAN_V1 */
.ls-rider-owner-line {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.ls-rider-owner-name {
    font-weight: 900;
}

.ls-rider-owner-name.ls-rider-owner-role-admin {
    color: #8a1f1f;
}

.ls-rider-owner-name.ls-rider-owner-role-super_moderator {
    color: #6a3c92;
}

.ls-rider-owner-name.ls-rider-owner-role-forum_moderator {
    color: #2f5f9a;
}

.ls-rider-owner-name.ls-rider-owner-role-chat_moderator {
    color: #2d7168;
}

.ls-rider-owner-name.ls-rider-owner-role-support {
    color: #8a5b18;
}

.ls-rider-owner-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    vertical-align: middle;
    white-space: nowrap;
}

.ls-rider-owner-badge.ls-rider-owner-role-admin {
    background: #f4dedb;
    color: #8a1f1f;
    border: 1px solid rgba(138, 31, 31, 0.16);
}

.ls-rider-owner-badge.ls-rider-owner-role-super_moderator {
    background: #ece4f4;
    color: #6a3c92;
    border: 1px solid rgba(106, 60, 146, 0.16);
}

.ls-rider-owner-badge.ls-rider-owner-role-forum_moderator {
    background: #e1ecf7;
    color: #2f5f9a;
    border: 1px solid rgba(47, 95, 154, 0.16);
}

.ls-rider-owner-badge.ls-rider-owner-role-chat_moderator {
    background: #dff1ee;
    color: #2d7168;
    border: 1px solid rgba(45, 113, 104, 0.16);
}

.ls-rider-owner-badge.ls-rider-owner-role-support {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}
/* END_RIDER_OWNER_STAFF_CLEAN_V1 */

/* RIDER_PROFILE_PHOTO_UPLOAD_V1 */
.rider-photo-upload-form {
    margin: 0;
}

.rider-photo-upload-form input[type="file"] {
    display: none;
}

.rider-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 170px;
    border-radius: inherit;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.16);
    color: #435e3f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Georgia, serif;
    font-size: 46px;
    font-weight: 900;
}

.rider-profile-notice,
.rider-profile-error {
    margin: 12px 0 16px;
    border-radius: 16px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 800;
}

.rider-profile-notice {
    background: #e5f2e5;
    color: #3f6b45;
}

.rider-profile-error {
    background: #fff1ed;
    color: #9a3f32;
}
/* END_RIDER_PROFILE_PHOTO_UPLOAD_V1 */

/* RIDER_PHOTO_UPLOAD_MANUAL_V2 */
.rider-photo-upload-form-v2 {
    position: absolute;
    left: 14px;
    bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    z-index: 5;
}

.rider-photo-upload-form-v2 input[type="file"] {
    display: none;
}

.rider-photo-pick-label {
    cursor: pointer;
}

.rider-photo-save-btn {
    border: 0;
    border-radius: 999px;
    padding: 8px 11px;
    background: rgba(67, 94, 63, 0.94);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(45, 35, 25, 0.12);
}

.rider-photo-save-btn:hover {
    background: #314a2f;
}
/* END_RIDER_PHOTO_UPLOAD_MANUAL_V2 */

/* RIDER_PROFILE_BIO_EDIT_V1 */
.rider-bio-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.edit-bio-btn {
    border: 1px solid rgba(67, 94, 63, 0.18);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.9);
    color: #435e3f;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.edit-bio-btn:hover {
    background: #eef2e8;
}

.rider-bio-text p {
    line-height: 1.55;
}

.rider-bio-edit-form {
    margin-top: 14px;
    border-radius: 16px;
    background: rgba(242, 238, 228, 0.55);
    border: 1px solid rgba(92, 74, 54, 0.1);
    padding: 14px;
}

.rider-bio-edit-form[hidden] {
    display: none !important;
}

.rider-bio-edit-form label {
    display: block;
}

.rider-bio-edit-form label span {
    display: block;
    margin-bottom: 6px;
    color: #3f4a3f;
    font-size: 13px;
    font-weight: 900;
}

.rider-bio-edit-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(92, 74, 54, 0.16);
    border-radius: 13px;
    background: #fff;
    color: #302b25;
    padding: 11px 12px;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
}

.rider-bio-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
}

.rider-bio-edit-actions button {
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.rider-bio-cancel-btn {
    border: 1px solid rgba(92, 74, 54, 0.16);
    background: #fff;
    color: #6f665b;
}

.rider-bio-save-btn {
    border: 0;
    background: #435e3f;
    color: #fff;
}

.rider-bio-save-btn:hover {
    background: #314a2f;
}
/* END_RIDER_PROFILE_BIO_EDIT_V1 */

/* RIDER_HORSE_LIST_POLISH_V1 */
.rider-tabs-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rider-tabs-v2 button {
    border: 1px solid rgba(92, 74, 54, 0.12);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.8);
    color: #6f665b;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.rider-tabs-v2 button:hover,
.rider-tabs-v2 button.active {
    background: #eef2e8;
    border-color: rgba(67, 94, 63, 0.18);
    color: #435e3f;
}

.rider-horse-list-v2 {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.rider-horse-card-v2 {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 253, 248, 0.86);
    border: 1px solid rgba(92, 74, 54, 0.11);
    box-shadow: 0 8px 20px rgba(45, 35, 25, 0.045);
    text-decoration: none !important;
    transition: transform 0.14s ease, border-color 0.14s ease, background 0.14s ease;
}

.rider-horse-card-v2:hover {
    transform: translateY(-1px);
    background: rgba(255, 253, 248, 0.98);
    border-color: rgba(67, 94, 63, 0.2);
}

.rider-horse-card-v2.is-sbl {
    border-color: rgba(65, 123, 76, 0.22);
}

.rider-horse-thumb-v2 {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.14);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #435e3f;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 900;
}

.rider-horse-thumb-v2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rider-horse-main-v2 {
    min-width: 0;
}

.rider-horse-title-v2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.rider-horse-title-v2 h3 {
    margin: 0;
    color: #2f3b2f;
    font-size: 17px;
    line-height: 1.2;
}

.rider-horse-card-v2.is-sbl .rider-horse-title-v2 h3 {
    color: #2f7a42;
}

.rider-horse-sbl-badge-v2,
.rider-horse-gp-badge-v2 {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 7px;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
}

.rider-horse-sbl-badge-v2 {
    background: #e5f2e5;
    color: #2f7a42;
    border: 1px solid rgba(47, 122, 66, 0.16);
}

.rider-horse-gp-badge-v2 {
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
}

.rider-horse-main-v2 p {
    margin: 5px 0 0;
    color: #756b60;
    font-size: 12px;
    font-weight: 700;
}

.rider-horse-main-v2 p span {
    color: #a1978b;
    margin: 0 4px;
}

.rider-horse-chips-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.rider-horse-chips-v2 span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 999px;
    background: rgba(238, 233, 225, 0.72);
    color: #6f665b;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 800;
}

.rider-horse-chips-v2 strong {
    color: #2f3b2f;
    font-size: 11px;
}

.rider-horse-open-v2 {
    color: #435e3f;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
    opacity: 0.78;
}

.rider-horse-card-v2:hover .rider-horse-open-v2 {
    opacity: 1;
}

.rider-horse-empty-v2 {
    border-radius: 18px;
    background: rgba(242, 238, 228, 0.55);
    border: 1px solid rgba(92, 74, 54, 0.1);
    padding: 16px;
    color: #62584e;
}

.rider-horse-empty-v2 strong {
    display: block;
    color: #2f3b2f;
    margin-bottom: 4px;
}

.rider-horse-empty-v2 p {
    margin: 0;
}

@media (max-width: 700px) {
    .rider-horse-card-v2 {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .rider-horse-thumb-v2 {
        width: 52px;
        height: 52px;
        border-radius: 15px;
        font-size: 22px;
    }

    .rider-horse-open-v2 {
        display: none;
    }

    .rider-horse-chips-v2 span {
        font-size: 10px;
    }
}
/* END_RIDER_HORSE_LIST_POLISH_V1 */



/* GAME_SHELL_CONSISTENT_LAYOUT_V1 */
@media (max-width: 760px) {
    html,
    body {
        overflow-x: auto !important;
    }

    .site-wrapper {
        min-width: 720px;
    }

    .layout-wrapper {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .sidebar {
        flex: 0 0 170px !important;
        width: 170px !important;
        max-width: 170px !important;
        min-width: 170px !important;
        display: block !important;
        margin-bottom: 0 !important;
    }

    .sidebar-section {
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    .sidebar-section h3 {
        padding: 9px 10px !important;
        font-size: 12px !important;
    }

    .sidebar-section a {
        padding: 9px 10px !important;
        font-size: 11px !important;
    }

    .main-content {
        flex: 1 0 520px !important;
        width: 520px !important;
        min-width: 520px !important;
        padding: 14px !important;
    }
}
/* END_GAME_SHELL_CONSISTENT_LAYOUT_V1 */

/* FEED_TRUE_LIVE_AJAX_V1 */
.feed-alert.live {
    animation: feedLiveMessageIn 0.18s ease-out;
}

.feed-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.feed-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

@keyframes feedLiveMessageIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END_FEED_TRUE_LIVE_AJAX_V1 */

/* NUTRITIONIST_PAGE_V1 */
.nutritionist-page-v1 {
    display: grid;
    gap: 18px;
}

.nutritionist-hero-v1,
.nutritionist-info-card-v1,
.nutritionist-products-v1,
.nutritionist-empty-v1,
.nutritionist-product-card-v1 {
    border-radius: 20px;
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(92, 74, 54, 0.12);
    box-shadow: 0 10px 28px rgba(45, 35, 25, 0.06);
}

.nutritionist-hero-v1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 22px;
}

.nutritionist-kicker {
    display: inline-flex;
    margin-bottom: 6px;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nutritionist-hero-v1 h1 {
    margin: 0;
    color: #2f3b2f;
}

.nutritionist-hero-v1 p,
.nutritionist-info-card-v1 p,
.nutritionist-products-v1 p,
.nutritionist-empty-v1 p,
.nutritionist-product-main-v1 p {
    color: #62584e;
    line-height: 1.55;
}

.nutritionist-status-card-v1 {
    min-width: 190px;
    border-radius: 18px;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.16);
    padding: 14px;
}

.nutritionist-status-card-v1 span {
    display: block;
    color: #75806f;
    font-size: 12px;
    font-weight: 900;
}

.nutritionist-status-card-v1 strong {
    display: block;
    margin-top: 4px;
    color: #2f3b2f;
    font-size: 18px;
}

.nutritionist-info-grid-v1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.nutritionist-info-card-v1,
.nutritionist-products-v1 {
    padding: 18px;
}

.nutritionist-info-card-v1 h2,
.nutritionist-products-v1 h2 {
    margin: 0 0 8px;
    color: #2f3b2f;
}

.nutritionist-section-header-v1 {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.nutritionist-feed-link-v1,
.nutritionist-product-footer-v1 a {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 8px 12px;
    background: #435e3f;
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.nutritionist-product-grid-v1 {
    display: grid;
    gap: 12px;
}

.nutritionist-product-card-v1 {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.nutritionist-product-icon-v1 {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #eef2e8;
    border: 1px solid rgba(67, 94, 63, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.nutritionist-product-title-v1 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.nutritionist-product-title-v1 h3 {
    margin: 0;
    color: #2f3b2f;
}

.nutritionist-product-title-v1 span {
    border-radius: 999px;
    background: #fff1d8;
    color: #8a5b18;
    border: 1px solid rgba(138, 91, 24, 0.18);
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 900;
}

.nutritionist-product-meta-v1 {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.nutritionist-product-meta-v1 span {
    border-radius: 999px;
    background: rgba(238, 233, 225, 0.72);
    color: #6f665b;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 800;
}

.nutritionist-product-footer-v1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.nutritionist-product-footer-v1 strong {
    color: #2f3b2f;
    font-size: 13px;
}

.nutritionist-product-footer-v1 > span {
    color: #8a8175;
    font-size: 12px;
    font-weight: 800;
}

.nutritionist-empty-v1 {
    padding: 16px;
}

.nutritionist-empty-v1 strong {
    display: block;
    color: #2f3b2f;
    margin-bottom: 4px;
}

@media (max-width: 850px) {
    .nutritionist-hero-v1,
    .nutritionist-info-grid-v1,
    .nutritionist-section-header-v1 {
        display: block;
    }

    .nutritionist-status-card-v1,
    .nutritionist-info-card-v1 + .nutritionist-info-card-v1,
    .nutritionist-feed-link-v1 {
        margin-top: 12px;
    }
}
/* END_NUTRITIONIST_PAGE_V1 */

/* FEED_LIVE_COOLDOWN_V2 */
.feed-live-cooldown button,
.feed-live-no-stock button {
    opacity: 0.72;
    cursor: not-allowed !important;
}

.feed-live-cooldown button {
    background: #8a7a62 !important;
}

.feed-live-no-stock button {
    background: #8b8b8b !important;
}
/* END_FEED_LIVE_COOLDOWN_V2 */

/* FEED_BONUS_VISIBILITY_V1 */
.feed-score-bonus-info-v1,
.nutritionist-active-bonuses-v1 {
    border-radius: 18px;
    background: #fff8e8;
    border: 1px solid rgba(138, 91, 24, 0.18);
    padding: 14px 16px;
    margin: 14px 0;
    color: #6f4c1d;
}

.feed-score-bonus-info-v1 strong,
.nutritionist-active-bonuses-v1 h2 {
    display: block;
    margin: 0 0 5px;
    color: #8a5b18;
    font-weight: 900;
}

.feed-score-bonus-info-v1 p,
.nutritionist-active-bonuses-v1 p {
    margin: 0;
    line-height: 1.5;
}

.nutritionist-active-bonus-list-v1 {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.nutritionist-active-bonus-v1 {
    display: grid;
    gap: 3px;
    border-radius: 14px;
    background: rgba(255, 253, 248, 0.82);
    border: 1px solid rgba(138, 91, 24, 0.12);
    padding: 10px 12px;
    text-decoration: none !important;
}

.nutritionist-active-bonus-v1 strong {
    color: #2f3b2f;
}

.nutritionist-active-bonus-v1 span {
    color: #6f4c1d;
    font-size: 13px;
    font-weight: 800;
}

.nutritionist-active-bonus-v1 small {
    color: #8a8175;
    font-size: 12px;
    font-weight: 700;
}
/* END_FEED_BONUS_VISIBILITY_V1 */

/* FEED_BALANCE_CLARITY_V1 */
.feed-balance-info-v1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}

.feed-balance-info-v1 > div {
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.88);
    border: 1px solid rgba(92, 74, 54, 0.11);
    padding: 12px 13px;
    box-shadow: 0 8px 20px rgba(45, 35, 25, 0.045);
}

.feed-balance-info-v1 strong {
    display: block;
    color: #2f3b2f;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 4px;
}

.feed-balance-info-v1 p {
    margin: 0;
    color: #62584e;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .feed-balance-info-v1 {
        grid-template-columns: 1fr;
    }
}
/* END_FEED_BALANCE_CLARITY_V1 */

/* TUTORIAL_WELCOME_PACK_STEP_V1 */
.tutorial-welcome-pack-step-v1 {
    background: linear-gradient(180deg, rgba(255, 248, 232, 0.95), rgba(255, 253, 248, 0.92));
    border-color: rgba(138, 91, 24, 0.18);
}

.tutorial-welcome-pack-step-v1 span {
    background: #8a5b18;
    color: #fff8e8;
}

.tutorial-welcome-pack-step-v1 h2 {
    color: #6f4c1d;
}
/* END_TUTORIAL_WELCOME_PACK_STEP_V1 */

/* INBOX_BADGE_LIVE_V1 */
.top-inbox-link.has-unread {
    position: relative;
}

.top-inbox-count {
    font-weight: 900;
}

.top-inbox-link.has-unread::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #d9b35f;
    box-shadow: 0 0 0 2px rgba(255, 248, 226, 0.65);
}

.inbox-live-toast-v1 {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    max-width: 280px;
    border-radius: 16px;
    background: rgba(47, 59, 47, 0.96);
    color: #fff !important;
    text-decoration: none !important;
    padding: 12px 15px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 14px 35px rgba(20, 25, 20, 0.24);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: auto;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.inbox-live-toast-v1.show {
    opacity: 1;
    transform: translateY(0);
}
/* END_INBOX_BADGE_LIVE_V1 */

/* INBOX_CLICKABLE_LINKS_V1 */
.inbox-inline-link {
    color: #435e3f !important;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.inbox-inline-link:hover {
    color: #2f3b2f !important;
}
/* END_INBOX_CLICKABLE_LINKS_V1 */

/* TRAINING_TRUE_LIVE_AJAX_V2 */
.training-alert.live {
    animation: trainingLiveMessageInV2 0.18s ease-out;
}

.training-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.training-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.training-live-cooldown .training-perform-button,
.training-row-complete .training-perform-button {
    opacity: 0.72;
    cursor: not-allowed !important;
}

.training-live-cooldown .training-perform-button {
    background: #8a7a62 !important;
}

.training-row-complete .training-perform-button {
    background: #8b8b8b !important;
}

@keyframes trainingLiveMessageInV2 {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END_TRAINING_TRUE_LIVE_AJAX_V2 */

/* CARE_TRUE_LIVE_AJAX_V1 */
.care-alert.live {
    animation: careLiveMessageInV1 0.18s ease-out;
}

.care-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.care-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.care-live-cooldown .care-perform-button,
.care-row-complete .care-perform-button {
    opacity: 0.72;
    cursor: not-allowed !important;
}

.care-live-cooldown .care-perform-button {
    background: #8a7a62 !important;
}

.care-row-complete .care-perform-button {
    background: #8b8b8b !important;
}

@keyframes careLiveMessageInV1 {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END_CARE_TRUE_LIVE_AJAX_V1 */

/* LUNGING_TRUE_LIVE_AJAX_V1 */
.lunging-alert.live {
    animation: lungingLiveMessageInV1 0.18s ease-out;
}

.lunging-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.lunging-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.lunging-live-cooldown .lunging-perform-button {
    opacity: 0.72;
    cursor: not-allowed !important;
    background: #8a7a62 !important;
}

@keyframes lungingLiveMessageInV1 {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END_LUNGING_TRUE_LIVE_AJAX_V1 */

/* FEED_SHOP_TRUE_LIVE_AJAX_V1 */
.feed-shop-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.feed-shop-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}
/* END_FEED_SHOP_TRUE_LIVE_AJAX_V1 */

/* TACK_ROOM_TRUE_LIVE_AJAX_V1 */
.tack-room-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease, opacity 0.2s ease;
}

.tack-room-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.tack-room-live-removed {
    opacity: 0;
    transform: translateX(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
/* END_TACK_ROOM_TRUE_LIVE_AJAX_V1 */

/* TACK_ROOM_HORSE_SELECT_STATUS_V1 */
.tack-inline-form select {
    background: #ffffff !important;
    color: #1f1f1f;
}

.tack-inline-form select option {
    background: #ffffff;
}

.tack-inline-form select option[value=""] {
    color: #8f8f8f;
}

.tack-horse-option-free {
    color: #1f1f1f !important;
}

.tack-horse-option-equipped {
    color: #a8a8a8 !important;
}
/* END_TACK_ROOM_HORSE_SELECT_STATUS_V1 */

/* TACK_ROOM_EMPTY_SELECT_FIX_V2 */
.tack-room-page select[name="horse_id"] {
    background: #ffffff !important;
    color: #111111 !important;
}

.tack-room-page select[name="horse_id"] option {
    background: #ffffff !important;
}

.tack-room-page select[name="horse_id"] option[value=""] {
    color: transparent !important;
}

.tack-room-page select[name="horse_id"] option.tack-horse-option-free {
    color: #111111 !important;
}

.tack-room-page select[name="horse_id"] option.tack-horse-option-equipped {
    color: #b8b8b8 !important;
}
/* END_TACK_ROOM_EMPTY_SELECT_FIX_V2 */

/* TACK_SHOP_TRUE_LIVE_AJAX_V1 */
.tack-shop-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.38) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.tack-shop-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.48) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}
/* END_TACK_SHOP_TRUE_LIVE_AJAX_V1 */

/* INBOX_REPORT_READABILITY_V1 */
.inbox-message-card p,
.inbox-notification-card p,
.inbox-report-card p {
    line-height: 1.55;
    white-space: normal;
}

.inbox-inline-link {
    color: #435e3f !important;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* END_INBOX_REPORT_READABILITY_V1 */

/* PROFESSIONS_EDUCATION_FOUNDATION_V1 */
.education-page,
.service-page {
    display: grid;
    gap: 18px;
}

.education-hero,
.service-hero {
    border: 1px solid rgba(67, 94, 63, 0.14);
    border-radius: 24px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 35px rgba(28, 38, 28, 0.06);
}

.education-hero span,
.service-hero span {
    display: inline-block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #6d7f53;
    margin-bottom: 6px;
}

.education-hero h1,
.service-hero h1 {
    margin: 0 0 8px;
}

.education-rider-card {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.education-rider-card span,
.education-rider-card strong {
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(67, 94, 63, 0.08);
}

.education-alert {
    border-radius: 16px;
    padding: 12px 14px;
    font-weight: 800;
}

.education-alert.success {
    background: rgba(223, 240, 218, 0.88);
    color: #375438;
}

.education-alert.error {
    background: rgba(255, 235, 230, 0.88);
    color: #8a3c31;
}

.education-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.education-card,
.service-card,
.service-provider-card {
    border: 1px solid rgba(67, 94, 63, 0.13);
    border-radius: 22px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 26px rgba(28, 38, 28, 0.05);
}

.education-card.is-owned {
    background: rgba(238, 247, 235, 0.78);
}

.education-card-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.education-tag {
    align-self: flex-start;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 900;
    background: rgba(67, 94, 63, 0.1);
    color: #435e3f;
}

.education-meta {
    display: grid;
    gap: 6px;
    margin: 14px 0;
    font-size: 13px;
}

.education-button,
.service-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 14px;
    padding: 10px 14px;
    background: #435e3f;
    color: #fff !important;
    font-weight: 900;
    text-decoration: none !important;
    cursor: pointer;
}

.education-button.secondary,
.service-button.secondary {
    background: #697563;
}

.education-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.education-hint {
    display: block;
    margin-top: 8px;
    color: #8a5b18;
    font-weight: 800;
}

.service-card-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.service-card-head h2 {
    margin: 0;
}

.service-provider-list {
    display: grid;
    gap: 12px;
}

.service-provider-card {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-top: 12px;
}

.service-provider-card h3 {
    margin: 0 0 6px;
}

.service-provider-card p {
    margin: 0 0 4px;
}

.service-provider-card.npc {
    border-color: rgba(138, 91, 24, 0.18);
    background: rgba(255, 249, 236, 0.82);
}

.service-empty {
    border: 1px dashed rgba(67, 94, 63, 0.22);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.55);
    color: #5e6658;
    font-weight: 700;
}

@media (max-width: 900px) {
    .education-grid {
        grid-template-columns: 1fr;
    }

    .service-provider-card {
        align-items: stretch;
        flex-direction: column;
    }
}
/* END_PROFESSIONS_EDUCATION_FOUNDATION_V1 */

/* VETERINARIAN_SERVICES_V1 */
.vet-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.vet-service-card {
    border: 1px solid rgba(67, 94, 63, 0.13);
    border-radius: 22px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 26px rgba(28, 38, 28, 0.05);
}

.vet-service-head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.vet-service-head > span {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(67, 94, 63, 0.1);
    font-size: 22px;
}

.vet-service-head h2 {
    margin: 0 0 6px;
}

.vet-service-head p {
    margin: 0 0 8px;
}

.vet-horse-list {
    display: grid;
    gap: 10px;
}

.vet-horse-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    border: 1px solid rgba(67, 94, 63, 0.1);
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(249, 252, 247, 0.72);
}

.vet-horse-row strong,
.vet-horse-row small {
    display: block;
}

.vet-horse-row small {
    color: #66705f;
    margin-top: 2px;
}

.vet-blocked-list {
    margin-top: 12px;
    border-top: 1px solid rgba(67, 94, 63, 0.1);
    padding-top: 10px;
}

.vet-blocked-list summary {
    cursor: pointer;
    font-weight: 900;
    color: #5e6658;
}

.vet-blocked-list div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(67, 94, 63, 0.07);
}

.vet-blocked-list span {
    font-weight: 800;
}

.vet-blocked-list small {
    color: #8a6b5a;
    text-align: right;
}

@media (max-width: 900px) {
    .vet-service-grid {
        grid-template-columns: 1fr;
    }

    .vet-horse-row {
        align-items: stretch;
        flex-direction: column;
    }
}
/* END_VETERINARIAN_SERVICES_V1 */

/* VETERINARIAN_LIVE_AJAX_V1 */
.vet-live-updated {
    outline: 2px solid rgba(67, 94, 63, 0.24);
    background: rgba(229, 242, 229, 0.42) !important;
    transition: background 0.25s ease, outline 0.25s ease, opacity 0.2s ease, transform 0.2s ease;
}

.vet-live-error {
    outline: 2px solid rgba(154, 63, 50, 0.22);
    background: rgba(255, 241, 237, 0.5) !important;
    transition: background 0.25s ease, outline 0.25s ease;
}

.vet-live-removed {
    opacity: 0;
    transform: translateX(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
/* END_VETERINARIAN_LIVE_AJAX_V1 */

/* FARRIER_SERVICES_V1 */
.farrier-page .service-hero {
    border-color: rgba(86, 98, 64, 0.16);
}

.farrier-service-card .vet-service-head > span {
    background: rgba(86, 98, 64, 0.1);
}

.farrier-horse-row {
    position: relative;
}
/* END_FARRIER_SERVICES_V1 */

/* FARRIER_CARE_INJURY_SYSTEM_V1 */
.farrier-page .service-hero {
    border-color: rgba(86, 98, 64, 0.16);
}

.farrier-service-card .vet-service-head > span {
    background: rgba(86, 98, 64, 0.1);
}

.farrier-horse-row {
    position: relative;
}
/* END_FARRIER_CARE_INJURY_SYSTEM_V1 */

/* FARRIER_COMPACT_HORSE_INFO_V1 */
.farrier-page .farrier-horse-row {
    padding: 9px 10px;
    gap: 10px;
}

.farrier-page .farrier-horse-row strong {
    font-size: 14px;
    line-height: 1.2;
}

.farrier-page .farrier-horse-row small {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.25;
    color: #60695b;
}

.farrier-page .vet-blocked-list div {
    padding: 6px 0;
}

.farrier-page .vet-blocked-list small {
    font-size: 12px;
}
/* END_FARRIER_COMPACT_HORSE_INFO_V1 */

/* LS_IMAGE_PAGE_BANNER_V1 */
.ls-image-page-banner {
    position: relative;
    overflow: hidden;
    min-height: 170px;
    margin: 0 0 18px;
    border-radius: 20px;
    border: 1px solid rgba(119, 98, 45, 0.18);
    background-image:
        linear-gradient(90deg, rgba(255, 250, 235, 0.96) 0%, rgba(255, 250, 235, 0.9) 34%, rgba(244, 239, 214, 0.42) 58%, rgba(244, 239, 214, 0.08) 100%),
        var(--ls-banner-image);
    background-size: cover;
    background-position: center right;
    box-shadow: 0 14px 34px rgba(45, 55, 35, 0.08);
}

.ls-image-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 7% 20%, rgba(176, 145, 57, 0.15), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}

.ls-image-page-banner::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(175, 145, 65, 0.25);
    border-radius: 16px;
    pointer-events: none;
}

.ls-image-page-banner__content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 78px minmax(0, 520px);
    gap: 18px;
    align-items: center;
    min-height: 170px;
    padding: 24px 32px;
}

.ls-image-page-banner__icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 34px;
    background: rgba(255, 248, 225, 0.72);
    border: 1px solid rgba(176, 145, 57, 0.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
}

.ls-image-page-banner span {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #385633;
}

.ls-image-page-banner h1 {
    margin: 0 0 8px;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 0.95;
    font-family: Georgia, "Times New Roman", serif;
    color: #254f28;
    text-shadow: 0 1px 0 rgba(255,255,255,0.55);
}

.ls-image-page-banner p {
    max-width: 520px;
    margin: 0;
    color: #2f352c;
    font-size: 15px;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .ls-image-page-banner {
        min-height: 150px;
        background-position: center right;
    }

    .ls-image-page-banner__content {
        grid-template-columns: 1fr;
        gap: 8px;
        min-height: 150px;
        padding: 20px;
    }

    .ls-image-page-banner__icon {
        display: none;
    }

    .ls-image-page-banner p {
        max-width: 70%;
    }
}
/* END_LS_IMAGE_PAGE_BANNER_V1 */

/* LS_CLEAN_IMAGE_BANNER_V1 */
.ls-clean-image-banner {
    margin: 0 0 18px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(119, 98, 45, 0.18);
    background: rgba(255, 250, 235, 0.72);
    box-shadow: 0 14px 34px rgba(45, 55, 35, 0.08);
}

.ls-clean-image-banner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 260px;
    object-fit: contain;
    object-position: center;
    background: rgba(255, 250, 235, 0.72);
}

@media (max-width: 760px) {
    .ls-clean-image-banner img {
        max-height: 190px;
    }
}
/* END_LS_CLEAN_IMAGE_BANNER_V1 */

/* LS_PROMOSTYLE_BANNER_V1 */
.ls-promostyle-banner {
    position: relative;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) 330px;
    align-items: center;
    gap: 22px;
    min-height: 158px;
    margin: 0 0 18px;
    padding: 26px 32px;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(150, 126, 62, 0.18);
    background:
        radial-gradient(circle at 88% 28%, rgba(126, 151, 91, 0.20), transparent 28%),
        radial-gradient(circle at 8% 80%, rgba(175, 146, 67, 0.13), transparent 32%),
        linear-gradient(90deg, #fff8df 0%, #fbf4dc 45%, #eef2df 100%);
    box-shadow: 0 12px 28px rgba(52, 67, 42, 0.08);
}

.ls-promostyle-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.35), transparent 52%),
        radial-gradient(circle at 96% 80%, rgba(78, 109, 58, 0.10), transparent 34%);
}

.ls-promostyle-banner::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 12px;
    bottom: 12px;
    width: 36%;
    pointer-events: none;
    opacity: 0.55;
    background:
        radial-gradient(ellipse at 82% 35%, rgba(74, 103, 58, 0.22), transparent 36%),
        radial-gradient(circle at 66% 76%, rgba(176, 145, 57, 0.14), transparent 22%);
    border-radius: 16px;
}

.ls-promostyle-banner__icon {
    position: relative;
    z-index: 2;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(255, 251, 234, 0.76);
    border: 1px solid rgba(176, 145, 57, 0.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
    font-size: 34px;
}

.ls-promostyle-banner__text {
    position: relative;
    z-index: 2;
    max-width: 620px;
}

.ls-promostyle-banner__text span {
    display: block;
    margin-bottom: 5px;
    color: #314f2f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.ls-promostyle-banner__text h1 {
    margin: 0 0 8px;
    color: #254f28;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 4vw, 52px);
    line-height: 0.95;
    text-shadow: 0 1px 0 rgba(255,255,255,0.6);
}

.ls-promostyle-banner__text p {
    margin: 0;
    color: #3d4437;
    font-size: 14px;
    line-height: 1.45;
}

.ls-promostyle-banner__art {
    position: relative;
    z-index: 2;
    min-height: 112px;
}

.ls-promostyle-banner__horse {
    position: absolute;
    right: 80px;
    top: 0;
    color: rgba(50, 77, 43, 0.22);
    font-size: 132px;
    line-height: 1;
    transform: rotate(-4deg);
    text-shadow: 0 1px 0 rgba(255,255,255,0.35);
}

.ls-promostyle-banner__badge {
    position: absolute;
    right: 12px;
    bottom: 2px;
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    color: #f9edb8;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.03em;
    background:
        radial-gradient(circle, #6d8d42 0%, #46672e 58%, #304920 100%);
    border: 5px solid rgba(215, 181, 72, 0.75);
    box-shadow: 0 8px 18px rgba(58, 71, 39, 0.18);
}

.ls-promostyle-banner--training .ls-promostyle-banner__horse {
    content: "";
}

@media (max-width: 900px) {
    .ls-promostyle-banner {
        grid-template-columns: 74px minmax(0, 1fr);
        padding: 22px;
    }

    .ls-promostyle-banner__art {
        display: none;
    }
}

@media (max-width: 620px) {
    .ls-promostyle-banner {
        grid-template-columns: 1fr;
    }

    .ls-promostyle-banner__icon {
        display: none;
    }
}
/* END_LS_PROMOSTYLE_BANNER_V1 */

/* LS_FINAL_PAGE_BANNER_V3 */
.ls-final-page-banner {
    width: 100%;
    margin: 0 0 18px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(150, 126, 62, 0.18);
    background: #fff8df;
    box-shadow: 0 12px 28px rgba(52, 67, 42, 0.08);
}

.ls-final-page-banner img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 760px) {
    .ls-final-page-banner {
        border-radius: 14px;
        margin-bottom: 14px;
    }
}
/* END_LS_FINAL_PAGE_BANNER_V3 */

/* FIX_FINAL_BANNER_HEIGHT_LIKE_PROMOVEREN_V1 */
.ls-final-page-banner {
    height: 150px;
    max-height: 150px;
    margin: 0 0 18px;
    border-radius: 18px;
}

.ls-final-page-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Iets lager op smallere schermen */
@media (max-width: 900px) {
    .ls-final-page-banner {
        height: 135px;
        max-height: 135px;
    }
}

@media (max-width: 620px) {
    .ls-final-page-banner {
        height: 115px;
        max-height: 115px;
        border-radius: 14px;
    }
}
/* END_FIX_FINAL_BANNER_HEIGHT_LIKE_PROMOVEREN_V1 */

/* FIX_USE_RESIZED_WEB_BANNERS_V1 */
.ls-final-page-banner {
    height: auto !important;
    max-height: none !important;
}

.ls-final-page-banner img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
}
/* END_FIX_USE_RESIZED_WEB_BANNERS_V1 */

/* FIX_FINAL_BANNER_NO_CROP_PROMO_SIZE_V1 */
.ls-final-page-banner {
    height: auto !important;
    max-height: none !important;
    margin: 0 0 18px;
    border-radius: 18px;
}

.ls-final-page-banner img {
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
}
/* END_FIX_FINAL_BANNER_NO_CROP_PROMO_SIZE_V1 */

/* FIX_FINAL_BANNER_VERY_LOW_V3 */
.ls-final-page-banner {
    height: auto !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    border-radius: 14px !important;
}

.ls-final-page-banner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 90px !important;
    object-fit: contain !important;
    object-position: center !important;
}
/* END_FIX_FINAL_BANNER_VERY_LOW_V3 */

/* EXISTING_PAGE_HERO_POLISH_V1 */
.training-hero,
.lunging-hero,
.care-hero,
.feed-hero,
.feed-shop-hero,
.stable-hero-header {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    padding: 34px 38px;
    border-radius: 24px;
    border: 1px solid rgba(147, 124, 66, 0.22);
    background:
        radial-gradient(circle at 88% 25%, rgba(115, 145, 82, 0.18), transparent 26%),
        radial-gradient(circle at 8% 85%, rgba(196, 158, 67, 0.16), transparent 30%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.98) 0%, rgba(249, 240, 209, 0.94) 52%, rgba(228, 235, 208, 0.88) 100%);
    box-shadow:
        0 18px 38px rgba(52, 67, 42, 0.10),
        inset 0 1px 0 rgba(255,255,255,0.72);
}

.training-hero::before,
.lunging-hero::before,
.care-hero::before,
.feed-hero::before,
.feed-shop-hero::before,
.stable-hero-header::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.55;
    background:
        radial-gradient(ellipse at 93% 70%, rgba(67, 103, 52, 0.16), transparent 32%),
        linear-gradient(90deg, rgba(255,255,255,0.38), rgba(255,255,255,0.08) 44%, transparent 100%);
}

.training-hero::after,
.lunging-hero::after,
.care-hero::after,
.feed-hero::after,
.feed-shop-hero::after,
.stable-hero-header::after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 14px;
    width: 190px;
    height: 120px;
    pointer-events: none;
    opacity: 0.20;
    background:
        radial-gradient(circle at 78% 55%, rgba(57, 92, 45, 0.32), transparent 34%),
        radial-gradient(circle at 38% 82%, rgba(178, 145, 57, 0.28), transparent 28%);
    border-radius: 999px;
    transform: rotate(-10deg);
}

/* kleine decoratieve iconen per pagina */
.training-hero > div:first-child::before,
.lunging-hero > div:first-child::before,
.care-hero > div:first-child::before,
.feed-hero > div:first-child::before,
.feed-shop-hero > div:first-child::before,
.stable-hero-header > div:first-child::before {
    position: absolute;
    right: 54px;
    top: 36px;
    z-index: 1;
    font-size: 54px;
    line-height: 1;
    opacity: 0.18;
    filter: saturate(0.85);
}

.training-hero > div:first-child::before {
    content: "🏇";
}

.lunging-hero > div:first-child::before {
    content: "〰️";
}

.care-hero > div:first-child::before {
    content: "🪮";
}

.feed-hero > div:first-child::before {
    content: "🌾";
}

.feed-shop-hero > div:first-child::before {
    content: "🛒";
}

.stable-hero-header > div:first-child::before {
    content: "🏡";
}

.training-hero > *,
.lunging-hero > *,
.care-hero > *,
.feed-hero > *,
.feed-shop-hero > *,
.stable-hero-header > * {
    position: relative;
    z-index: 2;
}

.training-kicker,
.lunging-kicker,
.care-kicker,
.feed-kicker,
.feed-shop-kicker,
.stable-kicker {
    color: #31542f !important;
    letter-spacing: 0.16em;
    font-weight: 900;
}

.training-hero h1,
.lunging-hero h1,
.care-hero h1,
.feed-hero h1,
.feed-shop-hero h1,
.stable-hero-header h1 {
    color: #1f2a20;
    text-shadow: 0 1px 0 rgba(255,255,255,0.55);
}

.training-hero p,
.lunging-hero p,
.care-hero p,
.feed-hero p,
.feed-shop-hero p,
.stable-hero-header p {
    max-width: 760px;
    color: #3f473a;
}

/* bestaande zwarte tellerkaartjes iets chiquer laten aansluiten */
.lunging-xp-card,
.stable-hero-count {
    border: 1px solid rgba(218, 185, 88, 0.22);
    box-shadow:
        0 12px 26px rgba(35, 46, 31, 0.16),
        inset 0 1px 0 rgba(255,255,255,0.08);
}

/* mobiel/tablet wat compacter */
@media (max-width: 900px) {
    .training-hero,
    .lunging-hero,
    .care-hero,
    .feed-hero,
    .feed-shop-hero,
    .stable-hero-header {
        min-height: 130px;
        padding: 26px 26px;
        border-radius: 20px;
    }

    .training-hero > div:first-child::before,
    .lunging-hero > div:first-child::before,
    .care-hero > div:first-child::before,
    .feed-hero > div:first-child::before,
    .feed-shop-hero > div:first-child::before,
    .stable-hero-header > div:first-child::before {
        right: 26px;
        top: 26px;
        font-size: 42px;
        opacity: 0.12;
    }
}

@media (max-width: 620px) {
    .training-hero,
    .lunging-hero,
    .care-hero,
    .feed-hero,
    .feed-shop-hero,
    .stable-hero-header {
        padding: 22px;
    }

    .training-hero::after,
    .lunging-hero::after,
    .care-hero::after,
    .feed-hero::after,
    .feed-shop-hero::after,
    .stable-hero-header::after,
    .training-hero > div:first-child::before,
    .lunging-hero > div:first-child::before,
    .care-hero > div:first-child::before,
    .feed-hero > div:first-child::before,
    .feed-shop-hero > div:first-child::before,
    .stable-hero-header > div:first-child::before {
        display: none;
    }
}
/* END_EXISTING_PAGE_HERO_POLISH_V1 */

/* REMOVE_HERO_POLISH_ICONS_V1 */
.training-hero > div:first-child::before,
.lunging-hero > div:first-child::before,
.care-hero > div:first-child::before,
.feed-hero > div:first-child::before,
.feed-shop-hero > div:first-child::before,
.stable-hero-header > div:first-child::before {
    display: none !important;
    content: none !important;
}
/* END_REMOVE_HERO_POLISH_ICONS_V1 */

/* BREEDING_FOUNDATION_V1 */
.breeding-page {
    display: grid;
    gap: 18px;
}

.breeding-hero {
    position: relative;
    overflow: hidden;
    padding: 30px 34px;
    border-radius: 24px;
    border: 1px solid rgba(147, 124, 66, 0.22);
    background:
        radial-gradient(circle at 88% 25%, rgba(115, 145, 82, 0.16), transparent 26%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.98) 0%, rgba(249, 240, 209, 0.94) 54%, rgba(228, 235, 208, 0.88) 100%);
    box-shadow: 0 18px 38px rgba(52, 67, 42, 0.08);
}

.breeding-kicker {
    display: block;
    margin-bottom: 6px;
    color: #31542f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.breeding-hero h1 {
    margin: 0 0 8px;
    color: #1f2a20;
}

.breeding-hero p {
    max-width: 760px;
    margin: 0;
    color: #3f473a;
}

.breeding-card {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid rgba(67, 94, 63, 0.13);
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 10px 26px rgba(28, 38, 28, 0.05);
}

.breeding-card h2 {
    margin-top: 0;
}

.breeding-muted {
    margin: 0;
    color: #66705f;
    font-weight: 700;
}

.breeding-table-wrap {
    overflow-x: auto;
}

.breeding-table {
    width: 100%;
    border-collapse: collapse;
}

.breeding-table th,
.breeding-table td {
    padding: 11px 10px;
    border-bottom: 1px solid rgba(67, 94, 63, 0.10);
    text-align: left;
}

.breeding-table th {
    color: #40573c;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
/* END_BREEDING_FOUNDATION_V1 */

/* BREEDING_STUD_MARKET_ACTIONS_V1 */
.breeding-action-table td small {
    display: block;
    margin-top: 3px;
    color: #66705f;
}

.breeding-list-form,
.breeding-breed-form,
.breeding-inline-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.breeding-list-form input[type="number"] {
    width: 110px;
}

.breeding-list-form input[type="text"] {
    min-width: 220px;
    flex: 1;
}

.breeding-breed-form select,
.breeding-list-form input {
    min-height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(67, 94, 63, 0.18);
    background: rgba(255,255,255,0.86);
    padding: 7px 10px;
}

.breeding-button {
    min-height: 36px;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #416b35, #2f4f2b);
    color: #fff8df;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(45, 67, 39, 0.12);
}

.breeding-button.secondary {
    background: linear-gradient(135deg, #78623a, #55472e);
}

.breeding-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(74, 103, 58, 0.10);
    color: #385633;
    font-weight: 900;
}

@media (max-width: 820px) {
    .breeding-list-form,
    .breeding-breed-form,
    .breeding-inline-form {
        align-items: stretch;
        flex-direction: column;
    }

    .breeding-list-form input[type="number"],
    .breeding-list-form input[type="text"],
    .breeding-breed-form select,
    .breeding-button {
        width: 100%;
    }
}
/* END_BREEDING_STUD_MARKET_ACTIONS_V1 */

/* BREEDING_STUD_MARKET_LIVE_AJAX_V1 */
.breeding-live-alert {
    margin-top: 14px;
}

.breeding-live-note {
    display: block;
    margin-top: 6px;
    color: #66705f;
    font-size: 12px;
    font-weight: 700;
}
/* END_BREEDING_STUD_MARKET_LIVE_AJAX_V1 */

/* BREEDING_COMPLEX_STUD_MARKET_V1 */
.breeding-list-form.complex {
    display: grid;
    grid-template-columns: 110px minmax(210px, 1fr) minmax(220px, 1fr) 130px auto;
    gap: 9px;
    align-items: end;
}

.breeding-list-form.complex label {
    display: grid;
    gap: 4px;
    color: #4a5a43;
    font-size: 12px;
    font-weight: 900;
}

.breeding-list-form.complex input[type="number"],
.breeding-list-form.complex input[type="text"] {
    width: 100%;
}

.breeding-checkbox-field {
    display: flex !important;
    grid-template-columns: 18px 1fr !important;
    align-items: center;
    min-height: 36px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(74, 103, 58, 0.08);
}

.breeding-checkbox-field input {
    width: auto !important;
}

.breeding-live-alert {
    margin-top: 14px;
}

.breeding-live-note {
    display: block;
    margin-top: 6px;
    color: #66705f;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .breeding-list-form.complex {
        grid-template-columns: 1fr 1fr;
    }

    .breeding-list-form.complex .breeding-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .breeding-list-form.complex {
        grid-template-columns: 1fr;
    }
}
/* END_BREEDING_COMPLEX_STUD_MARKET_V1 */

/* BREEDING_COMPLEX_BIRTH_FLOW_V1 */
.pregnant-mares-page .breeding-table td {
    vertical-align: middle;
}

.pregnant-mares-page .breeding-live-alert {
    margin-top: 14px;
}
/* END_BREEDING_COMPLEX_BIRTH_FLOW_V1 */

/* BREEDING_NAME_FOALS_DROPDOWN_LIVE_V1 */
.breeding-name-foal-panel {
    max-width: 820px;
}

.breeding-name-foal-panel h2 {
    margin-top: 0;
}

.breeding-name-foal-dropdown-form {
    display: grid;
    gap: 14px;
}

.breeding-form-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.breeding-form-row label {
    color: #40573c;
    font-weight: 900;
}

.breeding-form-row select,
.breeding-form-row input {
    min-height: 38px;
    border-radius: 12px;
    border: 1px solid rgba(67, 94, 63, 0.18);
    padding: 8px 11px;
    background: rgba(255,255,255,0.92);
}

.breeding-selected-foal-info {
    margin-left: 122px;
    padding: 10px 12px;
    border-radius: 14px;
    color: #4d5748;
    background: rgba(74, 103, 58, 0.08);
    font-size: 13px;
}

.breeding-form-actions {
    margin-left: 122px;
}

@media (max-width: 640px) {
    .breeding-form-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .breeding-selected-foal-info,
    .breeding-form-actions {
        margin-left: 0;
    }
}
/* END_BREEDING_NAME_FOALS_DROPDOWN_LIVE_V1 */

/* BREEDING_PROFILE_LINKS_V1 */
.horse-breeding-profile-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin: 0 0 18px;
}

.horse-breeding-card {
    position: relative;
    overflow: hidden;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(147, 124, 66, 0.22);
    background:
        radial-gradient(circle at 92% 18%, rgba(115, 145, 82, 0.14), transparent 26%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(238, 235, 205, 0.92));
    box-shadow: 0 12px 28px rgba(52, 67, 42, 0.07);
}

.horse-breeding-card span {
    display: block;
    margin-bottom: 5px;
    color: #31542f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.horse-breeding-card h3 {
    margin: 0 0 7px;
    color: #1f2a20;
    font-size: 20px;
}

.horse-breeding-card p {
    margin: 0;
    color: #4d5748;
    line-height: 1.45;
}

.horse-breeding-card a {
    color: #31542f;
    font-weight: 900;
    text-decoration: none;
}

.horse-breeding-card a:hover {
    text-decoration: underline;
}

.horse-breeding-action {
    display: inline-flex;
    margin-top: 12px;
    padding: 8px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #416b35, #2f4f2b);
    color: #fff8df !important;
    font-weight: 900;
    text-decoration: none !important;
}

.horse-breeding-action:hover {
    text-decoration: none !important;
}
/* END_BREEDING_PROFILE_LINKS_V1 */

/* BREEDING_PROFILE_CORE_FIX_V1 */
.horse-breeding-profile-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin: 0 0 18px;
}

.horse-breeding-card {
    position: relative;
    overflow: hidden;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(147, 124, 66, 0.22);
    background:
        radial-gradient(circle at 92% 18%, rgba(115, 145, 82, 0.14), transparent 26%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(238, 235, 205, 0.92));
    box-shadow: 0 12px 28px rgba(52, 67, 42, 0.07);
}

.horse-breeding-card span {
    display: block;
    margin-bottom: 5px;
    color: #31542f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.horse-breeding-card h3 {
    margin: 0 0 7px;
    color: #1f2a20;
    font-size: 20px;
}

.horse-breeding-card p {
    margin: 0;
    color: #4d5748;
    line-height: 1.45;
}

.horse-breeding-card a {
    color: #31542f;
    font-weight: 900;
    text-decoration: none;
}

.horse-breeding-card a:hover {
    text-decoration: underline;
}

.horse-breeding-action {
    display: inline-flex;
    margin-top: 12px;
    padding: 8px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #416b35, #2f4f2b);
    color: #fff8df !important;
    font-weight: 900;
    text-decoration: none !important;
}
/* END_BREEDING_PROFILE_CORE_FIX_V1 */

/* BREEDING_PEDIGREE_TAB_INFO_V1 */
.horse-pedigree-info-box {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(67, 94, 63, 0.13);
    background: rgba(255, 251, 235, 0.78);
}

.horse-pedigree-info-row {
    display: grid;
    gap: 4px;
}

.horse-pedigree-info-row strong {
    color: #31542f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.horse-pedigree-info-row span {
    color: #46513f;
    line-height: 1.45;
}

.horse-pedigree-info-row a {
    color: #31542f;
    font-weight: 900;
    text-decoration: none;
}

.horse-pedigree-info-row a:hover {
    text-decoration: underline;
}
/* END_BREEDING_PEDIGREE_TAB_INFO_V1 */

/* REAL_PEDIGREE_TREE_V1 */
.horse-pedigree-node strong a {
    color: inherit;
    text-decoration: none;
}

.horse-pedigree-node strong a:hover {
    text-decoration: underline;
}

.horse-pedigree-node small {
    display: block;
    margin-top: 3px;
    color: rgba(43, 52, 40, 0.68);
    font-size: 12px;
}

.horse-pedigree-node.muted small {
    display: none;
}
/* END_REAL_PEDIGREE_TREE_V1 */

/* SPORT_INDEX_KEURING_V1 */
.inspection-card {
    max-width: 900px;
}

.inspection-form {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.inspection-form label {
    display: grid;
    gap: 6px;
    color: #40573c;
    font-weight: 900;
}

.inspection-form select {
    min-height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(67, 94, 63, 0.18);
    padding: 8px 11px;
    background: rgba(255,255,255,0.92);
}

.inspection-rules {
    display: grid;
    gap: 8px;
}

.inspection-rules p {
    margin: 0;
    color: #4d5748;
}
/* END_SPORT_INDEX_KEURING_V1 */

/* SPORT_INDEX_KEURING_LIVE_AJAX_V1 */
.keuring-live-alert {
    margin-top: 14px;
}
/* END_SPORT_INDEX_KEURING_LIVE_AJAX_V1 */

/* GLOBAL_REALTIME_CHAT_CONSOLE_V1 */
.ls-chat-console {
    position: fixed;
    right: 14px;
    top: 8px;
    z-index: 99999;
    font-family: inherit;
}

.ls-chat-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 8px 14px;
    border: 1px solid rgba(33, 50, 29, 0.28);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(43, 73, 34, 0.96), rgba(26, 42, 24, 0.96));
    color: #fff8df;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(18, 28, 16, 0.20);
}

.ls-chat-toggle-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #c9b36a;
    box-shadow: 0 0 0 3px rgba(201, 179, 106, 0.16);
}

.ls-chat-toggle-dot.online {
    background: #82b65d;
    box-shadow: 0 0 0 3px rgba(130, 182, 93, 0.18);
}

.ls-chat-toggle-dot.offline {
    background: #a84c43;
    box-shadow: 0 0 0 3px rgba(168, 76, 67, 0.18);
}

.ls-chat-window {
    display: none;
    position: absolute;
    top: 42px;
    right: 0;
    width: min(760px, calc(100vw - 28px));
    height: min(430px, calc(100vh - 62px));
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(52, 75, 45, 0.24);
    background: rgba(251, 249, 239, 0.98);
    box-shadow: 0 22px 55px rgba(18, 28, 16, 0.30);
}

.ls-chat-console.is-open .ls-chat-window {
    display: flex;
    flex-direction: column;
}

.ls-chat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    border-bottom: 1px solid rgba(52, 75, 45, 0.16);
    background: linear-gradient(135deg, rgba(243, 238, 205, 0.96), rgba(228, 234, 205, 0.92));
}

.ls-chat-header strong {
    display: block;
    color: #233820;
    font-size: 15px;
}

.ls-chat-header small {
    display: block;
    color: #617058;
    font-size: 12px;
    font-weight: 800;
}

.ls-chat-close {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: rgba(45, 63, 39, 0.12);
    color: #273821;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.ls-chat-body {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
}

.ls-chat-channels {
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 10px;
    border-right: 1px solid rgba(52, 75, 45, 0.12);
    background: rgba(236, 235, 212, 0.64);
}

.ls-chat-channels button {
    min-height: 30px;
    border: 1px solid rgba(52, 75, 45, 0.14);
    border-radius: 10px;
    background: rgba(255,255,255,0.55);
    color: #33492d;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.ls-chat-channels button.active {
    background: linear-gradient(135deg, #416b35, #2f4f2b);
    color: #fff8df;
}

.ls-chat-main {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ls-chat-rules {
    display: flex;
    gap: 8px;
    padding: 8px 11px;
    border-bottom: 1px solid rgba(52, 75, 45, 0.10);
    background: rgba(255, 251, 235, 0.74);
    color: #5e6757;
    font-size: 12px;
}

.ls-chat-rules strong {
    color: #8c342f;
}

.ls-chat-messages {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 10px 12px;
    background:
        radial-gradient(circle at 92% 12%, rgba(115, 145, 82, 0.08), transparent 25%),
        rgba(255,255,255,0.70);
}

.ls-chat-empty {
    padding: 16px;
    color: #6b7465;
    font-weight: 800;
    text-align: center;
}

.ls-chat-message {
    padding: 6px 7px;
    border-bottom: 1px solid rgba(52, 75, 45, 0.06);
}

.ls-chat-message-meta {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 2px;
}

.ls-chat-message-meta strong {
    color: #243720;
    font-size: 13px;
}

.ls-chat-message-meta small {
    color: #73806c;
    font-size: 11px;
}

.ls-chat-message-meta time {
    margin-left: auto;
    color: #89927f;
    font-size: 11px;
    font-weight: 800;
}

.ls-chat-message-text {
    color: #313a2e;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ls-chat-message.role-admin .ls-chat-message-meta strong {
    color: #7b1d1d;
}

.ls-chat-message.role-super-moderator .ls-chat-message-meta strong,
.ls-chat-message.role-super_moderator .ls-chat-message-meta strong {
    color: #6c3f90;
}

.ls-chat-message.role-chat-moderator .ls-chat-message-meta strong,
.ls-chat-message.role-chat_moderator .ls-chat-message-meta strong {
    color: #26706c;
}

.ls-chat-message.role-support .ls-chat-message-meta strong {
    color: #9a6a24;
}

.ls-chat-message.channel-tkgz .ls-chat-message-text {
    color: #6b6657;
}

.ls-chat-form {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 92px;
    gap: 8px;
    padding: 9px;
    border-top: 1px solid rgba(52, 75, 45, 0.14);
    background: rgba(236, 235, 212, 0.72);
}

.ls-chat-form select,
.ls-chat-form input {
    min-height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(52, 75, 45, 0.18);
    background: rgba(255,255,255,0.92);
    color: #263622;
    padding: 7px 9px;
}

.ls-chat-form button {
    min-height: 34px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #416b35, #2f4f2b);
    color: #fff8df;
    font-weight: 900;
    cursor: pointer;
}

@media (max-width: 820px) {
    .ls-chat-console {
        right: 10px;
        top: 8px;
        bottom: auto;
    }

    .ls-chat-window {
        top: 42px;
        right: 0;
        bottom: auto;
        width: calc(100vw - 20px);
        height: min(430px, calc(100vh - 62px));
    }

    .ls-chat-body {
        grid-template-columns: 70px minmax(0, 1fr);
    }

    .ls-chat-form {
        grid-template-columns: 70px minmax(0, 1fr);
    }

    .ls-chat-form button {
        grid-column: 1 / -1;
    }
}
/* END_GLOBAL_REALTIME_CHAT_CONSOLE_V1 */

/* CHAT_CONSOLE_UI_V2 */
.ls-chat-console {
    position: fixed !important;
    right: 12px !important;
    top: 7px !important;
    z-index: 99999 !important;
    font-family: inherit;
}

.ls-chat-toggle {
    min-height: 28px !important;
    padding: 5px 11px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(27, 41, 23, 0.35) !important;
    background: linear-gradient(180deg, rgba(245, 241, 220, 0.96), rgba(220, 228, 197, 0.96)) !important;
    color: #26391f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 5px 14px rgba(18, 28, 16, 0.16) !important;
}

.ls-chat-toggle::before {
    content: "💬";
    font-size: 13px;
}

.ls-chat-toggle-dot {
    width: 7px !important;
    height: 7px !important;
}

.ls-chat-window {
    top: 34px !important;
    right: 0 !important;
    width: min(710px, calc(100vw - 24px)) !important;
    height: min(345px, calc(100vh - 52px)) !important;
    border-radius: 6px !important;
    border: 1px solid rgba(41, 54, 35, 0.34) !important;
    background: rgba(246, 247, 239, 0.99) !important;
    box-shadow: 0 12px 34px rgba(18, 25, 14, 0.28) !important;
}

.ls-chat-header {
    min-height: 30px !important;
    padding: 5px 8px !important;
    border-bottom: 1px solid rgba(60, 75, 50, 0.18) !important;
    background: linear-gradient(180deg, #edf1dc, #dce7c7) !important;
}

.ls-chat-header strong {
    color: #274020 !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
}

.ls-chat-header small {
    color: #65705f !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.ls-chat-close {
    width: 23px !important;
    height: 23px !important;
    border-radius: 5px !important;
    background: rgba(45, 63, 39, 0.10) !important;
    font-size: 17px !important;
}

.ls-chat-body {
    grid-template-columns: 76px minmax(0, 1fr) !important;
}

.ls-chat-channels {
    gap: 4px !important;
    padding: 7px 6px !important;
    border-right: 1px solid rgba(60, 75, 50, 0.17) !important;
    background: rgba(231, 235, 213, 0.72) !important;
}

.ls-chat-channels::before {
    content: "Regels";
    display: block;
    margin: 0 0 4px 1px;
    color: #9a2f2b;
    font-size: 11px;
    font-weight: 900;
}

.ls-chat-channels button {
    position: relative;
    min-height: 22px !important;
    padding: 2px 3px 2px 20px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #55624f !important;
    text-align: left !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.ls-chat-channels button::before {
    content: "☑";
    position: absolute;
    left: 3px;
    top: 2px;
    color: #2e76ad;
    font-size: 13px;
}

.ls-chat-channels button.active {
    background: rgba(55, 84, 43, 0.10) !important;
    color: #26391f !important;
}

.ls-chat-main {
    background: rgba(250, 250, 246, 0.98) !important;
}

.ls-chat-rules {
    display: none !important;
}

.ls-chat-messages {
    padding: 7px 9px !important;
    background: rgba(250, 250, 246, 0.99) !important;
}

.ls-chat-empty {
    padding: 12px !important;
    color: #727b6c !important;
    font-size: 12px !important;
}

.ls-chat-message {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    padding: 1px 2px !important;
    border-bottom: 0 !important;
    line-height: 1.35 !important;
}

.ls-chat-message-meta {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 4px !important;
    margin: 0 !important;
    align-items: baseline !important;
}

.ls-chat-message-meta strong {
    color: #2f4b27 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.ls-chat-message-meta strong::after {
    content: ":";
}

.ls-chat-message-meta small {
    display: none !important;
}

.ls-chat-message-meta time {
    order: -1;
    margin-left: 0 !important;
    color: #8b9285 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.ls-chat-message-text {
    display: inline !important;
    color: #222820 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.ls-chat-message.channel-tkgz .ls-chat-message-text {
    color: #7a7668 !important;
}

.ls-chat-message.role-admin .ls-chat-message-meta strong {
    color: #9b1d1d !important;
}

.ls-chat-message.role-super-moderator .ls-chat-message-meta strong,
.ls-chat-message.role-super_moderator .ls-chat-message-meta strong {
    color: #65388d !important;
}

.ls-chat-message.role-chat-moderator .ls-chat-message-meta strong,
.ls-chat-message.role-chat_moderator .ls-chat-message-meta strong {
    color: #16706b !important;
}

.ls-chat-message.role-support .ls-chat-message-meta strong {
    color: #a36c20 !important;
}

.ls-chat-form {
    grid-template-columns: 84px minmax(0, 1fr) 82px !important;
    gap: 5px !important;
    padding: 6px !important;
    border-top: 1px solid rgba(60, 75, 50, 0.18) !important;
    background: rgba(232, 236, 214, 0.82) !important;
}

.ls-chat-form select,
.ls-chat-form input {
    min-height: 27px !important;
    height: 27px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(67, 78, 60, 0.32) !important;
    background: rgba(255,255,255,0.98) !important;
    padding: 3px 6px !important;
    font-size: 12px !important;
}

.ls-chat-form button {
    min-height: 27px !important;
    height: 27px !important;
    border-radius: 4px !important;
    background: linear-gradient(180deg, #eef1e1, #d3dcc1) !important;
    border: 1px solid rgba(67, 78, 60, 0.32) !important;
    color: #26391f !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

@media (max-width: 820px) {
    .ls-chat-console {
        right: 8px !important;
        top: 7px !important;
    }

    .ls-chat-window {
        top: 34px !important;
        width: calc(100vw - 16px) !important;
        height: min(345px, calc(100vh - 52px)) !important;
    }

    .ls-chat-body {
        grid-template-columns: 68px minmax(0, 1fr) !important;
    }

    .ls-chat-form {
        grid-template-columns: 70px minmax(0, 1fr) 72px !important;
    }
}
/* END_CHAT_CONSOLE_UI_V2 */

/* CHAT_CONSOLE_COLORS_V3 */
.ls-chat-toggle {
    border: 1px solid rgba(42, 72, 52, 0.22) !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #1f3326 !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 22px rgba(18, 28, 16, 0.14) !important;
}

.ls-chat-toggle:hover {
    background: rgba(255, 255, 255, 0.96) !important;
}

.ls-chat-toggle-dot.online {
    background: #35b76f !important;
    box-shadow: 0 0 0 3px rgba(53, 183, 111, 0.16) !important;
}

.ls-chat-toggle-dot.connecting {
    background: #d6a83e !important;
    box-shadow: 0 0 0 3px rgba(214, 168, 62, 0.16) !important;
}

.ls-chat-toggle-dot.offline {
    background: #d95d52 !important;
    box-shadow: 0 0 0 3px rgba(217, 93, 82, 0.16) !important;
}

.ls-chat-window {
    border: 1px solid rgba(28, 48, 34, 0.18) !important;
    background: rgba(252, 253, 250, 0.98) !important;
    box-shadow: 0 18px 50px rgba(11, 18, 12, 0.24) !important;
    backdrop-filter: blur(12px);
}

.ls-chat-header {
    border-bottom: 1px solid rgba(27, 48, 34, 0.14) !important;
    background: linear-gradient(135deg, #253b2c 0%, #38583f 100%) !important;
}

.ls-chat-header strong {
    color: #ffffff !important;
}

.ls-chat-header small {
    color: rgba(255, 255, 255, 0.72) !important;
}

.ls-chat-close {
    background: rgba(255, 255, 255, 0.13) !important;
    color: #ffffff !important;
}

.ls-chat-close:hover {
    background: rgba(255, 255, 255, 0.22) !important;
}

.ls-chat-channels {
    border-right: 1px solid rgba(27, 48, 34, 0.10) !important;
    background: #f4f7f1 !important;
}

.ls-chat-channels::before {
    color: #445246 !important;
}

.ls-chat-channels button {
    color: #657267 !important;
}

.ls-chat-channels button::before {
    color: #4e8d68 !important;
}

.ls-chat-channels button.active {
    background: #e5efe5 !important;
    color: #213826 !important;
}

.ls-chat-main {
    background: #fbfcfa !important;
}

.ls-chat-messages {
    background: #fbfcfa !important;
}

.ls-chat-empty {
    color: #6d766e !important;
}

.ls-chat-message {
    color: #263128 !important;
}

.ls-chat-message-meta time {
    color: #9aa39a !important;
}

.ls-chat-message-meta strong {
    color: #24452d !important;
}

.ls-chat-message-text {
    color: #232b24 !important;
}

.ls-chat-message.channel-tkgz .ls-chat-message-text {
    color: #5d6470 !important;
}

.ls-chat-form {
    border-top: 1px solid rgba(27, 48, 34, 0.12) !important;
    background: #f1f5ef !important;
}

.ls-chat-form select,
.ls-chat-form input {
    border: 1px solid rgba(35, 54, 40, 0.18) !important;
    background: #ffffff !important;
    color: #1f2d22 !important;
    box-shadow: inset 0 1px 2px rgba(10, 20, 12, 0.04) !important;
}

.ls-chat-form input:focus,
.ls-chat-form select:focus {
    outline: none !important;
    border-color: rgba(49, 107, 72, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(49, 107, 72, 0.10) !important;
}

.ls-chat-form button {
    border: 1px solid rgba(35, 75, 48, 0.20) !important;
    background: linear-gradient(135deg, #2f6d45, #244c34) !important;
    color: #ffffff !important;
    box-shadow: 0 3px 9px rgba(28, 54, 35, 0.14) !important;
}

.ls-chat-form button:hover {
    background: linear-gradient(135deg, #367b4f, #28583b) !important;
}
/* END_CHAT_CONSOLE_COLORS_V3 */

/* CHAT_CONSOLE_SOFT_COLORS_V4 */
.ls-chat-window {
    background: rgba(250, 252, 248, 0.96) !important;
    border: 1px solid rgba(78, 104, 73, 0.18) !important;
    box-shadow: 0 16px 42px rgba(28, 44, 28, 0.18) !important;
}

.ls-chat-header {
    background: linear-gradient(135deg, #edf5e8 0%, #dbe9d4 100%) !important;
    border-bottom: 1px solid rgba(78, 104, 73, 0.16) !important;
}

.ls-chat-header strong {
    color: #243b2b !important;
}

.ls-chat-header small {
    color: #58705d !important;
}

.ls-chat-close {
    background: rgba(46, 75, 49, 0.10) !important;
    color: #2e4531 !important;
}

.ls-chat-close:hover {
    background: rgba(46, 75, 49, 0.18) !important;
}

.ls-chat-channels {
    background: rgba(245, 249, 242, 0.92) !important;
    border-right: 1px solid rgba(78, 104, 73, 0.12) !important;
}

.ls-chat-channels::before {
    color: #6e7b6d !important;
}

.ls-chat-channels button {
    color: #687468 !important;
}

.ls-chat-channels button::before {
    color: #74a37d !important;
}

.ls-chat-channels button.active {
    background: rgba(111, 153, 111, 0.15) !important;
    color: #2d4933 !important;
}

.ls-chat-main,
.ls-chat-messages {
    background: rgba(253, 254, 252, 0.98) !important;
}

.ls-chat-form {
    background: rgba(244, 248, 241, 0.94) !important;
    border-top: 1px solid rgba(78, 104, 73, 0.13) !important;
}

.ls-chat-form button {
    background: linear-gradient(135deg, #47764f, #345d3d) !important;
    color: #ffffff !important;
    border: 1px solid rgba(50, 88, 58, 0.22) !important;
}

.ls-chat-toggle {
    background: rgba(250, 252, 248, 0.92) !important;
    color: #263d2b !important;
    border: 1px solid rgba(78, 104, 73, 0.20) !important;
}
/* END_CHAT_CONSOLE_SOFT_COLORS_V4 */

/* CHAT_AQUA_GOLD_THEME_V5 */
.ls-chat-toggle {
    background: linear-gradient(135deg, rgba(246, 252, 248, 0.94), rgba(226, 241, 232, 0.94)) !important;
    color: #123b3a !important;
    border: 1px solid rgba(191, 152, 69, 0.42) !important;
    box-shadow:
        0 8px 22px rgba(14, 56, 54, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.ls-chat-toggle:hover {
    background: linear-gradient(135deg, rgba(255, 255, 250, 0.98), rgba(229, 246, 238, 0.98)) !important;
    border-color: rgba(204, 163, 76, 0.62) !important;
}

.ls-chat-toggle-dot.online {
    background: #27b59c !important;
    box-shadow: 0 0 0 3px rgba(39, 181, 156, 0.18) !important;
}

.ls-chat-window {
    background: rgba(251, 254, 251, 0.97) !important;
    border: 1px solid rgba(190, 153, 78, 0.36) !important;
    box-shadow:
        0 18px 48px rgba(10, 44, 42, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.55) inset !important;
}

.ls-chat-header {
    background:
        linear-gradient(135deg, #0f4f4d 0%, #1f7b72 52%, #2f9583 100%) !important;
    border-bottom: 1px solid rgba(212, 173, 88, 0.55) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(94, 61, 18, 0.18) !important;
}

.ls-chat-header strong {
    color: #fff7df !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.20) !important;
}

.ls-chat-header small {
    color: rgba(255, 239, 190, 0.82) !important;
}

.ls-chat-close {
    background: rgba(255, 246, 219, 0.16) !important;
    color: #fff3c7 !important;
    border: 1px solid rgba(226, 185, 93, 0.28) !important;
}

.ls-chat-close:hover {
    background: rgba(255, 246, 219, 0.26) !important;
}

.ls-chat-channels {
    background:
        linear-gradient(180deg, rgba(240, 249, 244, 0.98), rgba(226, 241, 233, 0.98)) !important;
    border-right: 1px solid rgba(191, 152, 69, 0.24) !important;
}

.ls-chat-channels::before {
    color: #9a7130 !important;
    letter-spacing: 0.03em;
}

.ls-chat-channels button {
    color: #38615e !important;
}

.ls-chat-channels button::before {
    color: #1f8c7b !important;
}

.ls-chat-channels button.active {
    background: linear-gradient(135deg, rgba(39, 143, 128, 0.15), rgba(218, 180, 93, 0.13)) !important;
    color: #133c39 !important;
    box-shadow: inset 3px 0 0 rgba(204, 163, 76, 0.85) !important;
}

.ls-chat-main,
.ls-chat-messages {
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 149, 131, 0.08), transparent 32%),
        linear-gradient(180deg, #fbfefc 0%, #f5fbf8 100%) !important;
}

.ls-chat-empty {
    color: #617874 !important;
}

.ls-chat-message-meta time {
    color: #9aa8a4 !important;
}

.ls-chat-message-meta strong {
    color: #0f5a55 !important;
}

.ls-chat-message-text {
    color: #1f302f !important;
}

.ls-chat-message.channel-tkgz .ls-chat-message-text {
    color: #766744 !important;
}

.ls-chat-form {
    background:
        linear-gradient(180deg, rgba(238, 248, 243, 0.98), rgba(225, 240, 232, 0.98)) !important;
    border-top: 1px solid rgba(191, 152, 69, 0.26) !important;
}

.ls-chat-form select,
.ls-chat-form input {
    background: rgba(255, 255, 252, 0.98) !important;
    border: 1px solid rgba(29, 104, 96, 0.22) !important;
    color: #183836 !important;
}

.ls-chat-form input:focus,
.ls-chat-form select:focus {
    border-color: rgba(191, 152, 69, 0.72) !important;
    box-shadow:
        0 0 0 3px rgba(39, 143, 128, 0.10),
        0 0 0 1px rgba(204, 163, 76, 0.20) !important;
}

.ls-chat-form button {
    background: linear-gradient(135deg, #1a7f73 0%, #0f5e58 100%) !important;
    color: #fff6db !important;
    border: 1px solid rgba(204, 163, 76, 0.50) !important;
    box-shadow:
        0 4px 10px rgba(13, 70, 64, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

.ls-chat-form button:hover {
    background: linear-gradient(135deg, #219486 0%, #126b64 100%) !important;
    border-color: rgba(224, 184, 92, 0.72) !important;
}
/* END_CHAT_AQUA_GOLD_THEME_V5 */

/* LIVE_ONLINE_EXISTING_TOPBAR_V1 */
.online-box {
    cursor: pointer;
}

.online-box strong {
    white-space: nowrap;
}

.online-box strong::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;
    border-radius: 999px;
    background: #27b59c;
    box-shadow: 0 0 0 3px rgba(39, 181, 156, 0.15);
    vertical-align: middle;
}

.ls-online-panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 10px;
    width: 270px;
    max-height: min(360px, calc(100vh - 90px));
    overflow: hidden;
    z-index: 99998;
    border-radius: 10px;
    border: 1px solid rgba(190, 153, 78, 0.36);
    background: rgba(251, 254, 251, 0.98);
    box-shadow:
        0 18px 48px rgba(10, 44, 42, 0.20),
        0 0 0 1px rgba(255, 255, 255, 0.55) inset;
}

.ls-online-panel.is-open {
    display: block;
}

.ls-online-panel header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(191, 152, 69, 0.26);
    background: linear-gradient(135deg, #0f4f4d 0%, #1f7b72 52%, #2f9583 100%);
}

.ls-online-panel header strong {
    color: #fff7df;
    font-size: 13px;
}

.ls-online-panel header span {
    color: rgba(255, 239, 190, 0.82);
    font-size: 11px;
    font-weight: 800;
}

.ls-online-list {
    max-height: 305px;
    overflow-y: auto;
    padding: 7px;
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 149, 131, 0.08), transparent 32%),
        linear-gradient(180deg, #fbfefc 0%, #f5fbf8 100%);
}

.ls-online-empty {
    padding: 12px;
    color: #617874;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.ls-online-user {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 7px 6px;
    border-radius: 7px;
}

.ls-online-user:hover {
    background: rgba(39, 143, 128, 0.08);
}

.ls-online-dot {
    width: 7px;
    height: 7px;
    margin-top: 5px;
    border-radius: 999px;
    background: #27b59c;
}

.ls-online-user strong {
    display: block;
    color: #0f5a55;
    font-size: 12px;
    line-height: 1.2;
}

.ls-online-user small {
    display: block;
    margin-top: 2px;
    color: #6d7a75;
    font-size: 11px;
}

.ls-online-user.role-admin strong {
    color: #9b1d1d;
}

.ls-online-user.role-super-moderator strong,
.ls-online-user.role-super_moderator strong {
    color: #65388d;
}

.ls-online-user.role-chat-moderator strong,
.ls-online-user.role-chat_moderator strong {
    color: #16706b;
}
/* END_LIVE_ONLINE_EXISTING_TOPBAR_V1 */

/* ONLINE_PLAYERS_PAGE_V1 */
.online-page {
    display: grid;
    gap: 20px;
}

.online-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: stretch;
    padding: 28px 32px;
    border-radius: 22px;
    border: 1px solid rgba(190, 153, 78, 0.28);
    background:
        radial-gradient(circle at 88% 20%, rgba(47, 149, 131, 0.12), transparent 30%),
        linear-gradient(135deg, #fbfefc 0%, #eef8f1 58%, #e5f2eb 100%);
    box-shadow: 0 14px 34px rgba(19, 62, 53, 0.08);
}

.online-kicker {
    display: block;
    margin-bottom: 6px;
    color: #0f5a55;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.online-hero h1 {
    margin: 0 0 8px;
    color: #1f312b;
}

.online-hero p {
    margin: 0;
    color: #53645d;
}

.online-total-card {
    min-width: 130px;
    display: grid;
    place-items: center;
    padding: 14px 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0f4f4d 0%, #1f7b72 100%);
    color: #fff7df;
    border: 1px solid rgba(204, 163, 76, 0.45);
    box-shadow: 0 12px 26px rgba(12, 61, 56, 0.16);
}

.online-total-card span {
    font-size: 12px;
    font-weight: 900;
    opacity: .82;
}

.online-total-card strong {
    font-size: 34px;
    line-height: 1;
}

.online-section {
    display: grid;
    gap: 10px;
}

.online-section h2 {
    margin: 0;
    color: #263a31;
    font-size: 24px;
}

.online-strip,
.online-legend,
.online-records {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(45, 75, 58, 0.12);
    background: rgba(255,255,255,0.76);
    box-shadow: 0 8px 20px rgba(30, 50, 35, 0.04);
}

.online-strip {
    line-height: 1.9;
}

.online-name,
.online-rider {
    font-weight: 900;
    text-decoration: none;
}

.online-name {
    color: #25352c;
}

.online-rider {
    color: #6b6f76;
    margin-right: 8px;
}

.online-name span {
    font-size: 0.9em;
}

.online-muted {
    color: #6b746d;
    font-weight: 800;
}

.online-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-weight: 900;
}

.role-admin,
.online-name.role-admin {
    color: #9b1d1d;
}

.role-super_moderator,
.role-super-moderator,
.online-name.role-super_moderator,
.online-name.role-super-moderator {
    color: #65388d;
}

.role-forum_moderator,
.role-forum-moderator,
.online-name.role-forum_moderator,
.online-name.role-forum-moderator {
    color: #2667a8;
}

.role-chat_moderator,
.role-chat-moderator,
.online-name.role-chat_moderator,
.online-name.role-chat-moderator {
    color: #16706b;
}

.role-support,
.online-name.role-support {
    color: #a36c20;
}

.online-records strong {
    display: block;
    margin-bottom: 4px;
    color: #263a31;
    font-size: 18px;
}

.online-records p {
    margin: 0;
    color: #6b746d;
}
/* END_ONLINE_PLAYERS_PAGE_V1 */

/* ONLINE_USERNAMES_ONLY_V1 */
.online-page .online-rider {
    display: none !important;
}
/* END_ONLINE_USERNAMES_ONLY_V1 */

/* CHAT_MOD_DELETE_MESSAGES_V1 */
.ls-chat-message {
    position: relative;
    padding-right: 22px !important;
}

.ls-chat-delete-message {
    position: absolute;
    right: 2px;
    top: 1px;
    width: 17px;
    height: 17px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 4px;
    background: rgba(155, 29, 29, 0.08);
    color: #9b1d1d;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.ls-chat-message:hover .ls-chat-delete-message {
    display: inline-flex;
}

.ls-chat-delete-message:hover {
    background: rgba(155, 29, 29, 0.16);
}
/* END_CHAT_MOD_DELETE_MESSAGES_V1 */

/* CHAT_DELETE_CLICK_ACTION_V2 */
.ls-chat-delete-message {
    pointer-events: auto !important;
    user-select: none !important;
    touch-action: manipulation !important;
}

.ls-chat-message:hover .ls-chat-delete-message {
    display: inline-flex !important;
}
/* END_CHAT_DELETE_CLICK_ACTION_V2 */

/* CHAT_MOD_MUTE_USERS_V1 */
.ls-chat-message {
    padding-right: 54px !important;
}

.ls-chat-mod-actions {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 25 !important;
    display: none;
    gap: 3px;
    align-items: center;
}

.ls-chat-message:hover .ls-chat-mod-actions {
    display: inline-flex !important;
}

.ls-chat-mod-actions button {
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none !important;
}

.ls-chat-mute-user {
    border: 1px solid rgba(176, 126, 36, 0.22) !important;
    background: rgba(255, 248, 226, 0.96) !important;
    color: #9a6a1e !important;
}

.ls-chat-mute-user:hover {
    background: rgba(176, 126, 36, 0.14) !important;
    border-color: rgba(176, 126, 36, 0.38) !important;
}

.ls-chat-delete-message {
    position: static !important;
    transform: none !important;
}
/* END_CHAT_MOD_MUTE_USERS_V1 */

/* MODERATION_PANEL_V1 */
.moderation-page {
    display: grid;
    gap: 20px;
}

.moderation-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: stretch;
    padding: 28px 32px;
    border-radius: 22px;
    border: 1px solid rgba(190, 153, 78, 0.28);
    background:
        radial-gradient(circle at 88% 20%, rgba(47, 149, 131, 0.12), transparent 30%),
        linear-gradient(135deg, #fbfefc 0%, #eef8f1 58%, #e5f2eb 100%);
    box-shadow: 0 14px 34px rgba(19, 62, 53, 0.08);
}

.moderation-kicker {
    display: block;
    margin-bottom: 6px;
    color: #0f5a55;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.moderation-hero h1 {
    margin: 0 0 8px;
    color: #1f312b;
}

.moderation-hero p {
    margin: 0;
    color: #53645d;
}

.moderation-role-card {
    min-width: 190px;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0f4f4d 0%, #1f7b72 100%);
    color: #fff7df;
    border: 1px solid rgba(204, 163, 76, 0.45);
    box-shadow: 0 12px 26px rgba(12, 61, 56, 0.16);
}

.moderation-role-card span,
.moderation-role-card small {
    display: block;
    opacity: .82;
    font-size: 12px;
    font-weight: 900;
}

.moderation-role-card strong {
    display: block;
    margin: 4px 0;
    font-size: 18px;
}

.moderation-denied {
    padding: 28px;
    border-radius: 20px;
    background: rgba(255,255,255,0.78);
}

.moderation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.moderation-card,
.moderation-section {
    border-radius: 16px;
    border: 1px solid rgba(45, 75, 58, 0.12);
    background: rgba(255,255,255,0.78);
    box-shadow: 0 8px 20px rgba(30, 50, 35, 0.04);
}

.moderation-card {
    padding: 16px;
}

.moderation-card h2,
.moderation-section h2 {
    margin: 0;
    color: #263a31;
}

.moderation-card p {
    margin: 8px 0 12px;
    color: #637066;
}

.moderation-card.is-disabled {
    opacity: .58;
}

.moderation-permissions {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(47, 149, 131, 0.10);
    color: #0f5a55;
    font-size: 12px;
    font-weight: 900;
}

.moderation-section {
    padding: 16px;
    display: grid;
    gap: 12px;
}

.moderation-section-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
}

.moderation-section-title span,
.moderation-muted {
    color: #6b746d;
    font-size: 13px;
    font-weight: 800;
}

.moderation-table-wrap {
    overflow-x: auto;
}

.moderation-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.moderation-table th,
.moderation-table td {
    padding: 9px 8px;
    border-bottom: 1px solid rgba(45, 75, 58, 0.10);
    text-align: left;
    vertical-align: top;
}

.moderation-table th {
    color: #0f5a55;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.moderation-table a {
    color: #0f5a55;
    font-weight: 900;
    text-decoration: none;
}

.moderation-inline-form {
    margin: 0;
}

.moderation-inline-form button {
    border: 1px solid rgba(190, 153, 78, 0.42);
    border-radius: 8px;
    padding: 6px 10px;
    background: linear-gradient(135deg, #1a7f73 0%, #0f5e58 100%);
    color: #fff7df;
    font-weight: 900;
    cursor: pointer;
}

.moderation-deleted-list {
    display: grid;
    gap: 10px;
}

.moderation-deleted-message {
    padding: 11px 12px;
    border-radius: 12px;
    background: rgba(247, 250, 245, 0.92);
    border: 1px solid rgba(45, 75, 58, 0.10);
}

.moderation-deleted-message header {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-bottom: 5px;
}

.moderation-deleted-message header strong {
    color: #0f5a55;
}

.moderation-deleted-message header span {
    color: #9a7130;
    font-size: 12px;
    font-weight: 900;
}

.moderation-deleted-message header time {
    margin-left: auto;
    color: #89928a;
    font-size: 12px;
    font-weight: 800;
}

.moderation-deleted-message p {
    margin: 0;
    color: #26312b;
}

.moderation-deleted-message footer {
    margin-top: 5px;
    color: #7a837b;
    font-size: 12px;
}

@media (max-width: 900px) {
    .moderation-grid {
        grid-template-columns: 1fr;
    }

    .moderation-hero {
        flex-direction: column;
    }
}
/* END_MODERATION_PANEL_V1 */

/* MODERATION_TOPBAR_LINK_V1 */
.moderation-box {
    border-color: rgba(190, 153, 78, 0.32) !important;
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.96), rgba(236, 247, 239, 0.94)) !important;
}

.moderation-box strong {
    color: #7b5a21 !important;
}

.moderation-box strong::before {
    content: "★";
    margin-right: 6px;
    color: #b88a2d;
    font-size: 12px;
}

/* MODERATION_TOPBAR_LINK_V2 */
.moderation-box {
    border-color: rgba(190, 153, 78, 0.34) !important;
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.96), rgba(230, 246, 241, 0.94)) !important;
}

.moderation-box strong {
    color: #7b5a21 !important;
    white-space: nowrap;
}

.moderation-box strong::before {
    content: "★";
    margin-right: 6px;
    color: #b88a2d;
    font-size: 12px;
}
/* END_MODERATION_TOPBAR_LINK_V2 */

/* REMOVE_MODERATION_TOPBAR_LINK_V1 */
.moderation-box {
    display: none !important;
}
/* END_REMOVE_MODERATION_TOPBAR_LINK_V1 */

/* STAFF_SIDEBAR_BLOCK_V1 */
.staff-sidebar-section {
    border: 1px solid rgba(190, 153, 78, 0.34) !important;
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.92), rgba(231, 246, 241, 0.90)) !important;
}

.staff-sidebar-section h3 {
    color: #7b5a21 !important;
}

.staff-sidebar-section h3::before {
    content: "★";
    margin-right: 6px;
    color: #b88a2d;
    font-size: 12px;
}

.staff-sidebar-section a {
    color: #0f5a55 !important;
    font-weight: 900 !important;
}
/* END_STAFF_SIDEBAR_BLOCK_V1 */

/* CHAT_REPORTS_V1 */
.ls-chat-message {
    padding-right: 82px !important;
}

.ls-chat-report-message {
    border: 1px solid rgba(29, 104, 96, 0.18) !important;
    background: rgba(240, 249, 246, 0.95) !important;
    color: #0f5a55 !important;
}

.ls-chat-report-message:hover {
    background: rgba(29, 104, 96, 0.12) !important;
    border-color: rgba(29, 104, 96, 0.32) !important;
}

.moderation-report-message {
    border-color: rgba(176, 126, 36, 0.20) !important;
    background:
        linear-gradient(135deg, rgba(255, 252, 242, 0.94), rgba(244, 250, 246, 0.94)) !important;
}

.moderation-report-message p strong {
    color: #0f5a55;
}

.moderation-report-form {
    margin-top: 9px;
}
/* END_CHAT_REPORTS_V1 */

/* MODERATION_TABS_V1 */
.moderation-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border-radius: 14px;
    border: 1px solid rgba(45, 75, 58, 0.12);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 20px rgba(30, 50, 35, 0.04);
}

.moderation-tabs button {
    min-height: 34px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(29, 104, 96, 0.18);
    background: rgba(249, 253, 250, 0.96);
    color: #315149;
    font-weight: 900;
    cursor: pointer;
}

.moderation-tabs button.active {
    background: linear-gradient(135deg, #0f4f4d 0%, #1f7b72 100%);
    border-color: rgba(204, 163, 76, 0.45);
    color: #fff7df;
    box-shadow: 0 8px 18px rgba(12, 61, 56, 0.14);
}

.moderation-tabs button:hover {
    border-color: rgba(204, 163, 76, 0.45);
}

.moderation-tab-panel {
    display: none !important;
}

.moderation-tab-panel.is-active {
    display: grid !important;
}
/* END_MODERATION_TABS_V1 */

/* FORUM_BANS_PANEL_V1 */
.forum-ban-panel-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(320px, 1.25fr);
    gap: 14px;
}

.forum-ban-panel-card {
    border-radius: 14px;
    border: 1px solid rgba(45, 75, 58, 0.12);
    background: rgba(247, 250, 245, 0.92);
    padding: 14px;
}

.forum-ban-panel-card h3 {
    margin: 0 0 12px;
    color: #263a31;
}

.forum-ban-panel-form {
    display: grid;
    gap: 10px;
}

.forum-ban-panel-form label {
    display: grid;
    gap: 5px;
    color: #53645d;
    font-size: 13px;
    font-weight: 900;
}

.forum-ban-panel-form input,
.forum-ban-panel-form select,
.forum-ban-panel-form textarea,
.forum-ban-lift-inline input {
    width: 100%;
    border-radius: 9px;
    border: 1px solid rgba(35, 54, 40, 0.18);
    background: #ffffff;
    color: #1f2d22;
    padding: 8px 9px;
}

.forum-ban-panel-form textarea {
    resize: vertical;
}

.forum-ban-panel-form button,
.forum-ban-lift-inline button {
    border: 1px solid rgba(190, 153, 78, 0.42);
    border-radius: 9px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #1a7f73 0%, #0f5e58 100%);
    color: #fff7df;
    font-weight: 900;
    cursor: pointer;
}

.forum-ban-panel-list {
    display: grid;
    gap: 10px;
}

.forum-ban-panel-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(45, 75, 58, 0.10);
}

.forum-ban-panel-row strong a {
    color: #0f5a55;
    text-decoration: none;
}

.forum-ban-panel-row span {
    display: block;
    margin-top: 3px;
    color: #7a837b;
    font-size: 12px;
    font-weight: 800;
}

.forum-ban-panel-row p {
    margin: 7px 0 0;
    color: #26312b;
}

.forum-ban-lift-inline {
    display: grid;
    gap: 6px;
    align-content: start;
    margin: 0;
}

@media (max-width: 1000px) {
    .forum-ban-panel-grid,
    .forum-ban-panel-row {
        grid-template-columns: 1fr;
    }
}
/* END_FORUM_BANS_PANEL_V1 */

/* FORUM_REPORTS_PANEL_V1 */
.moderation-forum-report-message {
    border-color: rgba(29, 104, 96, 0.18) !important;
    background:
        linear-gradient(135deg, rgba(250, 254, 251, 0.96), rgba(239, 249, 244, 0.94)) !important;
}

.moderation-forum-report-message a {
    color: #0f5a55;
    font-weight: 900;
    text-decoration: none;
}

.forum-report-action-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}

.forum-report-action-form input {
    min-height: 34px;
    border-radius: 8px;
    border: 1px solid rgba(35, 54, 40, 0.18);
    background: #ffffff;
    padding: 7px 9px;
}

.forum-report-action-form button.is-secondary {
    background: linear-gradient(135deg, #eef4ef, #dce9df) !important;
    color: #315149 !important;
}

@media (max-width: 800px) {
    .forum-report-action-form {
        grid-template-columns: 1fr;
    }
}
/* END_FORUM_REPORTS_PANEL_V1 */

/* PLAYER_SEARCH_PANEL_V1 */
.moderation-player-search-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.moderation-player-search-form input {
    min-height: 38px;
    border-radius: 10px;
    border: 1px solid rgba(35, 54, 40, 0.18);
    background: #ffffff;
    color: #1f2d22;
    padding: 8px 10px;
}

.moderation-player-search-form button,
.moderation-player-card header a {
    border: 1px solid rgba(190, 153, 78, 0.42);
    border-radius: 10px;
    padding: 9px 13px;
    background: linear-gradient(135deg, #1a7f73 0%, #0f5e58 100%);
    color: #fff7df;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.moderation-player-results {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.moderation-player-result {
    display: inline-grid;
    gap: 2px;
    padding: 8px 11px;
    border-radius: 12px;
    border: 1px solid rgba(45, 75, 58, 0.12);
    background: rgba(255,255,255,0.78);
    text-decoration: none;
}

.moderation-player-result.is-active {
    border-color: rgba(190, 153, 78, 0.46);
    background: linear-gradient(135deg, rgba(255, 250, 235, 0.96), rgba(230, 246, 241, 0.94));
}

.moderation-player-result strong {
    color: #0f5a55;
    font-size: 13px;
}

.moderation-player-result span {
    color: #6b746d;
    font-size: 11px;
    font-weight: 800;
}

.moderation-player-card {
    display: grid;
    gap: 14px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(190, 153, 78, 0.24);
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 149, 131, 0.08), transparent 30%),
        rgba(255,255,255,0.84);
}

.moderation-player-card header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.moderation-player-card header span {
    display: block;
    color: #0f5a55;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.moderation-player-card h3 {
    margin: 2px 0 4px;
    color: #263a31;
    font-size: 24px;
}

.moderation-player-card p {
    margin: 0;
    color: #637066;
}

.moderation-player-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.moderation-player-grid section {
    display: grid;
    gap: 8px;
    align-content: start;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(45, 75, 58, 0.10);
    background: rgba(247, 250, 245, 0.84);
}

.moderation-player-grid h4 {
    margin: 0;
    color: #263a31;
}

.moderation-player-minirow {
    display: grid;
    gap: 3px;
    padding: 8px 9px;
    border-radius: 10px;
    background: rgba(255,255,255,0.80);
    border: 1px solid rgba(45, 75, 58, 0.08);
}

.moderation-player-minirow strong {
    color: #0f5a55;
    font-size: 13px;
}

.moderation-player-minirow span {
    color: #7a837b;
    font-size: 12px;
    font-weight: 800;
}

.moderation-player-minirow p {
    color: #303a34;
    font-size: 13px;
}

@media (max-width: 900px) {
    .moderation-player-grid {
        grid-template-columns: 1fr;
    }

    .moderation-player-card header,
    .moderation-player-search-form {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }
}
/* END_PLAYER_SEARCH_PANEL_V1 */


/* =========================================================
   Raswedstrijden - gebruikt gewone competitie layout
   ========================================================= */

.breed-competitions-page {
    max-width: 1120px;
    margin: 0 auto;
}

.breed-competitions-page .competition-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.breed-competition-time {
    flex: 0 0 auto;
    text-align: right;
    color: #4f5b52;
    font-size: 12px;
    font-weight: 800;
}

.breed-competition-time span {
    display: block;
    margin-bottom: 4px;
    color: #7c8378;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 10px;
}

.breed-competition-time strong {
    display: block;
    color: #28342d;
    font-size: 15px;
}

.breed-competition-panel {
    display: none;
}

.breed-competition-panel.active {
    display: block;
}

.breed-competition-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px 0;
}

.breed-competition-panel-title h2 {
    margin: 0;
    color: #2e342e;
    font-size: 19px;
    font-weight: 900;
}

.breed-competition-panel-title span {
    color: #667064;
    font-size: 12px;
    font-weight: 800;
}

.breed-competition-table-wrap {
    margin-top: 14px;
}

.breed-competition-number {
    width: 54px;
    text-align: center;
    font-weight: 900;
    color: #6b5c42;
}

.breed-competition-breed strong {
    display: block;
    color: #2f342f;
    font-weight: 900;
}

.breed-competition-breed small,
.breed-competition-muted {
    display: block;
    margin-top: 3px;
    color: #70776d;
    font-size: 12px;
    font-weight: 700;
}

.breed-competition-horse-cell {
    min-width: 230px;
}

.breed-competition-table-form,
.breed-competition-action-form {
    margin: 0;
}

.breed-competition-table-form select,
.breed-competition-action-form select {
    width: 100%;
    max-width: 230px;
    min-height: 32px;
    border-radius: 8px;
    border: 1px solid rgba(45, 60, 45, 0.14);
    background: rgba(255,255,255,0.72);
    color: #2f342f;
    padding: 6px 9px;
    font-size: 12px;
}

.breed-competition-mobile-select {
    display: none !important;
}

.breed-competition-action-cell {
    width: 120px;
}

.breed-competition-results-cell {
    min-width: 210px;
}

.breed-competition-mini-results {
    display: grid;
    gap: 4px;
}

.breed-competition-mini-results div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #30362f;
    font-size: 12px;
}

.breed-competition-mini-results strong {
    color: #30362f;
    font-weight: 900;
}

.breed-competition-mini-results span {
    color: #7a643d;
    font-weight: 900;
}

@media (max-width: 900px) {
    .breed-competitions-page .competition-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .breed-competition-time {
        text-align: left;
    }

    .breed-competition-table {
        min-width: 820px;
    }
}

/* =========================================================
   Raswedstrijden - banner fix V1
   ========================================================= */

.breed-competitions-page .competition-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(70, 88, 64, 0.16) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 92% 18%, rgba(123, 148, 105, 0.18) 0%, rgba(123, 148, 105, 0) 34%),
        linear-gradient(135deg, #f7f0e3 0%, #f9f6ee 48%, #e6ecda 100%) !important;
    box-shadow: 0 12px 26px rgba(45, 60, 45, 0.07) !important;
    padding: 24px 28px !important;
    margin-bottom: 18px !important;
}

.breed-competitions-page .competition-hero::after {
    content: "🏇";
    position: absolute;
    right: 28px;
    top: 18px;
    font-size: 64px;
    opacity: 0.10;
    transform: rotate(-7deg);
    pointer-events: none;
}

.breed-competitions-page .competition-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 7px;
    color: #6f765f !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.breed-competitions-page .competition-hero h1 {
    color: #26342c !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    margin: 0 0 7px !important;
}

.breed-competitions-page .competition-hero p {
    max-width: 760px;
    color: #555e50 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

.breed-competitions-page .breed-competition-time {
    position: relative;
    z-index: 1;
    padding: 10px 13px;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.46);
    border: 1px solid rgba(70, 88, 64, 0.12);
}

@media (max-width: 900px) {
    .breed-competitions-page .competition-hero {
        padding: 20px !important;
    }

    .breed-competitions-page .competition-hero::after {
        right: 18px;
        top: 16px;
        font-size: 46px;
    }
}

/* =========================================================
   Mijn Stal - SBL namen groen zoals klassieke paardenspellen
   ========================================================= */

.stable-sbl-name,
.stable-sbl-name:visited,
.stable-sbl-name a,
a.stable-sbl-name,
.stable-horse-name.stable-sbl-name {
    color: #2faa45 !important;
    font-weight: 800 !important;
}

.stable-sbl-name:hover,
.stable-sbl-name a:hover,
a.stable-sbl-name:hover {
    color: #228c38 !important;
    text-decoration: underline;
}

/* SBL naamkleur iets lichter/feller in Mijn Stal */
.stable-sbl-name,
.stable-sbl-name:visited,
.stable-sbl-name a,
a.stable-sbl-name,
.stable-horse-name.stable-sbl-name {
    color: #37c857 !important;
    font-weight: 900 !important;
}

.stable-sbl-name:hover,
.stable-sbl-name a:hover,
a.stable-sbl-name:hover {
    color: #22a943 !important;
    text-decoration: underline;
}

/* =========================================================
   Globale SBL paardennaamkleur
   SBL moet overal dezelfde groene naamkleur gebruiken.
   ========================================================= */

:root {
    --ls-sbl-name-green: #37c857;
    --ls-sbl-name-green-hover: #22a943;
}

.ls-sbl-name,
.ls-sbl-name:visited,
.ls-sbl-name a,
a.ls-sbl-name,
.stable-sbl-name,
.stable-sbl-name:visited,
.stable-sbl-name a,
a.stable-sbl-name,
.stable-horse-name.stable-sbl-name,
.horse-sbl-title,
.horse-showcase-title.horse-sbl-title,
.horse-name-sbl,
.sbl-horse-name {
    color: var(--ls-sbl-name-green) !important;
    font-weight: 900 !important;
}

.ls-sbl-name:hover,
.ls-sbl-name a:hover,
a.ls-sbl-name:hover,
.stable-sbl-name:hover,
.stable-sbl-name a:hover,
a.stable-sbl-name:hover,
.horse-sbl-title:hover,
.horse-name-sbl:hover,
.sbl-horse-name:hover {
    color: var(--ls-sbl-name-green-hover) !important;
    text-decoration: underline;
}

.ls-sbl-badge,
.stable-sbl-badge,
.horse-sbl-badge {
    color: var(--ls-sbl-name-green) !important;
    font-weight: 900 !important;
}

/* =========================================================
   Live chat - systeemmeldingen
   ========================================================= */

.ls-chat-system-message {
    margin: 7px 6px;
    padding: 0;
}

.ls-chat-system-content {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    border-radius: 10px;
    border: 1px solid rgba(55, 200, 87, 0.24);
    background: rgba(55, 200, 87, 0.10);
    color: #26452e;
    font-size: 12px;
    line-height: 1.35;
}

.ls-chat-system-icon {
    font-size: 14px;
}

.ls-chat-system-text {
    font-weight: 800;
}

.ls-chat-system-time {
    color: #667063;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

/* Raswedstrijd resultaten view */
.breed-competition-result-banner {
    background:
        linear-gradient(90deg, rgba(247, 240, 227, 0.96) 0%, rgba(250, 247, 239, 0.96) 52%, rgba(225, 235, 216, 0.96) 100%);
    border-radius: 16px;
    border: 1px solid rgba(45, 60, 45, 0.12);
    padding: 24px 28px;
    margin-bottom: 18px;
}

.breed-competition-result-banner-inner h1 {
    margin: 4px 0 6px;
}

.breed-competition-result-link {
    margin-bottom: 8px;
}

.breed-competition-results-table .ls-sbl-name {
    color: var(--ls-sbl-name-green, #37c857) !important;
}

/* =========================================================
   Console chat - system messages normaal in de berichtenlijst
   ========================================================= */

.ls-chat-system-message,
.ls-chat-message.message-type-system,
.ls-chat-message[data-message-type="system"],
.ls-chat-message.system,
.ls-chat-message.type-system {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: auto !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    margin: 6px 0 !important;
}

.ls-chat-system-content {
    position: static !important;
    transform: none !important;
    width: auto !important;
    max-width: 100% !important;
}

.ls-chat-messages {
    scroll-behavior: smooth;
    overflow-y: auto !important;
}

/* Chat fix: systeemmeldingen gedragen zich als normale chatberichten */
.ls-chat-message.message-type-system,
.ls-chat-message[data-message-type="system"],
.ls-chat-message.system,
.ls-chat-message.type-system,
.ls-chat-system-message,
.ls-chat-system-content {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: auto !important;
    width: auto !important;
    max-width: 100% !important;
}

.ls-chat-messages {
    overflow-y: auto !important;
    scroll-behavior: smooth;
}

/* =========================================================
   Klusjes V1
   ========================================================= */

.chores-page {
    padding: 28px;
}

.chores-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 24px 28px;
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(246, 241, 229, 0.96), rgba(232, 240, 222, 0.94));
    border: 1px solid rgba(58, 77, 50, 0.14);
    box-shadow: 0 14px 35px rgba(41, 49, 35, 0.08);
    margin-bottom: 18px;
}

.chores-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #65745a;
    font-weight: 800;
    margin-bottom: 5px;
}

.chores-hero h1 {
    margin: 0 0 6px;
    font-size: 32px;
    color: #263128;
}

.chores-hero p {
    margin: 0;
    max-width: 740px;
    color: #5d6658;
    line-height: 1.55;
}

.chores-hero-stat {
    min-width: 190px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(33, 49, 38, 0.92);
    color: #fff;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.chores-hero-stat strong {
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
}

.chores-hero-stat span {
    font-size: 12px;
    opacity: 0.86;
}

.chores-alert {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 700;
}

.chores-alert.success {
    background: #eaf5e7;
    color: #315f2d;
    border: 1px solid rgba(49, 95, 45, 0.18);
}

.chores-alert.error {
    background: #f8e8e5;
    color: #87352c;
    border: 1px solid rgba(135, 53, 44, 0.18);
}

.chores-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.chores-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 15px;
    border-radius: 14px 14px 6px 6px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(56, 69, 49, 0.14);
    color: #344035;
    font-weight: 800;
    text-decoration: none;
    transition: 0.18s ease;
}

.chores-tab small {
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(58, 84, 51, 0.10);
    color: #65745a;
    font-size: 11px;
}

.chores-tab:hover,
.chores-tab.active {
    background: #2d3c35;
    color: #fff;
    transform: translateY(-1px);
}

.chores-tab.active small,
.chores-tab:hover small {
    background: rgba(255,255,255,0.16);
    color: #fff;
}

.chores-table-card {
    border-radius: 22px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(56, 69, 49, 0.12);
    box-shadow: 0 14px 32px rgba(41, 49, 35, 0.07);
    overflow: hidden;
}

.chores-table-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(56, 69, 49, 0.10);
    background: rgba(246, 242, 231, 0.72);
}

.chores-table-header h2 {
    margin: 0 0 4px;
    color: #2d342d;
    font-size: 24px;
}

.chores-table-header p {
    margin: 0;
    color: #687064;
}

.chores-table-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.chores-table-meta span {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(45, 60, 53, 0.08);
    color: #4f5b4e;
    font-size: 12px;
    font-weight: 800;
}

.chores-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.chores-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.chores-table th {
    text-align: left;
    padding: 13px 18px;
    background: rgba(45, 60, 53, 0.10);
    color: #465143;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 11px;
}

.chores-table td {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(56, 69, 49, 0.09);
    vertical-align: middle;
    color: #333b34;
}

.chores-table td strong {
    display: block;
}

.chores-table td small {
    display: block;
    margin-top: 4px;
    color: #737d6d;
}

.chore-row-locked {
    opacity: 0.48;
}

.chore-row-complete {
    background: rgba(232, 241, 225, 0.48);
}

.chore-row-updated {
    animation: choreRowPulse 1.2s ease;
}

@keyframes choreRowPulse {
    0% { background: rgba(82, 164, 89, 0.20); }
    100% { background: transparent; }
}

.chore-progress-info {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
    margin-bottom: 7px;
}

.chore-progress-info strong,
.chore-progress-info span {
    font-size: 12px;
    color: #4f5b4e;
}

.chore-progress-bar {
    width: 100%;
    height: 9px;
    border-radius: 999px;
    background: rgba(48, 64, 50, 0.12);
    overflow: hidden;
}

.chore-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #78956b, #9cb383);
    transition: width 0.25s ease;
}

.chore-action-button {
    border: none;
    border-radius: 12px;
    padding: 10px 16px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    min-width: 110px;
    box-shadow: 0 8px 18px rgba(45, 60, 53, 0.18);
}

.chore-action-button:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #25332d;
}

.chore-action-button:disabled {
    cursor: not-allowed;
    opacity: 0.58;
    box-shadow: none;
}

@media (max-width: 900px) {
    .chores-page {
        padding: 18px;
    }

    .chores-hero,
    .chores-table-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .chores-hero-stat {
        width: 100%;
    }
}

/* =========================================================
   Baantje placeholder
   ========================================================= */

.jobs-page {
    padding: 28px;
}

.jobs-hero {
    padding: 24px 28px;
    border-radius: 22px;
    background: linear-gradient(90deg, rgba(246, 241, 229, 0.96), rgba(232, 240, 222, 0.94));
    border: 1px solid rgba(58, 77, 50, 0.14);
    box-shadow: 0 14px 35px rgba(41, 49, 35, 0.08);
    margin-bottom: 18px;
}

.jobs-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #65745a;
    font-weight: 800;
    margin-bottom: 5px;
}

.jobs-hero h1 {
    margin: 0 0 6px;
    font-size: 32px;
    color: #263128;
}

.jobs-hero p,
.jobs-placeholder-card p {
    margin: 0;
    color: #5d6658;
    line-height: 1.55;
}

.jobs-placeholder-card {
    border-radius: 22px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(56, 69, 49, 0.12);
    box-shadow: 0 14px 32px rgba(41, 49, 35, 0.07);
    padding: 24px;
}

.jobs-placeholder-card h2 {
    margin: 0 0 8px;
}

.jobs-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.jobs-placeholder-grid div {
    padding: 15px;
    border-radius: 16px;
    background: rgba(45, 60, 53, 0.07);
    border: 1px solid rgba(45, 60, 53, 0.08);
}

.jobs-placeholder-grid strong,
.jobs-placeholder-grid span {
    display: block;
}

.jobs-placeholder-grid span {
    margin-top: 4px;
    color: #687064;
    font-size: 13px;
}

/* =========================================================
   Sidebar Werk-sectie fix
   Zorgt dat nieuw blok Werk dezelfde groene kopstijl krijgt
   ========================================================= */

.sidebar .sidebar-section {
    background: rgba(255, 255, 255, 0.62);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid rgba(47, 66, 41, 0.10);
}

.sidebar .sidebar-section .sidebar-title {
    display: block;
    padding: 12px 16px;
    background: linear-gradient(180deg, #5f7c3f 0%, #304b20 100%);
    color: #ffffff !important;
    font-weight: 900;
    font-size: 15px;
    border-radius: 0;
}

.sidebar .sidebar-section a {
    display: block;
    padding: 11px 18px;
    color: #2d352c;
    font-weight: 700;
    text-decoration: none;
}

.sidebar .sidebar-section a:hover {
    background: rgba(79, 111, 55, 0.10);
    color: #23351d;
}

/* Sidebar Werk/sectie koppen iets lichter maken */
.sidebar .sidebar-section .sidebar-title {
    background: linear-gradient(180deg, #78965a 0%, #55733b 100%) !important;
    color: #ffffff !important;
}

/* Iets zachtere rand/achtergrond voor nieuwe sidebar-secties */
.sidebar .sidebar-section {
    background: rgba(255, 255, 255, 0.68) !important;
    border: 1px solid rgba(75, 99, 54, 0.10) !important;
}

/* Sidebar kopjes: frisser groen, minder vaal */
.sidebar .sidebar-section .sidebar-title {
    background: linear-gradient(180deg, #7fa45a 0%, #5f873f 100%) !important;
    color: #ffffff !important;
    text-shadow: 0 1px 1px rgba(0,0,0,0.18);
}

/* Werk-blok net iets cleaner laten aansluiten */
.sidebar .sidebar-section {
    background: rgba(255, 255, 255, 0.72) !important;
}

/* =========================================================
   Level-up modal V1
   ========================================================= */

body.ls-levelup-open {
    overflow: hidden;
}

.ls-levelup-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(20, 28, 20, 0.52);
    backdrop-filter: blur(5px);
}

.ls-levelup-modal-backdrop[hidden] {
    display: none !important;
}

.ls-levelup-modal {
    position: relative;
    width: min(520px, 94vw);
    border-radius: 28px;
    padding: 34px;
    background:
        radial-gradient(circle at top right, rgba(190, 217, 146, 0.32), transparent 36%),
        linear-gradient(180deg, #fffaf0 0%, #eef5e7 100%);
    border: 1px solid rgba(54, 77, 42, 0.18);
    box-shadow: 0 28px 90px rgba(16, 24, 16, 0.34);
    text-align: center;
    animation: lsLevelPop 0.28s ease-out;
}

@keyframes lsLevelPop {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ls-levelup-close {
    position: absolute;
    top: 14px;
    right: 16px;
    border: none;
    background: rgba(45, 60, 53, 0.10);
    color: #2d3c35;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.ls-levelup-kicker {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(91, 125, 59, 0.12);
    color: #55733b;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.ls-levelup-modal h2 {
    margin: 0 0 10px;
    color: #243226;
    font-size: 30px;
}

.ls-levelup-modal p {
    margin: 0 auto 18px;
    color: #5f6a5c;
    line-height: 1.55;
}

.ls-levelup-reward {
    margin: 16px auto 22px;
    display: inline-flex;
    padding: 12px 18px;
    border-radius: 16px;
    background: rgba(45, 60, 53, 0.09);
    color: #2d3c35;
    font-weight: 900;
}

.ls-levelup-button {
    border: none;
    border-radius: 14px;
    padding: 12px 22px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 25px rgba(45, 60, 53, 0.22);
}

.ls-levelup-button.secondary {
    background: #55733b;
}

.ls-levelup-button:hover {
    transform: translateY(-1px);
}

.ls-levelup-suspense {
    font-weight: 700;
}

.ls-levelup-reveal-card {
    margin: 18px auto 22px;
    padding: 20px;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.88), rgba(238,247,232,0.94));
    border: 1px solid rgba(55, 200, 87, 0.28);
    box-shadow: 0 18px 40px rgba(55, 200, 87, 0.16);
}

.ls-levelup-sbl-label {
    display: block;
    color: #37c857;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
}

.ls-levelup-reveal-card strong {
    display: block;
    font-size: 28px;
    color: #37c857;
    font-weight: 1000;
}

.ls-levelup-reveal-card small {
    display: block;
    margin-top: 6px;
    color: #5c6a59;
    font-weight: 700;
}

/* =========================================================
   Echte Level Up Popup V2
   ========================================================= */

body.ls-levelup-v2-open {
    overflow: hidden !important;
}

.ls-levelup-v2-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(25, 32, 25, 0.48);
    backdrop-filter: blur(5px);
}

.ls-levelup-v2-backdrop.is-visible {
    display: flex !important;
}

.ls-levelup-v2-modal {
    position: relative;
    width: min(430px, 94vw);
    min-height: 300px;
    padding: 38px 34px 30px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top, rgba(220, 173, 92, 0.18), transparent 36%),
        linear-gradient(180deg, rgba(255, 252, 244, 0.98), rgba(242, 247, 235, 0.98));
    border: 1px solid rgba(111, 87, 42, 0.18);
    box-shadow:
        0 30px 90px rgba(18, 26, 18, 0.32),
        inset 0 0 0 1px rgba(255,255,255,0.72);
    text-align: center;
    animation: lsLevelupV2Pop 0.24s ease-out;
}

@keyframes lsLevelupV2Pop {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ls-levelup-v2-glow {
    position: absolute;
    top: -34px;
    left: 50%;
    width: 130px;
    height: 130px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(219, 166, 76, 0.38), transparent 68%);
    pointer-events: none;
}

.ls-levelup-v2-x {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 999px;
    background: rgba(49, 58, 46, 0.10);
    color: #394337;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.ls-levelup-v2-kicker {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(196, 144, 59, 0.13);
    color: #b77a22;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.ls-levelup-v2-modal h2 {
    margin: 0 0 12px;
    color: #b77a22;
    font-size: 31px;
    line-height: 1.1;
    font-weight: 1000;
}

.ls-levelup-v2-modal p {
    margin: 0 auto 13px;
    color: #566052;
    line-height: 1.5;
    font-weight: 650;
}

.ls-levelup-v2-reward {
    margin: 15px auto 16px;
    padding: 12px 16px;
    border-radius: 16px;
    background: rgba(183, 122, 34, 0.10);
    color: #9d681d;
    font-weight: 900;
}

.ls-levelup-v2-sbl {
    margin: 16px auto 18px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(55, 200, 87, 0.08);
    border: 1px solid rgba(55, 200, 87, 0.24);
}

.ls-levelup-v2-sbl span {
    display: block;
    margin-bottom: 5px;
    color: #37a94f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.ls-levelup-v2-sbl strong {
    display: block;
    color: #37c857;
    font-size: 20px;
    font-weight: 1000;
}

.ls-levelup-v2-sbl small {
    display: block;
    margin-top: 4px;
    color: #52604f;
    font-weight: 700;
}

.ls-levelup-v2-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.ls-levelup-v2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 112px;
    border: none;
    border-radius: 14px;
    padding: 11px 18px;
    background: #2d3c35;
    color: #fff !important;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 22px rgba(45, 60, 53, 0.20);
}

.ls-levelup-v2-button.secondary {
    background: #c28a35;
}

.ls-levelup-v2-button:hover {
    transform: translateY(-1px);
}

/* =========================================================
   Paarden levensfase V1
   ========================================================= */

.horse-life-stage-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 8px 0 10px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(237, 243, 228, 0.92);
    border: 1px solid rgba(89, 120, 67, 0.18);
    color: #465641;
    box-shadow: 0 8px 18px rgba(45, 60, 53, 0.07);
}

.horse-life-stage-pill span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    font-weight: 900;
    color: #73805f;
}

.horse-life-stage-pill strong {
    font-size: 14px;
    color: #2d3c35;
    font-weight: 1000;
}

.horse-life-stage-newborn,
.horse-life-stage-young_foal,
.horse-life-stage-foal {
    background: rgba(250, 244, 229, 0.96);
    border-color: rgba(196, 144, 59, 0.22);
}

.horse-life-stage-senior,
.horse-life-stage-elder {
    background: rgba(239, 238, 232, 0.96);
    border-color: rgba(91, 91, 82, 0.18);
}

/* Oude lifecycle-pil onder paardennaam uit V1 niet meer gebruiken */
.horse-life-stage-pill {
    display: none !important;
}

/* =========================================================
   Valle Sereno V1
   ========================================================= */

.valle-sereno-page {
    padding: 28px;
}

.valle-hero {
    position: relative;
    min-height: 330px;
    display: grid;
    place-items: center;
    border-radius: 30px;
    margin-bottom: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at top, rgba(245, 220, 164, 0.34), transparent 36%),
        linear-gradient(135deg, rgba(244, 238, 220, 0.96), rgba(221, 235, 210, 0.95)),
        linear-gradient(180deg, #f8f2e6, #e6efdc);
    border: 1px solid rgba(91, 113, 62, 0.16);
    box-shadow: 0 22px 60px rgba(31, 44, 30, 0.12);
}

.valle-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.34), transparent 35%, rgba(255,255,255,0.20)),
        radial-gradient(circle at 18% 85%, rgba(118, 146, 86, 0.18), transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(194, 138, 53, 0.13), transparent 24%);
    pointer-events: none;
}

.valle-hero-inner {
    position: relative;
    max-width: 820px;
    padding: 44px 38px;
    text-align: center;
}

.valle-kicker {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(92, 122, 68, 0.12);
    color: #55733b;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.valle-hero h1 {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    font-weight: 700;
    color: #334128;
    letter-spacing: 0.02em;
}

.valle-story {
    margin: 0 auto;
    max-width: 760px;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 19px;
    line-height: 1.85;
    color: #4f5a45;
}

.valle-story.small {
    margin-top: 18px;
    max-width: 680px;
    font-size: 15px;
    line-height: 1.7;
    color: #697260;
}

.valle-alert {
    margin: 0 0 16px;
    padding: 13px 16px;
    border-radius: 16px;
    font-weight: 800;
}

.valle-alert.success {
    background: #e9f5e5;
    color: #315f2d;
    border: 1px solid rgba(49, 95, 45, 0.18);
}

.valle-alert.error {
    background: #f7e7e3;
    color: #87352c;
    border: 1px solid rgba(135, 53, 44, 0.18);
}

.valle-send-card,
.valle-residents-card {
    border-radius: 24px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(57, 73, 50, 0.12);
    box-shadow: 0 14px 34px rgba(31, 44, 30, 0.07);
    padding: 24px;
    margin-bottom: 20px;
}

.valle-send-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
}

.valle-send-card h2,
.valle-residents-card h2 {
    margin: 0 0 8px;
    color: #2e3b2d;
}

.valle-send-card p,
.valle-residents-card p,
.valle-empty {
    margin: 0;
    color: #66705f;
    line-height: 1.55;
}

.valle-send-form {
    display: grid;
    gap: 12px;
}

.valle-send-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
    color: #44513e;
}

.valle-send-form select {
    width: 100%;
    border: 1px solid rgba(57, 73, 50, 0.18);
    border-radius: 14px;
    padding: 11px 12px;
    background: rgba(255,255,255,0.88);
    color: #2f382f;
}

.valle-confirm {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px !important;
    font-size: 13px;
    color: #6b5a40 !important;
}

.valle-confirm input {
    width: 16px;
    height: 16px;
}

.valle-send-form button {
    border: none;
    border-radius: 14px;
    padding: 12px 18px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(45, 60, 53, 0.20);
}

.valle-send-form button:hover {
    transform: translateY(-1px);
    background: #25332d;
}

.valle-section-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
}

.valle-section-header span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(45, 60, 53, 0.08);
    color: #52604f;
    font-weight: 900;
    font-size: 12px;
}

.valle-resident-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.valle-resident-card {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-radius: 20px;
    background: rgba(245, 241, 230, 0.78);
    border: 1px solid rgba(57, 73, 50, 0.10);
}

.valle-resident-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    background: rgba(92, 122, 68, 0.12);
    font-size: 22px;
}

.valle-resident-card h3 {
    margin: 0 0 4px;
    font-size: 17px;
}

.valle-resident-card h3 a {
    color: #2f3c2c;
    text-decoration: none;
}

.valle-resident-card h3 a:hover {
    text-decoration: underline;
}

.valle-resident-card p {
    font-size: 13px;
}

.valle-resident-card small {
    display: block;
    margin-top: 5px;
    color: #7a826f;
    font-size: 12px;
}

@media (max-width: 900px) {
    .valle-sereno-page {
        padding: 18px;
    }

    .valle-send-card {
        grid-template-columns: 1fr;
    }

    .valle-resident-grid {
        grid-template-columns: 1fr;
    }

    .valle-hero h1 {
        font-size: 36px;
    }

    .valle-story {
        font-size: 17px;
    }
}

/* =========================================================
   Opfok & zadelmak V2
   ========================================================= */

.opfok-page {
    padding: 28px;
}

.opfok-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 24px 28px;
    border-radius: 24px;
    background: linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 16px;
}

.opfok-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.opfok-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 32px;
}

.opfok-hero p {
    margin: 0;
    max-width: 760px;
    color: #5d6658;
    line-height: 1.55;
}

.opfok-hero-note {
    min-width: 180px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
}

.opfok-hero-note strong,
.opfok-hero-note span {
    display: block;
}

.opfok-hero-note strong {
    font-size: 26px;
}

.opfok-hero-note span {
    margin-top: 4px;
    font-size: 12px;
    opacity: .86;
}

.opfok-alert {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 800;
}

.opfok-alert.success {
    background: #eaf5e7;
    color: #315f2d;
    border: 1px solid rgba(49,95,45,.18);
}

.opfok-alert.error {
    background: #f8e8e5;
    color: #87352c;
    border: 1px solid rgba(135,53,44,.18);
}

.opfok-empty,
.opfok-table-card {
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 22px;
}

.opfok-table-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 14px;
}

.opfok-table-head h2 {
    margin: 0;
    color: #263128;
}

.opfok-table-head span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.opfok-table-wrap {
    overflow-x: auto;
}

.opfok-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.opfok-table th {
    text-align: left;
    padding: 12px 14px;
    background: rgba(45,60,53,.10);
    color: #465143;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 11px;
}

.opfok-table td {
    padding: 14px;
    border-bottom: 1px solid rgba(56,69,49,.09);
    vertical-align: middle;
    color: #333b34;
}

.opfok-table td strong,
.opfok-table td small {
    display: block;
}

.opfok-table td small {
    margin-top: 4px;
    color: #727b6c;
    font-size: 12px;
}

.opfok-horse-link {
    color: #2d3c35;
    font-weight: 900;
    text-decoration: none;
}

.opfok-horse-link:hover {
    text-decoration: underline;
}

.opfok-action-select {
    width: 100%;
    min-width: 190px;
    border: 1px solid rgba(56,69,49,.16);
    border-radius: 12px;
    padding: 9px 10px;
    background: rgba(255,255,255,.88);
    color: #2d3c35;
    font-weight: 800;
}

.opfok-mini-bar,
.opfok-progress-bar {
    height: 9px;
    border-radius: 999px;
    background: rgba(48,64,50,.12);
    overflow: hidden;
    margin-top: 8px;
}

.opfok-mini-bar span,
.opfok-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #78956b, #9cb383);
    transition: width .25s ease;
}

.opfok-progress-info {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.opfok-action-form button,
.opfok-saddle-form button {
    min-width: 110px;
    border: none;
    border-radius: 12px;
    padding: 10px 13px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.opfok-saddle-form button {
    background: #55733b;
}

.opfok-action-form button:disabled,
.opfok-saddle-form button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .opfok-page {
        padding: 18px;
    }

    .opfok-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .opfok-hero-note {
        width: 100%;
    }
}

/* =========================================================
   Opfok tabjes per actie V1
   ========================================================= */

.opfok-action-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.opfok-action-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 14px 14px 7px 7px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.14);
    color: #344035;
    font-weight: 900;
    text-decoration: none;
    transition: .18s ease;
}

.opfok-action-tabs a small {
    min-width: 24px;
    text-align: center;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(58,84,51,.10);
    color: #65745a;
    font-size: 11px;
}

.opfok-action-tabs a:hover,
.opfok-action-tabs a.active {
    background: #2d3c35;
    color: #fff;
    transform: translateY(-1px);
}

.opfok-action-tabs a:hover small,
.opfok-action-tabs a.active small {
    background: rgba(255,255,255,.16);
    color: #fff;
}

.opfok-table-head p {
    margin: 4px 0 0;
    color: #687064;
    line-height: 1.45;
}

.opfok-tabs-table {
    min-width: 920px;
}

/* =========================================================
   Zadelmak-maker baanpagina V1
   ========================================================= */

.saddle-trainer-page {
    padding: 28px;
}

.saddle-trainer-hero,
.saddle-trainer-card {
    border-radius: 24px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 24px;
    margin-bottom: 18px;
}

.saddle-trainer-hero {
    background: linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
}

.saddle-trainer-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.saddle-trainer-hero h1,
.saddle-trainer-card h2 {
    margin: 0 0 8px;
    color: #263128;
}

.saddle-trainer-hero p,
.saddle-trainer-card p {
    margin: 0;
    color: #5d6658;
    line-height: 1.55;
}

.opfok-saddle-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    border-radius: 12px;
    padding: 10px 13px;
    background: #55733b;
    color: #fff !important;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(45,60,53,.14);
}

.opfok-saddle-link:hover {
    transform: translateY(-1px);
    background: #4a6634;
}

/* =========================================================
   NEWS_INDEX_PAGE_V1
   ========================================================= */

.news-index-page {
    padding: 28px;
}

.news-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(194, 138, 53, 0.16), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 18px;
}

.news-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.news-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.news-hero p {
    margin: 0;
    max-width: 760px;
    color: #5d6658;
    line-height: 1.55;
}

.news-hero-badge {
    min-width: 150px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
}

.news-hero-badge strong,
.news-hero-badge span {
    display: block;
}

.news-hero-badge span {
    margin-top: 4px;
    font-size: 12px;
    opacity: .86;
}

.news-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.news-stat-card {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 10px 24px rgba(41,49,35,.06);
}

.news-stat-card span {
    display: block;
    color: #6b7565;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.news-stat-card strong {
    display: block;
    margin-top: 5px;
    color: #2d3c35;
    font-size: 24px;
}

.news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
}

.news-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.news-section-header h2,
.news-side-card h2 {
    margin: 0;
    color: #263128;
}

.news-section-header span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.news-post-list {
    display: grid;
    gap: 14px;
}

.news-post-card,
.news-side-card,
.news-empty {
    border-radius: 22px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 22px;
}

.news-post-card.is-pinned {
    border-color: rgba(194, 138, 53, 0.24);
    background: rgba(255,250,238,.82);
}

.news-post-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.news-post-meta span,
.news-post-meta strong {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.news-post-meta span {
    background: rgba(45,60,53,.08);
    color: #536050;
}

.news-post-meta strong {
    background: rgba(194, 138, 53, 0.14);
    color: #a87322;
}

.news-post-card h3 {
    margin: 0 0 9px;
    color: #263128;
    font-size: 22px;
}

.news-post-card p {
    margin: 0;
    color: #5f685b;
    line-height: 1.65;
}

.news-post-card footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
    color: #7a8374;
    font-size: 12px;
    font-weight: 700;
}

.news-side-column {
    display: grid;
    gap: 14px;
}

.news-side-card h2 {
    font-size: 18px;
    margin-bottom: 12px;
}

.news-mini-list {
    display: grid;
    gap: 8px;
}

.news-mini-list a {
    display: block;
    padding: 11px 12px;
    border-radius: 14px;
    background: rgba(246,242,231,.72);
    color: #2d3c35;
    text-decoration: none;
    border: 1px solid rgba(56,69,49,.08);
}

.news-mini-list a:hover {
    transform: translateY(-1px);
    background: rgba(236,244,229,.88);
}

.news-mini-list strong,
.news-mini-list span {
    display: block;
}

.news-mini-list span {
    margin-top: 3px;
    color: #6d7668;
    font-size: 12px;
}

.news-sbl-name {
    color: #37c857 !important;
    font-weight: 1000;
}

.news-muted,
.news-empty {
    color: #6d7668;
    line-height: 1.55;
}

@media (max-width: 1000px) {
    .news-layout {
        grid-template-columns: 1fr;
    }

    .news-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .news-hero-badge {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .news-index-page {
        padding: 18px;
    }

    .news-stat-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   NEWS_SIMPLE_STAFF_EDITOR_V2
   ========================================================= */

.news-simple-page .news-simple-hero {
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(194, 138, 53, 0.14), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 18px;
}

.news-simple-page .news-simple-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.news-simple-page .news-simple-hero p {
    margin: 0;
    max-width: 780px;
    color: #5d6658;
    line-height: 1.55;
}

.news-alert {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 800;
}

.news-alert.success {
    background: #eaf5e7;
    color: #315f2d;
    border: 1px solid rgba(49,95,45,.18);
}

.news-alert.error {
    background: #f8e8e5;
    color: #87352c;
    border: 1px solid rgba(135,53,44,.18);
}

.news-editor-card,
.news-simple-list-card {
    border-radius: 22px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 22px;
    margin-bottom: 18px;
}

.news-editor-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.news-editor-head h2 {
    margin: 0 0 5px;
    color: #263128;
}

.news-editor-head p {
    margin: 0;
    color: #687064;
}

.news-editor-head span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.news-editor-form {
    display: grid;
    gap: 13px;
}

.news-editor-form.compact {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(56,69,49,.10);
}

.news-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 12px;
}

.news-editor-form label {
    display: grid;
    gap: 6px;
    color: #43503f;
    font-weight: 900;
}

.news-editor-form input[type="text"],
.news-editor-form select,
.news-editor-form textarea {
    width: 100%;
    border: 1px solid rgba(56,69,49,.16);
    border-radius: 13px;
    padding: 10px 11px;
    background: rgba(255,255,255,.86);
    color: #2d3c35;
    font: inherit;
}

.news-editor-form textarea {
    resize: vertical;
}

.news-editor-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.news-check {
    display: inline-flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px !important;
    color: #6b735f !important;
    font-size: 13px;
}

.news-editor-actions button,
.news-unpublish-form button {
    border: none;
    border-radius: 13px;
    padding: 10px 16px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.news-unpublish-form {
    margin-top: 10px;
}

.news-unpublish-form button {
    background: #8d4539;
}

.news-edit-details {
    margin-top: 14px;
}

.news-edit-details summary {
    cursor: pointer;
    color: #55733b;
    font-weight: 900;
}

.news-simple-page .news-layout,
.news-simple-page .news-side-column,
.news-simple-page .news-side-card {
    display: none !important;
}

@media (max-width: 720px) {
    .news-editor-grid {
        grid-template-columns: 1fr;
    }

    .news-editor-head,
    .news-editor-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =========================================================
   NEWS_REACTIONS_V1
   ========================================================= */

.news-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(56,69,49,.10);
}

.news-reaction-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(56,69,49,.13);
    background: rgba(246,242,231,.72);
    color: #3c4939;
    font-weight: 900;
    cursor: pointer;
    transition: .16s ease;
}

.news-reaction-button span {
    font-size: 16px;
    line-height: 1;
}

.news-reaction-button strong {
    min-width: 12px;
    font-size: 12px;
}

.news-reaction-button:hover,
.news-reaction-button.active {
    transform: translateY(-1px);
    background: #2d3c35;
    color: #fff;
    border-color: rgba(45,60,53,.45);
}

.news-reaction-button:disabled {
    opacity: .55;
    cursor: wait;
}

/* =========================================================
   RULES_PAGE_V1
   ========================================================= */

.rules-page {
    padding: 28px;
}

.rules-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(194, 138, 53, 0.14), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 16px;
}

.rules-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.rules-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.rules-hero p {
    margin: 0;
    max-width: 820px;
    color: #5d6658;
    line-height: 1.6;
}

.rules-updated {
    min-width: 170px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
}

.rules-updated strong,
.rules-updated span {
    display: block;
}

.rules-updated span {
    margin-top: 4px;
    font-size: 12px;
    opacity: .86;
}

.rules-warning {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(194, 138, 53, 0.12);
    border: 1px solid rgba(194, 138, 53, 0.22);
    color: #6a542d;
    margin-bottom: 16px;
}

.rules-warning strong {
    color: #8a641f;
    font-size: 15px;
}

.rules-warning p {
    margin: 0;
    line-height: 1.55;
}

.rules-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.rules-nav a {
    display: inline-flex;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(56,69,49,.12);
    color: #3f4c3b;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    transition: .16s ease;
}

.rules-nav a:hover {
    background: #2d3c35;
    color: #fff;
    transform: translateY(-1px);
}

.rules-list {
    display: grid;
    gap: 16px;
}

.rules-section {
    padding: 24px;
    border-radius: 22px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    scroll-margin-top: 90px;
}

.rules-section h2 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 23px;
}

.rules-intro {
    margin: 0 0 14px;
    color: #5f685b;
    line-height: 1.6;
}

.rules-section ol {
    margin: 0;
    padding-left: 22px;
    display: grid;
    gap: 9px;
}

.rules-section li {
    color: #3f493e;
    line-height: 1.55;
    padding-left: 3px;
}

.rules-section li::marker {
    color: #8a641f;
    font-weight: 900;
}

@media (max-width: 800px) {
    .rules-page {
        padding: 18px;
    }

    .rules-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .rules-updated {
        width: 100%;
    }
}

/* =========================================================
   LEGEND_FOOTER_COOKIE_LEGAL_V1
   ========================================================= */

.legend-global-footer {
    margin: 26px auto 0;
    padding: 0 22px 24px;
}

.legend-footer-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 18px 22px;
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 12px 28px rgba(41,49,35,.06);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    color: #596454;
}

.legend-footer-brand strong {
    display: block;
    color: #2d3c35;
    font-weight: 1000;
}

.legend-footer-brand span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #75806d;
    font-weight: 800;
}

.legend-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}

.legend-footer-links a,
.legend-footer-links button {
    border: none;
    background: rgba(45,60,53,.07);
    color: #41503d;
    border-radius: 999px;
    padding: 8px 11px;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.legend-footer-links a:hover,
.legend-footer-links button:hover {
    background: #2d3c35;
    color: #fff;
}

.legal-page {
    padding: 28px;
}

.legal-hero,
.legal-section {
    border-radius: 22px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 24px;
    margin-bottom: 16px;
}

.legal-hero {
    background:
        radial-gradient(circle at top right, rgba(194,138,53,.14), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
}

.legal-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.legal-hero h1,
.legal-section h2 {
    margin: 0 0 8px;
    color: #263128;
}

.legal-hero p,
.legal-section p,
.legal-section li {
    color: #5f685b;
    line-height: 1.62;
}

.legal-hero p,
.legal-section p {
    margin: 0;
}

.legal-hero small {
    display: block;
    margin-top: 12px;
    color: #7a8374;
    font-weight: 800;
}

.legal-section ul {
    margin: 8px 0 0;
    padding-left: 21px;
    display: grid;
    gap: 7px;
}

.legal-cookie-settings-button {
    margin-top: 14px;
    border: none;
    border-radius: 13px;
    padding: 10px 15px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.legend-cookie-consent {
    position: fixed;
    inset: auto 22px 22px auto;
    z-index: 2147483001;
    width: min(460px, calc(100vw - 44px));
}

.legend-cookie-card {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,252,244,.98);
    border: 1px solid rgba(56,69,49,.16);
    box-shadow: 0 24px 70px rgba(25,35,26,.25);
    color: #2d3c35;
}

.legend-cookie-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 5px;
}

.legend-cookie-text h2 {
    margin: 0 0 7px;
    color: #263128;
}

.legend-cookie-text p {
    margin: 0 0 14px;
    color: #5f685b;
    line-height: 1.5;
}

.legend-cookie-options {
    display: grid;
    gap: 9px;
    margin-bottom: 14px;
}

.legend-cookie-option {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px;
    border-radius: 15px;
    background: rgba(236,244,229,.72);
    border: 1px solid rgba(56,69,49,.10);
}

.legend-cookie-option.disabled {
    opacity: .78;
}

.legend-cookie-option input {
    margin-top: 3px;
}

.legend-cookie-option strong,
.legend-cookie-option small {
    display: block;
}

.legend-cookie-option small {
    margin-top: 2px;
    color: #6d7668;
}

.legend-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.legend-cookie-actions button {
    border: none;
    border-radius: 13px;
    padding: 9px 12px;
    background: rgba(45,60,53,.09);
    color: #2d3c35;
    font-weight: 900;
    cursor: pointer;
}

.legend-cookie-actions button.primary {
    background: #2d3c35;
    color: #fff;
}

.legend-cookie-policy-link {
    display: inline-block;
    margin-top: 12px;
    color: #55733b;
    font-size: 12px;
    font-weight: 900;
}

@media (max-width: 820px) {
    .legend-footer-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .legend-footer-links {
        justify-content: flex-start;
    }

    .legend-cookie-consent {
        inset: auto 12px 12px 12px;
        width: auto;
    }
}

/* =========================================================
   CREDITS_PAGE_V1
   ========================================================= */

.credits-page {
    padding: 28px;
}

.credits-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(194, 138, 53, 0.16), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 18px;
}

.credits-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.credits-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.credits-hero p {
    margin: 0;
    max-width: 820px;
    color: #5d6658;
    line-height: 1.6;
}

.credits-balance-card {
    min-width: 190px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
    box-shadow: 0 16px 34px rgba(45,60,53,.18);
}

.credits-balance-card span,
.credits-balance-card small {
    display: block;
    opacity: .86;
    font-weight: 800;
}

.credits-balance-card strong {
    display: block;
    margin: 5px 0;
    font-size: 34px;
    font-weight: 1000;
}

.credits-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.credits-info-card,
.credits-section-card,
.credits-note {
    border-radius: 22px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 22px;
}

.credits-info-card h2,
.credits-section-card h2 {
    margin: 0 0 8px;
    color: #263128;
}

.credits-info-card p,
.credits-section-card p,
.credits-note p,
.credits-use-list li {
    color: #5f685b;
    line-height: 1.58;
}

.credits-info-card p,
.credits-section-card p,
.credits-note p {
    margin: 0;
}

.credits-section-card {
    margin-bottom: 18px;
}

.credits-section-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.credits-section-head span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.credits-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.credits-package-card {
    padding: 18px;
    border-radius: 18px;
    background: rgba(246,242,231,.72);
    border: 1px solid rgba(56,69,49,.10);
}

.credits-package-card h3 {
    margin: 0 0 7px;
    color: #263128;
}

.credits-package-card strong {
    display: block;
    color: #8a641f;
    font-size: 20px;
    margin-bottom: 7px;
}

.credits-package-card p {
    margin-bottom: 13px;
}

.credits-package-card button {
    border: none;
    border-radius: 13px;
    padding: 10px 14px;
    background: rgba(45,60,53,.22);
    color: #fff;
    font-weight: 900;
    cursor: not-allowed;
}

.credits-use-list {
    margin: 0;
    padding-left: 22px;
    display: grid;
    gap: 8px;
}

.credits-use-list li::marker {
    color: #8a641f;
    font-weight: 900;
}

.credits-note {
    background: rgba(194,138,53,.10);
    border-color: rgba(194,138,53,.22);
}

.credits-note strong {
    display: block;
    color: #8a641f;
    margin-bottom: 5px;
}

@media (max-width: 1000px) {
    .credits-info-grid,
    .credits-package-grid {
        grid-template-columns: 1fr;
    }

    .credits-hero,
    .credits-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .credits-balance-card {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .credits-page {
        padding: 18px;
    }
}

/* =========================================================
   CREDITS_PACKAGES_CUSTOM_V2
   ========================================================= */

.credits-buy-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: stretch;
}

.credits-package-card {
    position: relative;
}

.credits-package-tag {
    display: inline-flex;
    margin-bottom: 9px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(45,60,53,.09);
    color: #536050;
    font-size: 11px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.credits-price-line {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 7px 0 4px;
}

.credits-price-line .old-price {
    color: #8c9587;
    text-decoration: line-through;
    font-weight: 800;
}

.credits-price-line .new-price {
    color: #2d3c35;
    font-size: 23px;
    font-weight: 1000;
}

.credits-discount-note {
    display: block;
    color: #8a641f;
    font-weight: 900;
    margin-bottom: 9px;
}

.credits-custom-card {
    padding: 20px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(194,138,53,.14), transparent 35%),
        rgba(246,242,231,.82);
    border: 1px solid rgba(56,69,49,.12);
}

.credits-custom-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(45,60,53,.09);
    color: #536050;
    font-size: 11px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.credits-custom-card h3 {
    margin: 0 0 8px;
    color: #263128;
}

.credits-custom-card p {
    margin: 0 0 14px;
    color: #5f685b;
    line-height: 1.55;
}

.credits-custom-card label {
    display: grid;
    gap: 6px;
    color: #43503f;
    font-weight: 900;
    margin-bottom: 14px;
}

.credits-custom-card input {
    width: 100%;
    border: 1px solid rgba(56,69,49,.16);
    border-radius: 13px;
    padding: 11px 12px;
    background: rgba(255,255,255,.90);
    color: #2d3c35;
    font: inherit;
    font-weight: 900;
}

.credits-custom-result {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(56,69,49,.10);
    margin-bottom: 14px;
}

.credits-custom-result span,
.credits-custom-result small {
    display: block;
    color: #6b7565;
    font-size: 12px;
    font-weight: 800;
}

.credits-custom-result strong {
    display: block;
    margin: 4px 0;
    color: #2d3c35;
    font-size: 28px;
    font-weight: 1000;
}

.credits-custom-card button {
    width: 100%;
    border: none;
    border-radius: 13px;
    padding: 11px 14px;
    background: rgba(45,60,53,.22);
    color: #fff;
    font-weight: 900;
    cursor: not-allowed;
}

.credits-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.credits-compare-grid article {
    padding: 17px;
    border-radius: 17px;
    background: rgba(246,242,231,.72);
    border: 1px solid rgba(56,69,49,.10);
}

.credits-compare-grid h3 {
    margin: 0 0 7px;
    color: #263128;
}

.credits-compare-grid p {
    margin: 0;
    color: #5f685b;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .credits-buy-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .credits-compare-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PASTURE_PAGE_V1
   ========================================================= */

.pasture-page {
    padding: 28px;
}

.pasture-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(118, 146, 86, 0.18), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 16px;
}

.pasture-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #65745a;
    font-weight: 900;
    margin-bottom: 6px;
}

.pasture-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.pasture-hero p {
    margin: 0;
    max-width: 820px;
    color: #5d6658;
    line-height: 1.6;
}

.pasture-hero-stats {
    min-width: 190px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
    box-shadow: 0 16px 34px rgba(45,60,53,.18);
}

.pasture-hero-stats strong,
.pasture-hero-stats span {
    display: block;
}

.pasture-hero-stats strong {
    font-size: 27px;
    font-weight: 1000;
}

.pasture-hero-stats span {
    margin-top: 4px;
    opacity: .86;
    font-size: 12px;
    font-weight: 800;
}

.pasture-alert {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 800;
}

.pasture-alert.success {
    background: #eaf5e7;
    color: #315f2d;
    border: 1px solid rgba(49,95,45,.18);
}

.pasture-alert.error {
    background: #f8e8e5;
    color: #87352c;
    border: 1px solid rgba(135,53,44,.18);
}

.pasture-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.pasture-tabs a {
    display: inline-flex;
    padding: 10px 14px;
    border-radius: 14px 14px 7px 7px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(56,69,49,.14);
    color: #344035;
    font-weight: 900;
    text-decoration: none;
    transition: .16s ease;
}

.pasture-tabs a:hover,
.pasture-tabs a.active {
    background: #2d3c35;
    color: #fff;
    transform: translateY(-1px);
}

.pasture-table-card,
.pasture-info-card,
.pasture-upgrade-card {
    border-radius: 22px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(56,69,49,.12);
    box-shadow: 0 14px 32px rgba(41,49,35,.07);
    padding: 22px;
}

.pasture-table-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.pasture-table-head h2 {
    margin: 0 0 5px;
    color: #263128;
}

.pasture-table-head p {
    margin: 0;
    color: #687064;
}

.pasture-table-head span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

.pasture-table-wrap {
    overflow-x: auto;
}

.pasture-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.pasture-table th {
    text-align: left;
    padding: 12px 14px;
    background: rgba(45,60,53,.10);
    color: #465143;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 11px;
}

.pasture-table td {
    padding: 14px;
    border-bottom: 1px solid rgba(56,69,49,.09);
    vertical-align: middle;
    color: #333b34;
}

.pasture-table td strong,
.pasture-table td small {
    display: block;
}

.pasture-table td small {
    margin-top: 4px;
    color: #727b6c;
    font-size: 12px;
}

.pasture-horse-link {
    color: #2d3c35;
    font-weight: 1000;
    text-decoration: none;
}

.pasture-horse-link:hover {
    text-decoration: underline;
}

.pasture-empty-row {
    color: #687064 !important;
    text-align: center;
    padding: 24px !important;
}

.pasture-action-stack button,
.pasture-upgrade-card button {
    border: none;
    border-radius: 12px;
    padding: 10px 13px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.pasture-action-stack button:disabled,
.pasture-upgrade-card button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.pasture-upgrades-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.pasture-upgrade-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.pasture-upgrade-head h3 {
    margin: 0 0 5px;
    color: #263128;
}

.pasture-upgrade-head p {
    margin: 0;
    color: #687064;
}

.pasture-upgrade-head strong {
    color: #2d3c35;
    font-size: 22px;
}

.pasture-capacity-bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(48,64,50,.12);
    overflow: hidden;
    margin-bottom: 12px;
}

.pasture-capacity-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #78956b, #9cb383);
}

.pasture-next-cost {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border-radius: 14px;
    background: rgba(246,242,231,.72);
    margin-bottom: 12px;
}

.pasture-next-cost span {
    color: #687064;
    font-weight: 800;
}

.pasture-next-cost strong {
    color: #8a641f;
}

.pasture-max-label {
    padding: 11px 12px;
    border-radius: 14px;
    background: rgba(45,60,53,.08);
    color: #536050;
    font-weight: 900;
}

.pasture-info-card h2 {
    margin: 0 0 8px;
    color: #263128;
}

.pasture-info-card ul {
    margin: 0;
    padding-left: 22px;
    display: grid;
    gap: 8px;
}

.pasture-info-card li {
    color: #5f685b;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .pasture-upgrades-grid {
        grid-template-columns: 1fr;
    }

    .pasture-hero,
    .pasture-table-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .pasture-hero-stats {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .pasture-page {
        padding: 18px;
    }
}

/* =========================================================
   UPGRADES_PAGE_V1
   ========================================================= */

.upgrades-page {
    padding: 28px;
}

.upgrades-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(194, 138, 53, 0.16), transparent 34%),
        linear-gradient(90deg, rgba(246,241,229,.96), rgba(232,240,222,.94));
    border: 1px solid rgba(58,77,50,.14);
    box-shadow: 0 14px 35px rgba(41,49,35,.08);
    margin-bottom: 16px;
}

.upgrades-hero h1 {
    margin: 0 0 8px;
    color: #263128;
    font-size: 34px;
}

.upgrades-hero p {
    margin: 0;
    max-width: 860px;
    color: #5d6658;
    line-height: 1.6;
}

.upgrades-wallet {
    min-width: 210px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(45,60,53,.92);
    color: #fff;
    text-align: center;
    box-shadow: 0 16px 34px rgba(45,60,53,.18);
}

.upgrades-wallet span,
.upgrades-wallet small {
    display: block;
    opacity: .86;
    font-weight: 800;
}

.upgrades-wallet strong {
    display: block;
    margin: 6px 0;
    font-size: 20px;
    font-weight: 1000;
}

.upgrades-grid {
    margin-bottom: 16px;
}

.upgrades-slot-card {
    display: flex;
    flex-direction: column;
}

.upgrades-used-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(246,242,231,.72);
    margin-bottom: 12px;
    color: #536050;
    font-weight: 900;
}

.upgrades-used-line strong {
    color: #2d3c35;
}

.upgrades-action-form button {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 10px 13px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.upgrades-action-form button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.upgrades-info-card strong {
    color: #2d3c35;
}

@media (max-width: 900px) {
    .upgrades-page {
        padding: 18px;
    }

    .upgrades-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .upgrades-wallet {
        width: 100%;
    }
}

/* =========================================================
   PASTURE_EXPECTED_FOALS_VIEW_V1
   ========================================================= */

.pasture-expected-foal-row td {
    background: rgba(194, 138, 53, 0.08);
    border-top: 1px solid rgba(194, 138, 53, 0.18);
    border-bottom: 1px solid rgba(194, 138, 53, 0.18);
}

.pasture-expected-foal-row strong {
    color: #6b5122;
}

.pasture-expected-foal-row small a {
    color: #55733b;
    font-weight: 900;
    text-decoration: none;
}

.pasture-expected-foal-row small a:hover {
    text-decoration: underline;
}

.pasture-reserved-label {
    display: inline-flex;
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(45,60,53,.10);
    color: #536050;
    font-size: 12px;
    font-weight: 900;
}

/* =========================================================
   MIJN_STAL_LOCATION_CAPACITY_V1
   ========================================================= */

.stable-capacity-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stable-capacity-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 12px;
}

.stable-capacity-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 14px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(45,60,53,.14);
}

.stable-capacity-links a:nth-child(2) {
    background: rgba(45,60,53,.10);
    color: #2d3c35;
    box-shadow: none;
}

.stable-capacity-links a:hover {
    transform: translateY(-1px);
}

.stable-location-note {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 15px;
    background: rgba(194, 138, 53, 0.10);
    border: 1px solid rgba(194, 138, 53, 0.18);
    color: #6a542d;
    font-weight: 800;
    line-height: 1.45;
}

@media (max-width: 1000px) {
    .stable-capacity-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .stable-capacity-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PAARDENMARKT_V1
   ========================================================= */

.market-page {
    display: grid;
    gap: 16px;
}

.market-hero,
.market-card {
    border-radius: 18px;
    border: 1px solid rgba(80, 103, 82, .16);
    background: rgba(255, 252, 244, .92);
    box-shadow: 0 10px 24px rgba(45, 60, 53, .08);
}

.market-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
}

.market-kicker {
    display: inline-flex;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6f7f4f;
}

.market-hero h1,
.market-card h2 {
    margin: 0 0 6px;
    color: #2d3c35;
}

.market-hero p,
.market-muted {
    margin: 0;
    color: #766d5b;
    font-weight: 700;
    line-height: 1.45;
}

.market-hero-note {
    min-width: 140px;
    align-self: center;
    text-align: center;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(143, 161, 108, .14);
}

.market-hero-note strong {
    display: block;
    font-size: 22px;
    color: #2d3c35;
}

.market-hero-note span {
    font-size: 12px;
    font-weight: 900;
    color: #6f7f4f;
}

.market-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.market-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(45, 60, 53, .08);
    color: #2d3c35;
    text-decoration: none;
    font-weight: 900;
}

.market-tabs a.active {
    background: #2d3c35;
    color: #fff;
}

.market-card {
    padding: 16px;
}

.market-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.market-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
    background: rgba(255,255,255,.55);
    border-radius: 14px;
    overflow: hidden;
}

.market-table th {
    background: rgba(143, 161, 108, .18);
    color: #2d3c35;
    font-size: 13px;
    text-align: left;
    padding: 10px;
}

.market-table td {
    border-top: 1px solid rgba(80, 103, 82, .12);
    padding: 10px;
    vertical-align: middle;
    color: #3b3b32;
    font-weight: 700;
}

.market-table small {
    display: block;
    margin-top: 3px;
    color: #857b68;
    font-size: 12px;
}

.market-horse-link {
    color: #24382f;
    font-weight: 950;
    text-decoration: none;
}

.market-horse-link:hover {
    text-decoration: underline;
}

.market-inline-form {
    margin: 0;
}

.market-inline-form button,
.market-sell-form button {
    border: 0;
    border-radius: 10px;
    padding: 9px 14px;
    background: #2d3c35;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.market-inline-form button.secondary {
    background: rgba(128, 57, 48, .12);
    color: #803930;
}

.market-pill {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(45, 60, 53, .08);
    color: #2d3c35;
    font-size: 12px;
    font-weight: 900;
}

.market-sell-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 160px auto;
    gap: 12px;
    align-items: end;
    margin-top: 14px;
}

.market-sell-form label {
    display: grid;
    gap: 5px;
    font-weight: 900;
    color: #2d3c35;
}

.market-sell-form select,
.market-sell-form input {
    width: 100%;
    border: 1px solid rgba(80, 103, 82, .25);
    border-radius: 10px;
    padding: 10px;
    background: #fff;
    color: #2d3c35;
    font-weight: 800;
}

@media (max-width: 850px) {
    .market-hero {
        flex-direction: column;
    }

    .market-sell-form {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PAARDENMARKT_COMPACT_LUXE_V2
   Compactere, rustigere handelsmarkt styling
   ========================================================= */

.content-card.market-page.horse-market-page {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.horse-market-page {
    gap: 10px;
    max-width: 1040px;
}

.horse-market-page .market-hero,
.horse-market-page .market-card {
    border-radius: 13px;
    border: 1px solid rgba(65, 82, 68, .13);
    background: rgba(252, 252, 247, .92);
    box-shadow: 0 6px 16px rgba(38, 52, 45, .055);
}

.horse-market-page .market-hero {
    padding: 13px 16px;
    align-items: center;
    min-height: unset;
}

.horse-market-page .market-kicker {
    margin-bottom: 3px;
    font-size: 10px;
    letter-spacing: .10em;
    color: #6f7b61;
}

.horse-market-page .market-hero h1 {
    margin: 0 0 2px;
    font-size: 28px;
    line-height: 1.05;
    letter-spacing: -.02em;
    color: #2c3832;
}

.horse-market-page .market-hero p {
    max-width: 720px;
    font-size: 13px;
    line-height: 1.35;
    color: #6f6a5e;
}

.horse-market-page .market-hero-note {
    min-width: 104px;
    padding: 9px 12px;
    border-radius: 12px;
    background: rgba(67, 83, 70, .07);
    border: 1px solid rgba(67, 83, 70, .08);
}

.horse-market-page .market-hero-note strong {
    font-size: 18px;
    line-height: 1;
}

.horse-market-page .market-hero-note span {
    font-size: 10px;
    letter-spacing: .02em;
}

.horse-market-page .market-tabs {
    gap: 6px;
    margin: 2px 0 4px;
}

.horse-market-page .market-tabs a {
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 13px;
    background: rgba(67, 83, 70, .075);
    color: #334139;
}

.horse-market-page .market-tabs a.active {
    background: #2d3c35;
    color: #fff;
    box-shadow: 0 5px 12px rgba(45, 60, 53, .15);
}

.horse-market-page .market-card {
    padding: 12px 14px;
}

.horse-market-page .market-card h2 {
    margin: 0 0 8px;
    font-size: 19px;
    letter-spacing: -.01em;
    color: #2d3a33;
}

.horse-market-page .market-muted {
    font-size: 13px;
    line-height: 1.35;
    color: #6c675c;
}

.horse-market-page .training-alert {
    padding: 9px 12px;
    border-radius: 11px;
    font-size: 13px;
}

.horse-market-page .market-table {
    min-width: 760px;
    border-radius: 10px;
    background: #fff;
    font-size: 13px;
}

.horse-market-page .market-table th {
    padding: 7px 9px;
    background: rgba(74, 91, 75, .11);
    color: #435144;
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.horse-market-page .market-table td {
    padding: 7px 9px;
    border-top: 1px solid rgba(67, 83, 70, .09);
    font-size: 13px;
    font-weight: 650;
}

.horse-market-page .market-table small {
    margin-top: 1px;
    font-size: 11px;
    color: #827b70;
}

.horse-market-page .market-horse-link {
    font-size: 13px;
    font-weight: 850;
    color: #26382f;
}

.horse-market-page .market-inline-form button,
.horse-market-page .market-sell-form button {
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 9px;
    font-size: 12px;
    background: #2d3c35;
}

.horse-market-page .market-inline-form button.secondary {
    background: rgba(115, 65, 54, .10);
    color: #784235;
}

.horse-market-page .market-pill {
    padding: 5px 9px;
    font-size: 11px;
    border-radius: 8px;
}

.horse-market-page .market-sell-form {
    grid-template-columns: minmax(260px, 1fr) 150px 128px;
    gap: 9px;
    margin-top: 9px;
    align-items: end;
}

.horse-market-page .market-sell-form label {
    gap: 4px;
    font-size: 12px;
    color: #3a463e;
}

.horse-market-page .market-sell-form label span {
    font-size: 12px;
}

.horse-market-page .market-sell-form select,
.horse-market-page .market-sell-form input {
    height: 34px;
    border-radius: 8px;
    padding: 7px 9px;
    font-size: 12px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(67, 83, 70, .18);
}

.horse-market-page .market-table.compact {
    min-width: 620px;
}

@media (max-width: 850px) {
    .horse-market-page {
        max-width: 100%;
    }

    .horse-market-page .market-hero {
        padding: 12px;
    }

    .horse-market-page .market-hero h1 {
        font-size: 24px;
    }

    .horse-market-page .market-sell-form {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PAARDENMARKT_CLASSIC_COMPACT_V3
   Compacte klassieke handelsmarkt zoals oude markt/veiling schermen
   ========================================================= */

.content-card.market-page.horse-market-page {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.horse-market-page {
    max-width: 1120px !important;
    gap: 8px !important;
    font-size: 12px !important;
}

/* Hero sterk verkleinen: geen groot dashboardblok meer */
.horse-market-page .market-hero {
    padding: 8px 10px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(61, 78, 56, .28) !important;
    background: #f7f8f1 !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

.horse-market-page .market-kicker {
    display: none !important;
}

.horse-market-page .market-hero h1 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    color: #2f3b31 !important;
}

.horse-market-page .market-hero p {
    margin-top: 3px !important;
    max-width: none !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    color: #5f6258 !important;
    font-weight: 600 !important;
}

.horse-market-page .market-hero-note {
    min-width: 82px !important;
    padding: 5px 8px !important;
    border-radius: 0 !important;
    background: #e6ecd0 !important;
    border: 1px solid rgba(61, 78, 56, .18) !important;
    box-shadow: none !important;
}

.horse-market-page .market-hero-note strong {
    font-size: 14px !important;
}

.horse-market-page .market-hero-note span {
    font-size: 10px !important;
}

/* Tabs als kleine klassieke balkknoppen */
.horse-market-page .market-tabs {
    gap: 0 !important;
    margin: 8px 0 0 !important;
}

.horse-market-page .market-tabs a {
    border-radius: 0 !important;
    padding: 6px 14px !important;
    border: 1px solid rgba(61, 78, 56, .24) !important;
    border-bottom: 0 !important;
    background: #dce8b7 !important;
    color: #2f3b31 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.horse-market-page .market-tabs a + a {
    border-left: 0 !important;
}

.horse-market-page .market-tabs a.active {
    background: #a9bf63 !important;
    color: #1f2b21 !important;
}

/* Marktpanelen als rechte tabellen met groene titelbalk */
.horse-market-page .market-card {
    padding: 0 !important;
    border-radius: 0 !important;
    border: 1px solid rgba(61, 78, 56, .28) !important;
    background: #fbfbf7 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.horse-market-page .market-card h2 {
    margin: 0 !important;
    padding: 6px 10px !important;
    background: #cfe284 !important;
    border-bottom: 1px solid rgba(61, 78, 56, .18) !important;
    color: #263226 !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.horse-market-page .market-muted {
    padding: 9px 12px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #4e514b !important;
    font-weight: 650 !important;
}

/* Tabellen compacter */
.horse-market-page .market-table-wrap {
    overflow-x: auto !important;
}

.horse-market-page .market-table {
    width: 100% !important;
    min-width: 760px !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 12px !important;
}

.horse-market-page .market-table th {
    padding: 6px 8px !important;
    background: #f5f5f2 !important;
    border-bottom: 1px solid rgba(80, 80, 70, .10) !important;
    color: #9c9c98 !important;
    font-size: 11px !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.horse-market-page .market-table td {
    padding: 7px 8px !important;
    border-top: 1px solid rgba(80, 80, 70, .08) !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.horse-market-page .market-table td:first-child {
    text-align: left !important;
    padding-left: 16px !important;
}

.horse-market-page .market-table small {
    display: inline !important;
    margin: 0 0 0 5px !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

.horse-market-page .market-horse-link {
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.horse-market-page .market-horse-link:hover {
    text-decoration: underline !important;
}

/* Knoppen zoals klassieke grijze/strakke actieknoppen */
.horse-market-page .market-inline-form button,
.horse-market-page .market-sell-form button {
    min-height: 30px !important;
    padding: 6px 13px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(70, 70, 65, .24) !important;
    background: linear-gradient(#ffffff, #e8e8e4) !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.horse-market-page .market-inline-form button:hover,
.horse-market-page .market-sell-form button:hover {
    background: linear-gradient(#f7f7f4, #ddddda) !important;
}

.horse-market-page .market-inline-form button.secondary {
    background: linear-gradient(#ffffff, #ece4df) !important;
    color: #6e3b30 !important;
}

.horse-market-page .market-pill {
    border-radius: 4px !important;
    padding: 4px 8px !important;
    background: #eeeeea !important;
    color: #444 !important;
    font-size: 11px !important;
}

/* Verkoopformulier als compacte gecentreerde handelsbalk */
.horse-market-page .market-sell-form {
    display: grid !important;
    grid-template-columns: 90px minmax(240px, 420px) 70px 150px 120px !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px 12px !important;
    margin: 0 !important;
}

.horse-market-page .market-sell-form label {
    display: contents !important;
}

.horse-market-page .market-sell-form label span {
    align-self: center !important;
    justify-self: end !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #333 !important;
}

.horse-market-page .market-sell-form select,
.horse-market-page .market-sell-form input {
    height: 28px !important;
    border-radius: 2px !important;
    border: 1px solid #b8b8b0 !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 3px 6px !important;
}

.horse-market-page .market-sell-form button {
    height: 34px !important;
}

/* Alerts minder groot */
.horse-market-page .training-alert {
    border-radius: 0 !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

@media (max-width: 850px) {
    .horse-market-page .market-hero {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .horse-market-page .market-sell-form {
        grid-template-columns: 1fr !important;
        justify-content: stretch !important;
    }

    .horse-market-page .market-sell-form label {
        display: grid !important;
        gap: 4px !important;
    }

    .horse-market-page .market-sell-form label span {
        justify-self: start !important;
    }
}

/* =========================================================
   PAARDENMARKT_REBUILD_V4
   ========================================================= */

.horse-market-v4 {
    max-width: 1100px;
    font-size: 12px;
    color: #242824;
}

.horse-market-v4 * {
    box-sizing: border-box;
}

.market-v4-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #bcc5af;
    background: #f8f8f2;
    padding: 8px 10px;
    margin-bottom: 8px;
}

.market-v4-top h1 {
    margin: 0;
    font-size: 18px;
    line-height: 1.1;
    color: #2b3830;
}

.market-v4-top p {
    margin: 3px 0 0;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 600;
    color: #575d52;
}

.market-v4-stable {
    min-width: 86px;
    padding: 5px 8px;
    text-align: center;
    border: 1px solid #c5d0a7;
    background: #e5edc9;
}

.market-v4-stable strong {
    display: block;
    font-size: 14px;
    line-height: 1;
    color: #2b3830;
}

.market-v4-stable span {
    font-size: 10px;
    font-weight: 800;
    color: #4d5d45;
}

.market-v4-message {
    border: 1px solid #b7c1a7;
    padding: 7px 10px;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    background: #f6f6ef;
}

.market-v4-message.success {
    border-color: #a6be76;
    background: #eef6d5;
    color: #40572e;
}

.market-v4-message.error {
    border-color: #c49a8d;
    background: #f7e9e5;
    color: #71382f;
}

.market-v4-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 8px;
}

.market-v4-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 126px;
    padding: 6px 12px;
    border: 1px solid #b7c398;
    background: #dbe8b3;
    color: #293329;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.market-v4-tabs a + a {
    border-left: 0;
}

.market-v4-tabs a.active {
    background: #a9bf63;
}

.market-v4-panel {
    border: 1px solid #b9c3a8;
    background: #fbfbf6;
    margin-bottom: 8px;
}

.market-v4-title {
    padding: 6px 10px;
    text-align: center;
    background: #d0e583;
    border-bottom: 1px solid #bac993;
    color: #202b20;
    font-size: 13px;
    font-weight: 900;
}

.market-v4-empty,
.market-v4-note {
    padding: 9px 11px;
    font-size: 12px;
    font-weight: 650;
    color: #42463f;
}

.market-v4-note {
    padding-bottom: 3px;
}

.market-v4-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.market-v4-table {
    width: 100%;
    min-width: 770px;
    border-collapse: collapse;
    background: #fff;
}

.market-v4-table th {
    padding: 6px 8px;
    background: #f5f5f2;
    border-bottom: 1px solid #e1e1dc;
    color: #9b9b96;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.market-v4-table td {
    padding: 7px 8px;
    border-top: 1px solid #ecece7;
    color: #252525;
    font-size: 12px;
    font-weight: 650;
    text-align: center;
    vertical-align: middle;
}

.market-v4-table td.market-v4-horse {
    text-align: left;
    padding-left: 18px;
}

.market-v4-horse a {
    color: #111;
    font-weight: 900;
    text-decoration: none;
}

.market-v4-horse a:hover {
    text-decoration: underline;
}

.market-v4-horse span,
.market-v4-sub {
    display: block;
    margin-top: 2px;
    color: #777;
    font-size: 11px;
    font-weight: 600;
}

.market-v4-pill {
    display: inline-block;
    padding: 4px 8px;
    background: #eeeeea;
    border: 1px solid #dadad3;
    font-size: 11px;
    font-weight: 800;
}

.market-v4-inline {
    margin: 0;
}

.market-v4-inline button,
.market-v4-sell button {
    min-height: 30px;
    padding: 6px 13px;
    border: 1px solid #b8b8b0;
    border-radius: 3px;
    background: linear-gradient(#fff, #e8e8e3);
    color: #333;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.market-v4-inline button.secondary {
    color: #71382f;
    background: linear-gradient(#fff, #eee5e1);
}

.market-v4-sell {
    display: grid;
    grid-template-columns: 70px minmax(260px, 420px) 52px 140px 118px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px 12px;
}

.market-v4-sell label {
    justify-self: end;
    font-size: 12px;
    font-weight: 900;
    color: #333;
}

.market-v4-sell select,
.market-v4-sell input {
    height: 28px;
    border: 1px solid #b8b8b0;
    background: #fff;
    padding: 3px 6px;
    color: #222;
    font-size: 12px;
    font-weight: 650;
}

@media (max-width: 850px) {
    .market-v4-top {
        display: block;
    }

    .market-v4-stable {
        margin-top: 6px;
    }

    .market-v4-sell {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .market-v4-sell label {
        justify-self: start;
    }
}

/* =========================================================
   PAARDENMARKT_FLAT_V5
   Platte compacte markt, dichter bij oude veilinglayout
   ========================================================= */

.horse-market-flat-v5 {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: #20251f !important;
}

.horse-market-flat-v5 * {
    box-sizing: border-box !important;
}

/* Geen dashboardkaart-gevoel */
.main-content .horse-market-flat-v5 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Tabs strak boven de markt */
.horse-market-flat-v5 .market-flat-tabs {
    display: flex !important;
    gap: 0 !important;
    margin: 0 0 0 0 !important;
    padding: 0 !important;
}

.horse-market-flat-v5 .market-flat-tabs a {
    display: inline-block !important;
    min-width: 126px !important;
    padding: 6px 13px !important;
    border: 1px solid #9eb06c !important;
    border-bottom: 0 !important;
    background: #d7e6a1 !important;
    color: #1f2b1f !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.horse-market-flat-v5 .market-flat-tabs a + a {
    border-left: 0 !important;
}

.horse-market-flat-v5 .market-flat-tabs a.active {
    background: #a7bf57 !important;
    color: #132013 !important;
}

/* Panelen: rechte witte blokken */
.horse-market-flat-v5 .market-flat-panel {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    border: 1px solid #9eb06c !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Groene titelbalk zoals screenshot */
.horse-market-flat-v5 .market-flat-title {
    display: block !important;
    padding: 5px 10px !important;
    background: #d5e884 !important;
    border-bottom: 1px solid #b7c96f !important;
    color: #1f2b1f !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

/* Compacte lege tekst */
.horse-market-flat-v5 .market-flat-empty,
.horse-market-flat-v5 .market-flat-note {
    margin: 0 !important;
    padding: 8px 10px !important;
    color: #333 !important;
    background: #fff !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.horse-market-flat-v5 .market-flat-note {
    padding-bottom: 4px !important;
}

/* Tabel */
.horse-market-flat-v5 .market-flat-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    background: #fff !important;
}

.horse-market-flat-v5 table.market-flat-table {
    width: 100% !important;
    min-width: 760px !important;
    border-collapse: collapse !important;
    background: #fff !important;
    border: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
}

.horse-market-flat-v5 table.market-flat-table th {
    padding: 5px 8px !important;
    background: #f7f7f5 !important;
    color: #a0a09c !important;
    border: 0 !important;
    border-bottom: 1px solid #e7e7e2 !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.horse-market-flat-v5 table.market-flat-table td {
    padding: 7px 8px !important;
    background: #fff !important;
    border: 0 !important;
    border-top: 1px solid #ededeb !important;
    color: #202020 !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.horse-market-flat-v5 table.market-flat-table td.market-flat-horse {
    text-align: left !important;
    padding-left: 22px !important;
}

.horse-market-flat-v5 .market-flat-horse a {
    color: #111 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

.horse-market-flat-v5 .market-flat-horse a:hover {
    text-decoration: underline !important;
}

.horse-market-flat-v5 .market-flat-horse span,
.horse-market-flat-v5 .market-flat-sub {
    display: block !important;
    margin-top: 1px !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* Formulier zoals oude veilingform: gecentreerd, klein */
.horse-market-flat-v5 .market-flat-sell {
    display: grid !important;
    grid-template-columns: 60px 390px 50px 140px 120px !important;
    gap: 8px !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 8px 10px 12px !important;
    margin: 0 !important;
    background: #fff !important;
}

.horse-market-flat-v5 .market-flat-sell label {
    justify-self: end !important;
    margin: 0 !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.horse-market-flat-v5 .market-flat-sell select,
.horse-market-flat-v5 .market-flat-sell input {
    height: 25px !important;
    margin: 0 !important;
    padding: 2px 5px !important;
    border: 1px solid #aaa !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.horse-market-flat-v5 .market-flat-inline {
    margin: 0 !important;
    padding: 0 !important;
}

.horse-market-flat-v5 .market-flat-inline button,
.horse-market-flat-v5 .market-flat-sell button {
    min-height: 29px !important;
    padding: 5px 13px !important;
    border: 1px solid #aaa !important;
    border-radius: 3px !important;
    background: linear-gradient(#fff, #e7e7e4) !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.horse-market-flat-v5 .market-flat-inline button.secondary {
    color: #743a31 !important;
    background: linear-gradient(#fff, #efe5e2) !important;
}

.horse-market-flat-v5 .market-flat-pill {
    display: inline-block !important;
    padding: 3px 7px !important;
    border: 1px solid #d0d0ca !important;
    background: #eeeeea !important;
    color: #444 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

/* Alerts ook plat */
.horse-market-flat-v5 .market-flat-message {
    margin: 0 0 8px 0 !important;
    padding: 7px 10px !important;
    border: 1px solid #b7c1a7 !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.horse-market-flat-v5 .market-flat-message.success {
    background: #eef6d5 !important;
    color: #40572e !important;
}

.horse-market-flat-v5 .market-flat-message.error {
    background: #f7e9e5 !important;
    color: #71382f !important;
}

@media (max-width: 900px) {
    .horse-market-flat-v5 .market-flat-sell {
        grid-template-columns: 1fr !important;
        justify-content: stretch !important;
    }

    .horse-market-flat-v5 .market-flat-sell label {
        justify-self: start !important;
    }
}

/* =========================================================
   HORSE_PROFILE_MARKET_STATUS_V1
   ========================================================= */

.horse-profile-trade-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 14px;
    border: 1px solid rgba(82, 96, 60, .25);
    background: linear-gradient(135deg, rgba(255, 253, 245, .98), rgba(239, 234, 217, .94));
    box-shadow:
        0 6px 15px rgba(45, 54, 38, .09),
        inset 0 1px 0 rgba(255,255,255,.85);
    color: #2f3c2d;
}

.horse-profile-trade-status > div {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.horse-profile-trade-status strong {
    font-size: 13px;
    font-weight: 900;
}

.horse-profile-trade-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #789443;
    box-shadow: 0 0 0 3px rgba(120, 148, 67, .16);
}

.horse-profile-trade-status.auction .horse-profile-trade-dot {
    background: #a87935;
    box-shadow: 0 0 0 3px rgba(168, 121, 53, .16);
}

.horse-profile-trade-status a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(45, 66, 31, .40);
    background: linear-gradient(#607a35, #314d21);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    text-shadow: 0 1px 0 rgba(0,0,0,.25);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 3px 7px rgba(45,54,38,.12);
}

.horse-profile-trade-status a:hover {
    background: linear-gradient(#6b883d, #395924);
}



/* GAME_SHELL_NOT_WIDESCREEN_V1
   Houd de normale game-layout gecentreerd en niet full widescreen.
   Laat de bestaande kleine-scherm/sidebar fix intact. */
@media (min-width: 761px) {
    .site-wrapper {
        width: min(1280px, calc(100% - 48px)) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .layout-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }

    .main-content {
        max-width: 100% !important;
    }
}

@media (min-width: 1400px) {
    .site-wrapper {
        width: 1280px !important;
    }
}
/* END_GAME_SHELL_NOT_WIDESCREEN_V1 */







/* TRAINING_COMPACT_TABLE_V3
   Gewone trainings-tabel behouden, maar compacter zodat actieknoppen binnen beeld blijven. */
@media (min-width: 761px) {
    .training-page .training-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: visible !important;
    }

    .training-page .training-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    .training-page .training-table th,
    .training-page .training-table td {
        padding: 10px 8px !important;
        font-size: 12px !important;
        line-height: 1.22 !important;
        vertical-align: middle !important;
    }

    .training-page .training-table th {
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    .training-page .training-table th:nth-child(1),
    .training-page .training-table td:nth-child(1) {
        width: 15% !important;
    }

    .training-page .training-table th:nth-child(2),
    .training-page .training-table td:nth-child(2) {
        width: 10% !important;
    }

    .training-page .training-table th:nth-child(3),
    .training-page .training-table td:nth-child(3) {
        width: 21% !important;
    }

    .training-page .training-table th:nth-child(4),
    .training-page .training-table td:nth-child(4) {
        width: 30% !important;
    }

    .training-page .training-table th:nth-child(5),
    .training-page .training-table td:nth-child(5) {
        width: 10% !important;
        text-align: center !important;
    }

    .training-page .training-table th:nth-child(6),
    .training-page .training-table td:nth-child(6) {
        width: 14% !important;
        text-align: center !important;
    }

    .training-page .training-table td:nth-child(1),
    .training-page .training-table td:nth-child(2) {
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .training-page .training-table td:nth-child(4) {
        white-space: normal !important;
        overflow: visible !important;
    }

    .training-page .training-status-grid,
    .training-page .training-condition-grid,
    .training-page .training-status-pills,
    .training-page .horse-status-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        max-width: 100% !important;
    }

    .training-page .training-status-pill,
    .training-page .training-condition-pill,
    .training-page .status-pill,
    .training-page .horse-status-pill,
    .training-page td:nth-child(4) span {
        font-size: 10px !important;
        padding: 4px 6px !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
    }

    .training-page .training-progress-bar,
    .training-page .progress-bar {
        max-width: 100% !important;
        height: 8px !important;
    }

    .training-page .cooldown-pill,
    .training-page .training-cooldown,
    .training-page td:nth-child(5) span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        max-width: 82px !important;
        min-width: 64px !important;
        padding: 6px 7px !important;
        font-size: 11px !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .training-page .training-action-btn,
    .training-page .training-button,
    .training-page button[type="submit"] {
        width: auto !important;
        max-width: 102px !important;
        min-width: 78px !important;
        padding: 9px 9px !important;
        font-size: 12px !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .training-page .training-table td:nth-child(6) form {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}
/* END_TRAINING_COMPACT_TABLE_V3 */





/* GAME_DESKTOP_COMPACT_POLISH_V1
   Desktop-layout compacter maken zonder de stijl te veranderen. */
@media (min-width: 761px) {
    .site-wrapper {
        width: min(1280px, calc(100% - 54px)) !important;
        max-width: 1280px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    .topbar-main {
        height: 175px !important;
        padding: 18px 22px !important;
    }

    .logo {
        margin-top: 8px !important;
        margin-left: -6px !important;
    }

    .logo img {
        height: 190px !important;
        top: 8px !important;
    }

    .top-navigation {
        gap: 5px !important;
    }

    .top-navigation a {
        padding: 8px 13px !important;
        font-size: 12px !important;
    }

    .topbar-stats {
        padding: 7px 14px !important;
    }

    .topbar-stats .stat-box {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    .xp-stat {
        width: 195px !important;
        height: 27px !important;
    }

    .xp-stat strong {
        padding: 5px 10px !important;
        font-size: 11px !important;
    }

    .layout-wrapper {
        gap: 12px !important;
        padding: 12px !important;
    }

    .sidebar {
        width: 210px !important;
        flex-basis: 210px !important;
    }

    .sidebar-section {
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }

    .sidebar-section h3 {
        padding: 9px 12px !important;
        font-size: 12px !important;
    }

    .sidebar-section a {
        padding: 8px 12px !important;
        font-size: 11px !important;
    }

    .main-content {
        padding: 24px !important;
        border-radius: 15px !important;
        min-height: 660px !important;
    }

    .main-content h1 {
        font-size: 32px !important;
    }

    .main-content p {
        font-size: 13px !important;
    }

    .content-card {
        border-radius: 15px !important;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .site-wrapper {
        width: calc(100% - 22px) !important;
    }

    .sidebar {
        width: 195px !important;
        flex-basis: 195px !important;
    }

    .main-content {
        padding: 20px !important;
    }
}
/* END_GAME_DESKTOP_COMPACT_POLISH_V1 */





/* CONTENT_COMPACT_POLISH_V1
   Maakt alleen de inhoud binnen de main-content compacter.
   Buitenlayout/header/sidebar blijven zoals de huidige compacte versie. */
@media (min-width: 761px) {
    .main-content {
        font-size: 13px !important;
    }

    .main-content h1 {
        font-size: 28px !important;
        line-height: 1.05 !important;
        margin-bottom: 7px !important;
        letter-spacing: -0.5px !important;
    }

    .main-content h2 {
        font-size: 22px !important;
        line-height: 1.12 !important;
        margin-bottom: 10px !important;
    }

    .main-content h3 {
        font-size: 16px !important;
        line-height: 1.18 !important;
        margin-bottom: 8px !important;
    }

    .main-content p,
    .main-content li {
        font-size: 13px !important;
        line-height: 1.38 !important;
    }

    .main-content small,
    .main-content .muted,
    .main-content .meta,
    .main-content .subtext {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    .main-content .content-card,
    .main-content .dashboard-card,
    .main-content .overview-card,
    .main-content .profile-card,
    .main-content .horse-overview-card,
    .main-content .stable-tools-card,
    .main-content .stable-table-card,
    .main-content .forum-classic-section,
    .main-content .rules-section,
    .main-content .stat-panel,
    .main-content .stats-panel,
    .main-content .market-card,
    .main-content .service-card {
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .main-content > .content-card {
        padding: 20px !important;
    }

    .main-content .content-card > [class*="hero"],
    .main-content .content-card > [class*="header"],
    .main-content .stable-hero-header,
    .main-content .training-list-header,
    .main-content .lunging-list-header,
    .main-content .feed-list-header,
    .main-content .care-list-header,
    .main-content .facilities-use-header,
    .main-content .rules-hero,
    .main-content .credits-hero,
    .main-content .statistics-hero,
    .main-content .forum-hero,
    .main-content .market-hero {
        padding: 20px 24px !important;
        margin-bottom: 16px !important;
        border-radius: 16px !important;
        min-height: 0 !important;
    }

    .main-content .content-card > [class*="hero"] h1,
    .main-content .content-card > [class*="header"] h1,
    .main-content .stable-hero-header h1,
    .main-content .rules-hero h1,
    .main-content .credits-hero h1,
    .main-content .statistics-hero h1,
    .main-content .forum-hero h1,
    .main-content .market-hero h1 {
        font-size: 30px !important;
    }

    .main-content .content-card > [class*="hero"] p,
    .main-content .content-card > [class*="header"] p,
    .main-content .stable-hero-header p,
    .main-content .rules-hero p,
    .main-content .credits-hero p,
    .main-content .statistics-hero p,
    .main-content .forum-hero p,
    .main-content .market-hero p {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .main-content table th,
    .main-content table td {
        padding: 8px 10px !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    .main-content table th {
        font-size: 11px !important;
        letter-spacing: .03em !important;
    }

    .main-content button,
    .main-content .button,
    .main-content .btn,
    .main-content .tab-button,
    .main-content .pill,
    .main-content .badge,
    .main-content input,
    .main-content select,
    .main-content textarea {
        font-size: 12px !important;
    }

    .main-content button,
    .main-content .button,
    .main-content .btn,
    .main-content .tab-button {
        padding: 8px 12px !important;
        border-radius: 11px !important;
    }

    .main-content .pill,
    .main-content .badge,
    .main-content .status-pill {
        padding: 4px 8px !important;
        border-radius: 999px !important;
    }

    .main-content input,
    .main-content select,
    .main-content textarea {
        padding: 8px 10px !important;
        border-radius: 10px !important;
    }

    .main-content .tabs,
    .main-content .tab-row,
    .main-content .filter-row,
    .main-content .action-row {
        gap: 8px !important;
        margin-bottom: 14px !important;
    }

    .horse-profile-page .horse-showcase-card {
        padding: 22px !important;
        min-height: 0 !important;
    }

    .horse-profile-page .horse-name-stat-block {
        transform: scale(.92);
        transform-origin: top center;
    }

    .horse-profile-page .horse-equipment-panel,
    .horse-profile-page .horse-info-panel {
        padding: 18px !important;
    }

    .horse-profile-page .horse-showcase-image {
        min-height: 260px !important;
    }

    .horse-profile-page .horse-profile-tabs {
        margin-top: 16px !important;
        margin-bottom: 16px !important;
    }
}
/* END_CONTENT_COMPACT_POLISH_V1 */







/* STABLE_TOP_COMPACT_V2
   Mijn Stal nog compacter maken zonder de bestaande stijl te breken. */
@media (min-width: 761px) {
    .content-card.stable-page,
    .stable-page {
        padding: 16px !important;
    }

    .stable-page .stable-hero-header {
        padding: 13px 18px !important;
        margin-bottom: 10px !important;
        min-height: 0 !important;
        border-radius: 13px !important;
    }

    .stable-page .stable-kicker {
        font-size: 9px !important;
        letter-spacing: .15em !important;
        margin-bottom: 3px !important;
    }

    .stable-page .stable-hero-header h1 {
        font-size: 24px !important;
        line-height: 1 !important;
        margin-bottom: 3px !important;
    }

    .stable-page .stable-hero-header p {
        font-size: 11px !important;
        line-height: 1.25 !important;
        max-width: 600px !important;
    }

    .stable-page .stable-hero-count {
        min-width: 88px !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
    }

    .stable-page .stable-hero-count strong {
        font-size: 23px !important;
        line-height: 1 !important;
    }

    .stable-page .stable-hero-count span {
        font-size: 10px !important;
    }

    .stable-page .stable-capacity-summary-grid {
        gap: 9px !important;
        margin-bottom: 9px !important;
    }

    .stable-page .stable-summary-card {
        padding: 9px 12px !important;
        min-height: 56px !important;
        border-radius: 12px !important;
    }

    .stable-page .stable-summary-card span {
        font-size: 10px !important;
        margin-bottom: 3px !important;
    }

    .stable-page .stable-summary-card strong {
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .stable-page .stable-capacity-links {
        gap: 8px !important;
        margin-top: 6px !important;
        margin-bottom: 9px !important;
    }

    .stable-page .stable-capacity-links a {
        padding: 7px 13px !important;
        font-size: 11px !important;
        border-radius: 999px !important;
    }

    .stable-page .stable-location-note {
        padding: 9px 12px !important;
        margin: 9px 0 !important;
        border-radius: 11px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .stable-page .stable-tabs {
        padding: 7px 10px !important;
        margin: 9px 0 11px !important;
        min-height: 0 !important;
        border-radius: 12px !important;
        gap: 6px !important;
    }

    .stable-page .stable-tabs a {
        padding: 7px 13px !important;
        font-size: 11px !important;
        border-radius: 999px !important;
    }

    .stable-page .stable-table-card,
    .stable-page .stable-tools-card {
        padding: 14px !important;
        border-radius: 13px !important;
        margin-top: 10px !important;
    }

    .stable-page .stable-table-header {
        margin-bottom: 9px !important;
    }

    .stable-page .stable-table-header h2,
    .stable-page .stable-tools-card h2 {
        font-size: 20px !important;
        margin-bottom: 6px !important;
    }

    .stable-page .stable-table-header span {
        padding: 5px 10px !important;
        font-size: 10px !important;
    }

    .stable-page .stable-horse-table th,
    .stable-page .stable-horse-table td {
        padding: 7px 8px !important;
        font-size: 11px !important;
        line-height: 1.18 !important;
    }

    .stable-page .stable-horse-table th {
        font-size: 10px !important;
    }

    .stable-page .stable-bar {
        height: 7px !important;
    }

    .stable-page .stable-column-options {
        padding: 10px 12px !important;
        margin-top: 10px !important;
    }

    .stable-page .stable-column-options h3 {
        font-size: 14px !important;
        margin-bottom: 8px !important;
    }

    .stable-page .stable-column-options label {
        font-size: 11px !important;
    }

    .stable-page .stable-tab-form,
    .stable-page .stable-tab-manage-row {
        gap: 8px !important;
    }

    .stable-page .stable-tab-form input,
    .stable-page .stable-tab-manage-row input {
        padding: 7px 9px !important;
        font-size: 11px !important;
    }

    .stable-page .stable-button,
    .stable-page .stable-tab-manage-row button,
    .stable-page .stable-tab-form button {
        padding: 7px 12px !important;
        font-size: 11px !important;
        border-radius: 10px !important;
    }
}
/* END_STABLE_TOP_COMPACT_V2 */




/* BREEDS_PAGE_COMPACT_V1
   Rassenpagina compacter maken: vooral raskaarten lager en rustiger. */
@media (min-width: 761px) {
    .breeds-page {
        padding: 16px !important;
    }

    .breeds-page .breeds-hero {
        padding: 14px 18px !important;
        margin-bottom: 10px !important;
        min-height: 0 !important;
        border-radius: 13px !important;
    }

    .breeds-page .breeds-hero span {
        font-size: 9px !important;
        letter-spacing: .15em !important;
        margin-bottom: 3px !important;
    }

    .breeds-page .breeds-hero h1 {
        font-size: 24px !important;
        line-height: 1 !important;
        margin-bottom: 4px !important;
    }

    .breeds-page .breeds-hero p {
        font-size: 11px !important;
        line-height: 1.3 !important;
        max-width: 720px !important;
    }

    .breeds-page .breeds-summary-grid {
        gap: 8px !important;
        margin: 10px 0 !important;
    }

    .breeds-page .breeds-summary-grid article {
        padding: 9px 12px !important;
        min-height: 54px !important;
        border-radius: 11px !important;
    }

    .breeds-page .breeds-summary-grid span {
        font-size: 10px !important;
        margin-bottom: 2px !important;
    }

    .breeds-page .breeds-summary-grid strong {
        font-size: 18px !important;
        line-height: 1 !important;
    }

    .breeds-page .breeds-filter-card {
        padding: 10px 12px !important;
        margin: 10px 0 12px !important;
        border-radius: 12px !important;
    }

    .breeds-page .breeds-filter-form {
        gap: 8px !important;
        align-items: end !important;
    }

    .breeds-page .breeds-filter-form label {
        font-size: 9px !important;
        margin-bottom: 3px !important;
    }

    .breeds-page .breeds-filter-form input,
    .breeds-page .breeds-filter-form select {
        min-height: 30px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
        border-radius: 9px !important;
    }

    .breeds-page .breeds-filter-form button,
    .breeds-page .breeds-filter-form a,
    .breeds-page .breeds-reset-button {
        min-height: 30px !important;
        padding: 7px 11px !important;
        font-size: 11px !important;
        border-radius: 9px !important;
    }

    .breeds-page .breeds-list-card {
        padding: 13px 14px !important;
        border-radius: 13px !important;
        margin-top: 10px !important;
    }

    .breeds-page .breeds-list-head {
        margin-bottom: 10px !important;
        align-items: center !important;
    }

    .breeds-page .breeds-list-head h2 {
        font-size: 20px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    .breeds-page .breeds-list-head p {
        font-size: 10px !important;
        padding: 4px 8px !important;
        border-radius: 999px !important;
    }

    .breeds-page .breeds-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .breeds-page .breed-card {
        display: grid !important;
        grid-template-columns: 32px minmax(0, 1fr) !important;
        gap: 9px !important;
        align-items: start !important;
        padding: 8px 10px !important;
        min-height: 0 !important;
        border-radius: 11px !important;
        box-shadow: 0 4px 12px rgba(48,66,45,.035) !important;
    }

    .breeds-page .breed-card-icon {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        font-size: 14px !important;
        border-radius: 9px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .breeds-page .breed-card-body {
        min-width: 0 !important;
    }

    .breeds-page .breed-card h3 {
        font-size: 13px !important;
        line-height: 1.1 !important;
        margin: 0 0 3px !important;
    }

    .breeds-page .breed-card h3 a {
        font-size: inherit !important;
        line-height: inherit !important;
    }

    .breeds-page .breed-meta {
        gap: 4px !important;
        margin: 0 0 4px !important;
    }

    .breeds-page .breed-meta span {
        font-size: 9px !important;
        line-height: 1 !important;
        padding: 3px 6px !important;
        border-radius: 999px !important;
    }

    .breeds-page .breed-card p {
        font-size: 10px !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        color: #5f675c !important;

        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
}
/* END_BREEDS_PAGE_COMPACT_V1 */




/* FORUM_CLASSIC_COMPACT_V1
   Forum-overzicht compacter maken zonder forumtopic/beheerpagina's te raken. */
@media (min-width: 761px) {
    .forum-classic-page {
        padding: 16px !important;
    }

    .forum-classic-page .forum-classic-top {
        margin-bottom: 10px !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .forum-classic-page .forum-classic-top span {
        font-size: 9px !important;
        letter-spacing: .16em !important;
        margin-bottom: 3px !important;
    }

    .forum-classic-page .forum-classic-top h1 {
        font-size: 25px !important;
        line-height: 1 !important;
        margin: 0 0 5px !important;
    }

    .forum-classic-page .forum-new-topic-button,
    .forum-classic-page .forum-staff-reports-link,
    .forum-classic-page .forum-staff-bans-link,
    .forum-classic-page .forum-category-rights-link,
    .forum-classic-page .forum-categories-manage-link,
    .forum-classic-page .forum-sections-manage-link {
        padding: 6px 11px !important;
        min-height: 28px !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        border-radius: 9px !important;
        margin: 3px 4px 3px 0 !important;
    }

    .forum-classic-page .forum-staff-reports-link span,
    .forum-classic-page .forum-staff-bans-link span {
        padding: 1px 5px !important;
        font-size: 9px !important;
    }

    .forum-classic-page .forum-search-bar {
        padding: 8px 0 !important;
        margin: 8px 0 12px !important;
        gap: 7px !important;
        align-items: center !important;
    }

    .forum-classic-page .forum-search-bar input[type="text"] {
        min-height: 30px !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
        border-radius: 8px !important;
    }

    .forum-classic-page .forum-search-bar label {
        font-size: 10px !important;
        gap: 4px !important;
    }

    .forum-classic-page .forum-search-bar button,
    .forum-classic-page .forum-search-bar a {
        min-height: 30px !important;
        padding: 6px 11px !important;
        font-size: 10px !important;
        border-radius: 8px !important;
    }

    .forum-classic-page .forum-classic-section {
        margin: 0 0 14px !important;
        border-radius: 11px !important;
        overflow: hidden !important;
    }

    .forum-classic-page .forum-classic-section header {
        min-height: 0 !important;
        padding: 8px 13px !important;
        border-radius: 0 !important;
    }

    .forum-classic-page .forum-classic-section header > div {
        gap: 7px !important;
        align-items: center !important;
    }

    .forum-classic-page .forum-section-icon {
        width: 14px !important;
        min-width: 14px !important;
        height: 14px !important;
        font-size: 10px !important;
        line-height: 14px !important;
    }

    .forum-classic-page .forum-classic-section h2 {
        font-size: 17px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .forum-classic-page .forum-classic-section header strong {
        min-width: 24px !important;
        height: 22px !important;
        padding: 0 7px !important;
        font-size: 10px !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .forum-classic-page .forum-classic-table {
        border-radius: 0 0 11px 11px !important;
    }

    .forum-classic-page .forum-classic-table-head {
        min-height: 0 !important;
        padding: 6px 12px !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .forum-classic-page .forum-classic-table-head span {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .forum-classic-page .forum-classic-row {
        min-height: 0 !important;
        padding: 8px 12px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .forum-classic-page .forum-classic-row > span {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .forum-classic-page .forum-classic-forum {
        gap: 8px !important;
    }

    .forum-classic-page .forum-status-dot {
        width: 5px !important;
        height: 5px !important;
        min-width: 5px !important;
    }

    .forum-classic-page .forum-classic-forum strong {
        font-size: 12px !important;
        line-height: 1.15 !important;
        margin-bottom: 2px !important;
    }

    .forum-classic-page .forum-classic-forum em {
        font-size: 10px !important;
        line-height: 1.2 !important;
        opacity: .82 !important;
    }

    .forum-classic-page .forum-classic-empty {
        padding: 12px !important;
        font-size: 12px !important;
        border-radius: 11px !important;
    }
}
/* END_FORUM_CLASSIC_COMPACT_V1 */

