/* De val van de Raad — stijl */

:root {
    --bg:#090d11;
    --panel:#121a20;
    --panel2:#19242c;
    --line:#34414a;
    --gold:#d4ad60;
    --text:#eee9df;
    --muted:#9da9af;
    --green:#83c99b;
    --red:#e8877d;
    --blue:#293c48;
}

* {
    box-sizing:border-box;
}

html {
    min-height:100%;
    background:var(--bg);
}

body {
    margin:0;
    background:radial-gradient(ellipse at top,#1b2a33 0,#090d11 58%);
    color:var(--text);
    font:15px/1.55 Georgia,'Times New Roman',serif;
    min-height:100vh;
}

a {
    color:var(--gold);
    text-decoration:none;
}

a:hover {
    color:#f6d88f;
}

button,input,select,textarea {
    font:inherit;
}

button:disabled {
    opacity:.4;
    cursor:not-allowed;
}

.topbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    padding:20px clamp(16px,4vw,52px);
    border-bottom:1px solid var(--line);
    background:#080c10eF;
}

.brand {
    font-size:22px;
    letter-spacing:3px;
    color:var(--gold);
    font-weight:bold;
}

.brand span {
    color:var(--text);
}

.topbar p {
    margin:4px 0 0;
    color:var(--muted);
    font-size:13px;
}

.top-actions,.hero-actions {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    border:1px solid #a9874c;
    border-radius:4px;
    padding:10px 15px;
    color:#fff1cf;
    background:linear-gradient(#795d30,#4c391b);
    cursor:pointer;
    text-decoration:none;
}

.btn:hover {
    filter:brightness(1.15);
    color:#fff;
}

.btn-quiet {
    background:#12191f;
    border-color:#47535b;
    color:var(--text);
}

.btn-wide {
    width:100%;
    margin-top:10px;
}

.btn-small {
    padding:7px 10px;
    font-size:13px;
}

.flash {
    max-width:1100px;
    margin:14px auto;
    padding:12px 16px;
    border:1px solid var(--green);
    background:#13271e;
    color:#d5f1df;
    border-radius:5px;
}

.flash.bad {
    border-color:var(--red);
    background:#301b1b;
    color:#ffd9d4;
}

.auth-wrap {
    max-width:1240px;
    margin:42px auto;
    padding:0 22px;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
    gap:24px;
    align-items:stretch;
}

.auth-hero {
    padding:clamp(25px,5vw,64px);
    min-height:460px;
    border:1px solid #34434b;
    border-radius:8px;
    background:linear-gradient(120deg,#0b1116f5,#0b11169c),radial-gradient(ellipse at 78% 32%,#5d634a,#273a40 42%,#10161b 75%);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.eyebrow {
    font:11px/1.4 Arial,sans-serif;
    letter-spacing:2px;
    color:var(--gold);
    text-transform:uppercase;
}

.auth-hero h1 {
    font-size:clamp(35px,5vw,62px);
    line-height:1.08;
    margin:20px 0;
}

.auth-hero h1 em {
    color:var(--gold);
    font-weight:normal;
}

.auth-hero p {
    max-width:560px;
    color:#c2c9c9;
    font-size:17px;
}

.feature-row {
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    margin-top:38px;
    color:#aab5b9;
    font:10px Arial,sans-serif;
    letter-spacing:1.5px;
}

.auth-card,.panel,.stat-card {
    background:linear-gradient(145deg,#172129,#10161b);
    border:1px solid var(--line);
    border-radius:7px;
}

.auth-card {
    padding:30px;
    align-self:center;
}

.auth-card h2 {
    font-size:27px;
    margin:10px 0;
}

.auth-card p {
    color:var(--muted);
}

.auth-mark {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid var(--gold);
    color:var(--gold);
    font-size:28px;
    margin-bottom:20px;
}

.auth-card label,.panel label {
    display:block;
    margin:14px 0 6px;
    color:#c8d0d2;
    font-size:13px;
}

.auth-card input,.panel input,.panel select,.panel textarea {
    width:100%;
    padding:11px;
    background:#080d11;
    border:1px solid #46545d;
    border-radius:4px;
    color:var(--text);
    outline:none;
}

.auth-card input:focus,.panel input:focus,.panel textarea:focus {
    border-color:var(--gold);
}

.switch-auth {
    text-align:center;
    margin-top:18px;
    font-size:13px;
}

.app-layout {
    max-width:1500px;
    margin:24px auto;
    padding:0 20px;
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:20px;
}

.sidebar {
    height:max-content;
    background:#0d1318;
    border:1px solid var(--line);
    border-radius:7px;
    padding:12px;
}

.player-badge {
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px 8px 18px;
    border-bottom:1px solid var(--line);
    margin-bottom:10px;
}

.avatar {
    width:40px;
    height:40px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#4a3920;
    border:1px solid var(--gold);
    color:#f6d88f;
    font-size:20px;
}

.player-badge strong,.player-badge small {
    display:block;
}

.player-badge small {
    color:var(--muted);
    margin-top:3px;
}

.sidebar nav {
    display:grid;
    gap:4px;
}

.sidebar nav a {
    padding:10px 12px;
    color:#cbd0d0;
    border-radius:4px;
}

.sidebar nav a:hover,.sidebar nav a.active {
    background:#40331f;
    color:#f4d58e;
}

.sidebar-note {
    border-top:1px solid var(--line);
    margin-top:18px;
    padding:15px 8px 4px;
    color:var(--muted);
    font-size:13px;
}

.main-content {
    min-width:0;
}

.page-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin:4px 0 20px;
    flex-wrap:wrap;
}

.page-heading h1 {
    font-size:clamp(26px,3vw,38px);
    font-weight:normal;
    margin:5px 0;
}

.season-chip {
    border:1px solid #715b35;
    color:var(--gold);
    padding:10px 14px;
    font-size:12px;
    letter-spacing:1px;
}

.season-chip small {
    display:block;
    color:var(--muted);
    letter-spacing:0;
    margin-top:4px;
}

.stat-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.stat-card {
    padding:17px;
}

.stat-card small,.stat-card span {
    display:block;
    color:var(--muted);
}

.stat-card strong {
    display:block;
    font-size:clamp(20px,2.4vw,29px);
    color:var(--gold);
    margin:6px 0;
}

.stat-card span {
    font-size:12px;
}

.panel {
    padding:22px;
    margin-bottom:16px;
    min-width:0;
}

.panel h2 {
    font-size:22px;
    font-weight:normal;
    color:var(--gold);
    margin:0 0 14px;
}

.panel h3 {
    font-weight:normal;
}

.panel p {
    color:#cbd0cf;
}

.muted {
    color:var(--muted)!important;
}

.welcome-panel {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:20px;
    align-items:stretch;
    overflow:hidden;
}

.welcome-panel h2 {
    font-size:clamp(24px,3vw,34px);
    margin-top:12px;
}

.farm-art {
    min-height:190px;
    position:relative;
    overflow:hidden;
    border-radius:4px;
    background:linear-gradient(#263c47,#6c715d 60%,#252d2a);
}

.sun {
    position:absolute;
    width:65px;
    height:65px;
    border-radius:50%;
    background:#d7b66e;
    right:22%;
    top:20%;
    opacity:.85;
}

.barn {
    position:absolute;
    right:20%;
    bottom:30px;
    color:#1a2021;
    font-size:80px;
    text-shadow:0 0 0 #111;
}

.field {
    position:absolute;
    bottom:-30px;
    left:-10%;
    width:130%;
    height:90px;
    background:repeating-linear-gradient(170deg,#252e27 0 8px,#46513a 9px 14px);
}

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

.panel-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.panel-head h2 {
    margin-bottom:12px;
}

.progress {
    height:8px;
    background:#080d11;
    border:1px solid #34414a;
    border-radius:20px;
    overflow:hidden;
    margin:16px 0 8px;
}

.progress span {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#8c6a32,#e3c475);
}

.stat-line {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid #2b363e;
}

.stat-line:last-child {
    border-bottom:0;
}

.stat-line strong {
    color:#f0d18b;
    text-align:right;
}

.activity-row {
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #2b363e;
}

.activity-dot {
    width:8px;
    height:8px;
    flex:0 0 8px;
    margin-top:7px;
    border-radius:50%;
    background:var(--gold);
}

.activity-row small,.market-row small,.message small {
    display:block;
    color:var(--muted);
    margin-top:4px;
}

.market-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:15px 0;
    border-bottom:1px solid #2b363e;
}

.sell-form {
    display:flex;
    gap:8px;
    align-items:center;
}

.sell-form input {
    width:90px;
}

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

.country-card {
    padding:16px;
    border:1px solid #34434b;
    border-radius:5px;
    background:linear-gradient(145deg,#1d2c34,#11181d);
}

.country-card h3 {
    color:var(--gold);
    margin:8px 0;
}

.country-card p {
    font-size:13px;
    color:var(--muted);
}

.rival-row {
    padding:13px 0;
    border-bottom:1px solid #2b363e;
}

.rival-row span,.rival-row small {
    display:block;
    color:var(--muted);
    margin-top:3px;
}

.message {
    padding:13px 0;
    border-bottom:1px solid #2b363e;
}

.message p {
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

textarea {
    min-height:130px;
    resize:vertical;
}

footer {
    text-align:center;
    color:#69767d;
    font-size:12px;
    padding:24px 12px 32px;
}

body>footer {
    margin-top:20px;
}

@media(max-width:950px) {
    .auth-wrap {
        grid-template-columns:1fr;
    }
    .auth-hero {
        min-height:350px;
    }
    .app-layout {
        grid-template-columns:1fr;
    }
    .sidebar nav {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .sidebar-note {
        display:none;
    }
    .stat-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .country-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px) {
    .auth-wrap {
        padding:0 12px;
        margin:18px auto;
    }
    .auth-card {
        padding:22px;
    }
    .app-layout {
        padding:0 12px;
        margin:12px auto;
    }
    .sidebar nav {
        grid-template-columns:1fr 1fr;
    }
    .content-grid,.welcome-panel {
        grid-template-columns:1fr;
    }
    .stat-grid {
        gap:8px;
    }
    .stat-card {
        padding:12px;
    }
    .panel {
        padding:16px;
    }
    .country-grid {
        grid-template-columns:1fr;
    }
    .market-row {
        align-items:flex-start;
        flex-direction:column;
    }
    .sell-form {
        width:100%;
    }
    .sell-form input {
        flex:1;
        width:40px;
    }
    .page-heading h1 {
        font-size:26px;
    }
    .topbar {
        padding:16px;
    }
    .brand {
        font-size:18px;
        letter-spacing:1.5px;
    }
}

.tag {
    display:inline-block;
    border:1px solid #715b35;
    padding:4px 8px;
    color:var(--gold);
    font:11px Arial,sans-serif;
    letter-spacing:1px;
}

.inline {
    display:inline;
}

.inline button {
    font-size:13px;
}

form .btn {
    margin-top:14px;
}

form select {
    margin-bottom:8px;
}

.panel form {
    max-width:560px;
}

/* --- Toegevoegd in versie 1.2: reizen, markt per land, douane --- */

.location {
    padding: 4px 8px 14px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.location strong,
.location small {
    display: block;
}

.location strong {
    color: var(--gold);
    font-size: 18px;
    margin-top: 2px;
}

.location small {
    color: var(--muted);
    margin-top: 2px;
}

.lead {
    color: #cbd0cf;
    font-size: 17px;
    margin: 0 0 16px;
}

.notice {
    border-left: 3px solid var(--gold);
    padding: 8px 12px;
    background: #1b2228;
}

.tag-red {
    border-color: #8a4a44;
    color: var(--red);
    margin-left: 6px;
}

.up {
    color: var(--green);
}

.down {
    color: var(--red);
}

.table-scroll {
    overflow-x: auto;
}

.price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.price-table th,
.price-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #2b363e;
    text-align: right;
    white-space: nowrap;
}

.price-table th:first-child {
    text-align: left;
}

.price-table thead th {
    color: var(--muted);
    font-weight: normal;
}

.price-table td small {
    display: block;
    color: var(--gold);
    font-size: 11px;
}

.price-table td.here {
    background: #2a2416;
}

.europe-map {
    width: 100%;
    max-height: 420px;
    background: radial-gradient(ellipse at 40% 40%, #1d2c34, #0d1318 75%);
    border: 1px solid var(--line);
    border-radius: 5px;
}

.europe-map circle {
    fill: #4a3920;
    stroke: var(--gold);
    stroke-width: 2;
}

.europe-map .here circle {
    fill: var(--gold);
}

.europe-map .ours circle {
    stroke: var(--green);
}

.europe-map text {
    fill: var(--text);
    font: 15px Georgia, serif;
}

.europe-map text.small {
    fill: var(--muted);
    font-size: 12px;
}

.mission.locked {
    opacity: 0.55;
}

.mission.done h2 {
    color: var(--green);
}

.heat-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 70px;
    gap: 14px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #2b363e;
}

.heat-row small {
    display: block;
    color: var(--muted);
}

.heat-row .progress {
    margin: 0;
}

.progress.heat span {
    background: linear-gradient(90deg, #8c6a32, var(--red));
}

.heat-value {
    text-align: right;
    color: #f0d18b;
}

.small-note {
    font-size: 13px;
    margin-top: 12px;
}

.travel-panel h2 {
    font-size: 30px;
}

@media (max-width: 600px) {
    .heat-row {
        grid-template-columns: 1fr 60px;
    }

    .heat-row .progress {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

.europe-map .road {
    stroke: #3c4a52;
    stroke-width: 2;
    stroke-dasharray: 6 6;
}

/* --- Versie 1.3: akkers en stal --- */

.farm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    margin: 4px 0 18px;
}

.farm-actions form .btn {
    margin-top: 0;
    white-space: nowrap;
}

.farm-actions .sell-form select {
    margin-bottom: 0;
    min-width: 260px;
}

.field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 12px;
}

.field-card {
    padding: 14px;
    border: 1px solid #34434b;
    border-radius: 5px;
    background: linear-gradient(145deg, #1d2c34, #11181d);
}

.field-card.groeit {
    background: linear-gradient(145deg, #1f2e22, #11181d);
    border-color: #3c5a40;
}

.field-card.klaar {
    background: linear-gradient(145deg, #3a3018, #15130d);
    border-color: var(--gold);
}

.field-card h3 {
    margin: 6px 0 8px;
    font-weight: normal;
    color: var(--text);
}

.field-card .progress {
    margin: 8px 0 6px;
}

.field-card p {
    margin: 6px 0;
    font-size: 13px;
}

.field-card select {
    font-size: 13px;
    padding: 8px;
}

.field-card form .btn {
    margin-top: 8px;
}

.field-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.field-state {
    font: 11px Arial, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--muted);
}

.field-card.groeit .field-state {
    color: var(--green);
}

.field-card.klaar .field-state {
    color: var(--gold);
}

.subhead {
    margin-top: 22px !important;
}

@media (max-width: 600px) {
    .farm-actions,
    .farm-actions form,
    .farm-actions .sell-form {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .farm-actions .sell-form select {
        min-width: 0;
        width: 100%;
    }

    .farm-actions .btn {
        width: 100%;
    }
}

/* --- Versie 1.4: detectivebureau --- */

.detective {
    margin: 16px 0 8px;
    padding: 16px;
    border: 1px solid #34434b;
    border-radius: 5px;
    background: #0d1318;
}

.detective p {
    margin: 8px 0;
}

.detective .found strong {
    color: var(--gold);
}

.detective-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.panel .detective-option {
    max-width: none;
    padding: 14px;
    border: 1px solid #34434b;
    border-radius: 5px;
    background: linear-gradient(145deg, #1d2c34, #11181d);
}

.detective-option strong,
.detective-option small {
    display: block;
}

.detective-option small {
    color: var(--muted);
    margin-top: 4px;
}

.detective-option .btn {
    margin-top: 10px;
}

/* --- Versie 1.5: De Europese Courant --- */

.newspaper {
    --ink: #221d16;
    --ink-soft: #5c5244;
    --paper: #ece4d2;
    background: var(--paper);
    color: var(--ink);
    border-radius: 3px;
    padding: clamp(16px, 3vw, 34px);
    box-shadow: 0 10px 30px #0008;
    font-family: Georgia, 'Times New Roman', serif;
}

.newspaper p {
    color: var(--ink);
}

.masthead {
    text-align: center;
    border-bottom: 3px double var(--ink);
    padding-bottom: 10px;
    margin-bottom: 18px;
}

.masthead h2 {
    font-size: clamp(30px, 5vw, 54px);
    font-weight: bold;
    letter-spacing: 1px;
    margin: 6px 0;
    color: var(--ink);
    font-variant: small-caps;
}

.masthead-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    font: 12px Arial, sans-serif;
    letter-spacing: 0.5px;
    color: var(--ink-soft);
    border-top: 1px solid var(--ink);
    border-bottom: 1px solid var(--ink);
    padding: 4px 0;
}

.masthead-meta + h2 + .masthead-meta {
    border-top: 0;
}

.lead-story {
    border-bottom: 1px solid var(--ink);
    padding-bottom: 14px;
    margin-bottom: 16px;
}

.lead-story h3 {
    font-size: clamp(24px, 3.4vw, 36px);
    line-height: 1.15;
    margin: 0 0 8px;
}

.lead-story p {
    font-size: 17px;
    margin: 6px 0;
}

.newspaper .note {
    font: italic 13px Georgia, serif;
    color: var(--ink-soft);
}

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

.news-item {
    padding: 0 16px;
    border-left: 1px solid #b9ad94;
}

.news-item:first-child {
    padding-left: 0;
    border-left: 0;
}

.news-item:last-child {
    padding-right: 0;
}

.news-item h4 {
    font-size: 20px;
    line-height: 1.2;
    margin: 6px 0;
}

.news-item p {
    font-size: 15px;
    margin: 6px 0;
}

.kicker {
    display: block;
    font: bold 11px Arial, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8a2f1f;
}

.classifieds .ad {
    border: 1px solid var(--ink);
    padding: 10px 12px;
    margin: 8px 0;
    background: #e3d9c3;
}

.classifieds .ad h4 {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 4px;
}

.classifieds .ad p {
    font-size: 14px;
    margin: 0;
}

.job-status {
    font: 13px Arial, sans-serif;
    color: var(--ink-soft) !important;
    border-top: 1px dotted #9d9078;
    padding-top: 8px;
    margin-top: 10px !important;
}

.job-status.done {
    color: #2f6b3c !important;
    font-weight: bold;
}

.newspaper .btn {
    margin-top: 4px;
}

.newspaper form {
    max-width: none;
}

.newspaper .btn:disabled {
    opacity: 0.45;
}

.briefs {
    border-top: 3px double var(--ink);
    margin-top: 18px;
    padding-top: 10px;
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    gap: 16px;
    align-items: baseline;
}

.briefs p {
    font-size: 14px;
    margin: 0;
}

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

    .news-item,
    .news-item:first-child {
        padding: 14px 0;
        border-left: 0;
        border-top: 1px solid #b9ad94;
    }

    .briefs {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* --- Versie 1.6: de gevangenis --- */

.cell {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    background: linear-gradient(145deg, #1a1f24, #0b0e11);
}

.cell-bars {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg, transparent 0 46px, #2b3238 46px 54px);
    opacity: 0.55;
    pointer-events: none;
}

.cell-content {
    position: relative;
    max-width: 640px;
}

.cell h2 {
    font-size: clamp(28px, 4vw, 40px);
    color: var(--text) !important;
    margin-top: 8px !important;
}

.cell .progress span {
    background: linear-gradient(90deg, #5a6770, #b7c2c8);
}

.cell-time {
    font-size: 18px;
}

.whisper {
    font-style: italic;
    font-size: 17px;
    border-left: 3px solid #5a6770;
    padding-left: 12px;
}

/* --- Versie 1.7: de strijd om de lege troon in de krant --- */

.throne {
    border-top: 3px double var(--ink);
    margin-top: 18px;
    padding-top: 12px;
}

.throne-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.throne-season {
    font: 12px Arial, sans-serif;
    color: var(--ink-soft);
}

.throne h3 {
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.15;
    margin: 6px 0;
}

.throne-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 22px;
    margin-top: 10px;
}

.throne-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.throne-table th {
    text-align: left;
    font: bold 11px Arial, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink-soft);
    border-bottom: 2px solid var(--ink);
    padding: 6px 8px 6px 0;
}

.throne-table td {
    padding: 7px 8px 7px 0;
    border-bottom: 1px solid #b9ad94;
    vertical-align: top;
}

.throne-table td:nth-child(3),
.throne-table th:nth-child(3) {
    text-align: right;
    padding-right: 14px;
}

.throne-table tr.mine td {
    background: #d9cdae;
    font-weight: bold;
}

.throne-side {
    border-left: 1px solid #b9ad94;
    padding-left: 18px;
}

.throne-side h4 {
    font-size: 16px;
    margin: 0 0 6px;
}

.throne-side h4 + p,
.throne-side p {
    font-size: 14px;
    margin: 0 0 8px;
}

.throne-side h4:not(:first-child) {
    margin-top: 14px;
}

.event-date {
    display: block;
    font: 11px Arial, sans-serif;
    color: var(--ink-soft);
}

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

    .throne-side {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid #b9ad94;
        padding-top: 12px;
    }
}

/* --- Versie 1.8: de winkel --- */

.shop-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

.shop-card {
    display: flex;
    flex-direction: column;
    padding: 16px;
    border: 1px solid #34434b;
    border-radius: 6px;
    background: linear-gradient(145deg, #1d2c34, #11181d);
}

.shop-card.current {
    border-color: var(--gold);
}

.shop-card h3 {
    margin: 4px 0 6px;
    color: var(--gold);
    font-weight: normal;
}

.shop-card p {
    font-size: 14px;
    margin: 0 0 8px;
}

.shop-card .stat-line {
    font-size: 14px;
    padding: 7px 0;
}

.shop-card form {
    margin-top: auto;
    padding-top: 6px;
}

.shop-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.vehicle-icon {
    font-size: 38px;
    line-height: 1;
    margin: 10px 0 4px;
}

.vehicle-switch {
    margin: 6px 0 4px;
}

.vehicle-switch select {
    margin-bottom: 0;
}

.vehicle-switch .btn {
    margin-top: 0;
}

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

.possessions h3 {
    color: var(--gold);
    font-weight: normal;
    margin: 4px 0 6px;
}

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

.danger-zone {
    border-color: #6b3a35;
}

.danger-zone h2 {
    color: var(--red) !important;
}

.btn-danger {
    background: linear-gradient(#7a3a32, #4d211c);
    border-color: #a0544a;
}

/* --- Versie 2.0: klussen --- */

.crime-tier.locked {
    opacity: 0.6;
}

.crime-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

.crime-card {
    display: flex;
    flex-direction: column;
    padding: 14px;
    border: 1px solid #34434b;
    border-radius: 6px;
    background: linear-gradient(145deg, #1d2c34, #11181d);
}

.crime-card h3 {
    margin: 0 0 6px;
    font-weight: normal;
    color: var(--gold);
    font-size: 18px;
}

.crime-card p {
    font-size: 14px;
    margin: 0 0 10px;
}

.crime-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 12px;
}

.crime-facts strong {
    display: block;
    color: #f0d18b;
    font-weight: normal;
}

.crime-card form,
.crime-card > .btn,
.crime-card > .small-note {
    margin-top: auto;
}

.car-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.car-actions form .btn {
    margin-top: 0;
}

/* --- Versie 2.1: beheer, seizoenen, prijzenkast --- */

.notice-from-editor {
    border: 2px solid var(--ink);
    padding: 12px 16px;
    margin-bottom: 16px;
    background: #e3d9c3;
}

.notice-from-editor h3 {
    margin: 4px 0;
    font-size: 22px;
}

.notice-from-editor p {
    margin: 4px 0;
}

.book-divider {
    font-weight: normal;
    color: var(--gold);
    margin: 28px 0 14px;
    display: flex;
    gap: 12px;
    align-items: center;
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.admin-stat {
    padding: 12px;
    border: 1px solid #34434b;
    border-radius: 5px;
    background: #0d1318;
}

.admin-stat small,
.admin-stat strong {
    display: block;
}

.admin-stat small {
    color: var(--muted);
    font-size: 12px;
}

.admin-stat strong {
    color: var(--gold);
    font-size: 22px;
    font-weight: normal;
    margin-top: 4px;
}

.admin-lists h3 {
    color: var(--gold);
    font-weight: normal;
}

.admin-search {
    max-width: 480px;
}

.admin-search .btn {
    margin-top: 0;
}

.admin-player {
    border-bottom: 1px solid #2b363e;
    padding: 10px 0;
}

.admin-player summary {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
}

.admin-player summary .muted {
    font-size: 13px;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    padding: 12px 0 4px;
}

.panel .admin-actions form {
    max-width: none;
}

.admin-actions .btn {
    margin-top: 0;
}

.admin-actions input[type=number] {
    width: 190px;
}

.admin-actions select {
    width: auto;
    margin-bottom: 0;
}

.check {
    display: flex !important;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    white-space: nowrap;
}

.check input {
    width: auto !important;
}

.trophy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px;
}

.trophy {
    padding: 12px;
    border: 1px solid #34434b;
    border-radius: 6px;
    background: #0d1318;
    text-align: center;
}

.trophy.won {
    border-color: var(--gold);
    background: linear-gradient(145deg, #2c2414, #11181d);
}

.trophy.locked {
    opacity: 0.5;
}

.trophy-icon {
    display: block;
    font-size: 32px;
    line-height: 1.2;
}

.trophy strong,
.trophy small {
    display: block;
}

.trophy strong {
    color: var(--gold);
    font-weight: normal;
    margin: 4px 0 2px;
}

.trophy small {
    color: var(--muted);
    font-size: 12px;
}

.history-season h3 {
    color: var(--text);
    font-weight: normal;
    font-size: 22px;
    margin: 0 0 6px;
}

.admin-search input {
    flex: 1;
    width: auto;
}

/* --- Versie 2.2: seizoenen in beheer --- */

.admin-season-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
    margin-top: 14px;
}

.admin-season-form label:not(.check) {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
}

.admin-season-end {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #6b3a35;
    border-radius: 8px;
}

.admin-season-end h3 {
    color: var(--red);
    margin-top: 0;
}

.admin-season-end .admin-season-form {
    align-items: center;
}

/* --- Versie 2.3: koersen elke 4 uur --- */

.market-clock {
    margin: -6px 0 16px;
    font-size: 0.9rem;
    color: var(--muted, #9aa3ad);
}

.price-table td .up,
.price-table td .down,
.price-table td .muted {
    display: block;
    font-size: 0.72rem;
}

/* --- Versie 2.4: overheid en rente --- */

.admin-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.admin-tabs a {
    padding: 8px 16px;
    border: 1px solid var(--line, #2a3540);
    border-radius: 6px;
    color: inherit;
    text-decoration: none;
}

.admin-tabs a.active {
    border-color: var(--gold, #c9a45c);
    color: var(--gold, #c9a45c);
    background: rgba(201, 164, 92, 0.08);
}

/* --- Versie 2.6: politie-invallen --- */

.raid-story {
    border-left: 4px solid var(--red, #c0574c);
    padding-left: 16px;
}

.raid-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line, #2a3540);
}

.raid-row small {
    display: block;
    color: var(--muted, #9aa3ad);
}

.raid-note {
    margin: 10px 0 0;
    padding: 8px 10px;
    border: 1px solid #6b3a35;
    border-radius: 6px;
    font-size: 0.85rem;
}

.sub-tabs {
    margin-top: -4px;
}

.sub-tabs a {
    font-size: 0.92rem;
    padding: 6px 14px;
}

/* --- Versie 2.8: Openbaar Ministerie en rechtbank --- */

.court-story {
    border-left: 4px solid var(--gold, #c9a45c);
    padding-left: 16px;
}

.court-briefs {
    margin: 0 0 20px;
    padding: 10px 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.court-briefs p {
    margin: 6px 0;
}

.case-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line, #2a3540);
}

.case-card small {
    display: block;
    color: var(--muted, #9aa3ad);
}

.case-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Royal dashboard v3 — layout based on the approved visual concept */
:root{--royal-gold:#f4bf59}body{background:#070d15;color:#d7dce5;font-family:Georgia,serif}.topbar{background:#080e18;border-bottom:1px solid #273340;padding:13px 2.2%;display:flex;align-items:center;justify-content:space-between}.brand-wrap{display:flex;align-items:center;gap:17px}.brand-crown{font-size:44px;color:#e8b64f}.top-actions{display:flex;gap:12px;align-items:center}.top-nav{color:#d8dce5;text-decoration:none;padding:10px 16px;border:1px solid #283544;border-radius:7px}.top-nav:hover{border-color:#d7a447}.app-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:16px;max-width:1600px;margin:0 auto;padding:12px}.sidebar{background:linear-gradient(160deg,#0d1b2b,#09111e);border-radius:14px;padding:16px 12px}.sidebar nav a{border-radius:8px;padding:12px 14px}.sidebar nav a.active{background:linear-gradient(120deg,#ffda82,#b87e25);color:#1b150b;font-weight:bold}.side-xp{padding:8px 7px 14px}.side-xp small{display:block;color:#aab7c6;margin-top:6px}.main-content{min-width:0;padding:0 0 20px}.royal-hero{height:255px;border-radius:13px;background:linear-gradient(90deg,#080e18 0%,rgba(7,12,20,.96) 28%,rgba(7,12,20,.05) 100%),url('../images/hero-city.webp') center right/cover;border:1px solid #283647;display:flex;align-items:center;padding:20px 28px;overflow:hidden}.royal-hero h1{font-size:clamp(36px,5vw,64px);line-height:.96;margin:13px 0;color:#fff;letter-spacing:1px}.royal-hero h1 em{font-style:normal;color:#f5c166}.royal-hero p{font-style:italic;color:#d9dbe1;font-size:17px;line-height:1.6}.royal-notice{border:1px solid #327b62;background:linear-gradient(90deg,#102b25,#0a1a22);padding:13px 18px;border-radius:8px;margin:12px 0;color:#e1ece7}.royal-notice a{float:right;color:#c3d0da;text-decoration:none}.royal-mission{display:grid;grid-template-columns:1fr 47%;gap:24px;padding:20px 24px;min-height:200px;align-items:center;background:linear-gradient(120deg,#111c2c,#0b1522)}.royal-mission h2{font-size:28px;color:#f2be56;margin:14px 0}.royal-mission p{line-height:1.7}.royal-farm-image{height:175px;background:url('../images/tuscany.webp') center/cover;border-radius:10px;border:1px solid #374352}.royal-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:13px}.royal-card{min-height:245px;padding:18px;background:linear-gradient(145deg,#111e2d,#0b1521);border:1px solid #293b4d;border-radius:10px}.royal-card h2{font-size:21px;color:#f5bf58;margin:0}.royal-card .panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.royal-card .btn-quiet{font-size:12px;padding:8px 10px}.royal-person{display:flex;align-items:center;gap:14px;margin-bottom:13px}.royal-person .avatar{width:60px;height:60px;flex-shrink:0}.royal-person>div:last-child{flex:1}.royal-person small,.royal-message small,.royal-event small{display:block;color:#9aa9ba;font-size:11px;margin:5px 0}.royal-person .progress{margin-top:9px}.royal-card .stat-line{padding:10px 0}.royal-message{padding:12px 0;border-top:1px solid #293746}.royal-message strong{color:#f0f0f0}.royal-message small{display:inline;margin-left:9px}.royal-message p{color:#b2bfcd;margin:6px 0 0;line-height:1.5}.royal-balances{display:grid;grid-template-columns:1fr 1fr;gap:10px}.royal-balances>div{border:1px solid #2b4053;border-radius:9px;padding:14px;background:#142335}.royal-balances small{display:block;color:#b3bfca}.royal-balances strong{display:block;color:#f2c05e;font-size:21px;margin-top:8px}.royal-deposit{display:flex;gap:9px;margin:10px 0}.royal-deposit input{width:110px;min-width:0}.royal-family{background:linear-gradient(90deg,#111e2d 20%,rgba(12,21,33,.82)),url('../images/council.webp') top right/auto 140px no-repeat}.royal-family h3{color:#f5bf58;margin:17px 0}.royal-event{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #263646}.royal-event>span{color:#f2bf57}.royal-event small{margin:6px 0 0}.royal-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.royal-actions a{min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:#e9eaf0;font-size:27px;background:#17352e;border:1px solid #325a4d;border-radius:10px}.royal-actions a span{font-size:13px}.royal-actions a:nth-child(2){background:#403025;border-color:#715037}.royal-actions a:nth-child(3){background:#172e4b;border-color:#295486}.royal-actions a:nth-child(4){background:#302345;border-color:#4f3975}.royal-actions a:nth-child(5){background:#44222f;border-color:#6a3446}.royal-actions a:nth-child(6){background:#46391f;border-color:#6b5529}.royal-actions a:hover{filter:brightness(1.2);transform:translateY(-2px)}@media(max-width:850px){.app-layout{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav a{width:auto}.royal-hero{height:230px}.top-nav{display:none}}@media(max-width:620px){.royal-grid,.royal-mission{grid-template-columns:1fr}.royal-hero{height:210px;padding:18px}.royal-farm-image{height:155px}.royal-notice a{float:none;display:block;margin-top:6px}.royal-actions{grid-template-columns:repeat(2,1fr)}}

/* v4 — nauwkeurige uitwerking van het aangeleverde dashboardontwerp */
:root{--gold:#f3bb51;--royal-gold:#f3bb51}*{box-sizing:border-box}body{margin:0;background:#070d15;color:#dce3ec;font-family:Georgia,'Times New Roman',serif;font-size:14px}.topbar{height:74px;padding:0 22px;background:#080e18;border-bottom:1px solid #253244;gap:18px}.brand-wrap{gap:16px;min-width:0}.brand-crown{font-size:43px;line-height:1;color:#ffc44f;text-shadow:0 0 19px #b57b2460}.brand{font-size:23px;letter-spacing:2.3px;font-weight:700;white-space:nowrap}.brand span{color:#f4f0e8}.brand-wrap p{margin:4px 0 0;color:#98a8bb;font-size:13px}.top-actions{gap:10px}.top-nav{font-size:12px;border:1px solid #223146;background:#0b1421;border-radius:7px;padding:13px 12px;white-space:nowrap}.top-nav-active{border-color:#a97729;background:linear-gradient(#2c261d,#141a22);color:#ffd071}.theme-toggle,.theme-moon{border:0;background:transparent;color:#f6bf4e;font-size:24px;padding:4px 2px}.theme-moon{color:#d6e2ef}.top-user{display:flex;gap:11px;align-items:center;min-width:174px;padding:8px 11px;border:1px solid #243346;border-radius:9px;text-decoration:none;color:#e8e9ee;background:#0b1421}.top-user small{display:block;font-size:11px;color:#9ca9b8;margin-top:3px}.top-chevron{margin-left:auto}.top-avatar{width:38px!important;height:38px!important;font-size:21px!important;flex:none}.logout-form{display:none}.app-layout{max-width:none;grid-template-columns:200px minmax(0,1fr);gap:14px;padding:0;margin:0}.sidebar{min-height:calc(100vh - 74px);padding:19px 13px 20px;border-radius:0 16px 16px 0;background:linear-gradient(165deg,#0d1b2b,#07101b 85%);border:1px solid #16283b;border-left:0}.sidebar .player-badge{display:flex;gap:11px;align-items:center;padding:7px 4px 13px}.sidebar .player-badge .avatar{width:45px;height:45px;flex:none}.sidebar .player-badge small{display:block;color:#abb6c5;margin-top:5px}.side-xp{padding:0 4px 12px}.side-xp .progress{height:8px;margin:5px 0 8px}.progress{background:#08111c;border:1px solid #304155;border-radius:8px;overflow:hidden}.progress span{display:block;background:linear-gradient(90deg,#b78b39,#ffd071);height:100%;border-radius:8px}.location{display:flex;align-items:center;gap:11px;background:#0c1927;border:1px solid #1c2c3d;border-radius:10px;padding:12px 10px;margin:0 0 13px}.location-pin{font-size:22px;color:#e1e8f2}.location-copy{min-width:0}.location .eyebrow{font-size:10px;color:#9eafc0;letter-spacing:0;text-transform:none}.location strong{display:block;color:#f5e4c7;font-size:14px;margin:4px 0}.location small{font-size:12px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{display:block;padding:12px 13px;font-size:13px;color:#d4dce9;border-radius:8px;text-decoration:none}.sidebar nav a.active{color:#17130c;background:linear-gradient(110deg,#ffdb83,#bc852f);box-shadow:0 3px 18px #e0a94330}.sidebar-note{position:relative;margin-top:20px;padding:15px 12px;background:#0c1827;border:1px solid #1d3043;border-radius:10px}.season-crown{position:absolute;right:14px;top:14px;color:#ffc356;font-size:23px}.sidebar-note p{font-size:11px;color:#a9b4c2}.main-content{padding:0 14px 15px 0;margin-top:0}.royal-hero{height:246px;margin-top:0;border-radius:12px;background-image:linear-gradient(90deg,rgba(5,11,19,.96) 0%,rgba(5,11,19,.83) 26%,rgba(5,11,19,.07) 70%),url('../images/hero-city.webp');background-position:center,center center;background-size:cover;padding:18px 24px}.royal-hero .eyebrow{font-size:10px;letter-spacing:2px}.royal-hero h1{font-size:clamp(43px,5.3vw,66px);letter-spacing:1px;margin:11px 0}.royal-hero p{font-size:15px;margin:10px 0}.royal-notice{margin:10px 3px 12px;border-radius:9px;min-height:39px;padding:10px 15px;font-size:13px}.royal-mission{min-height:201px;padding:19px 22px;grid-template-columns:1fr 47%;gap:20px;border-radius:11px;background:linear-gradient(125deg,#101d2d,#0a1421)}.royal-mission h2{font-size:25px;margin:12px 0}.royal-mission p{font-size:14px;line-height:1.55;margin:0 0 16px}.royal-mission .btn{background:linear-gradient(110deg,#ffd779,#e5a93f);color:#1a140b;border-color:#edbd61;padding:12px 16px;font-weight:700}.royal-farm-image{height:164px;border-radius:9px}.royal-grid{gap:12px;margin-top:12px}.royal-card{min-height:242px;padding:16px;border-radius:11px;background:linear-gradient(135deg,#0e1b2b,#091522)}.royal-card h2{font-size:20px}.royal-card .panel-head{margin-bottom:12px}.royal-person{position:relative;min-height:88px}.royal-person .avatar{background:#302717;border:1px solid #e6b453}.royal-person strong{font-size:15px}.royal-card .stat-line{border-bottom:1px solid #253547;padding:9px 0;font-size:12px}.royal-card .stat-line strong{color:#f7c460}.royal-message{padding:11px 0}.royal-message p{font-size:12px}.royal-balances>div{background:#122336}.royal-family{background-image:linear-gradient(90deg,#0f1b2b 15%,rgba(11,20,32,.82) 65%),url('../images/council.webp');background-position:center,top right;background-repeat:no-repeat;background-size:auto,auto 130px}.royal-actions a{font-size:27px;min-height:80px}.royal-actions a span{font-size:12px}footer{display:flex;justify-content:space-between;gap:16px;padding:13px 20px;background:#080f19;color:#8291a4;font-size:11px;border-top:1px solid #1c2939}footer a{color:inherit;text-decoration:none}.royal-bright .main-content{filter:brightness(1.2)}@media(max-width:1100px){.topbar{padding:0 13px}.brand{font-size:17px}.brand-crown{font-size:32px}.top-nav{padding:10px 8px}.top-user{min-width:130px}.app-layout{grid-template-columns:185px minmax(0,1fr)}.royal-hero{height:225px}}@media(max-width:850px){.app-layout{display:block}.sidebar{min-height:0;border-radius:0;padding:12px}.sidebar nav{flex-direction:row;flex-wrap:wrap}.sidebar nav a{padding:8px}.main-content{padding:12px}.top-user{display:none}.royal-hero{margin-top:0}}@media(max-width:620px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:10px}.top-actions{flex-wrap:wrap}.top-nav span{display:none}.royal-grid,.royal-mission{grid-template-columns:1fr}.royal-hero{height:220px}.royal-farm-image{height:150px}footer{flex-direction:column}.royal-actions{grid-template-columns:repeat(3,1fr)}}


/* Exact reference dashboard layout — only presentation; game routes and actions untouched */
body{background:#070d15;font-size:13px}.topbar{height:74px}.brand-crown{font-size:48px;color:#ffcb59}.brand{font-size:21px}.app-layout{grid-template-columns:200px minmax(0,1fr);gap:14px}.main-content{padding:0 14px 0 0}.sidebar{position:relative;overflow:hidden;padding-bottom:325px}.sidebar:after{content:"";pointer-events:none;position:absolute;bottom:0;left:0;right:0;height:305px;background:url('../images/reference-sidebar.jpg') center bottom/cover no-repeat;opacity:.94;mask-image:linear-gradient(transparent,#000 32%)}.sidebar nav a{padding:12px 13px;line-height:1.35}.sidebar-note{z-index:1}.side-xp small{margin-top:4px}.location{margin-bottom:11px}.side-cash{font-size:14px!important;font-weight:bold;color:#f4e8cf!important}.royal-hero{height:auto;aspect-ratio:795/251;background:url('../images/reference-hero.jpg') center/100% 100% no-repeat;border-radius:13px;padding:0;margin:0}.royal-notice{height:41px;margin:8px 2px 13px;display:flex;align-items:center;justify-content:space-between;background:#09221e;border-color:#257754}.royal-notice a{float:none;font-size:0}.royal-notice a:after{content:'›';font-size:23px}.royal-mission{min-height:202px;grid-template-columns:minmax(0,1fr) 49%;gap:14px;padding:18px 20px;background:linear-gradient(110deg,#101c2b,#0a1422)}.royal-mission .eyebrow{font-size:10px;letter-spacing:2px}.royal-mission h2{font-size:26px}.royal-mission p{font-size:13px;line-height:1.55}.royal-mission .btn{border-radius:6px;padding:12px 17px}.royal-farm-image{height:166px;background:url('../images/reference-farm.jpg') center/cover no-repeat;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;position:relative}.farm-arrow{background:#0a111bce;border:1px solid #ffffff30;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;color:#fff}.farm-dots{font-size:12px;color:white;letter-spacing:3px}.royal-grid{gap:13px;margin-top:13px}.royal-card{padding:16px;min-height:240px;background:linear-gradient(130deg,#0d1a2a,#081421);border:1px solid #203248}.royal-card h2{font-size:19px}.royal-person{min-height:119px;position:relative;padding-left:40px}.royal-profile-art{position:absolute;left:-16px;top:0;bottom:0;width:120px;background:url('../images/reference-profile.jpg') left center/cover no-repeat;mask-image:linear-gradient(90deg,#000 45%,transparent 100%);opacity:.85;pointer-events:none}.royal-person>.avatar{z-index:1;position:relative}.royal-person>div:last-child{z-index:1;position:relative}.royal-family{background:linear-gradient(90deg,#0c1827 10%,#0c1827b8 65%),url('../images/reference-family.jpg') right 44px/58% auto no-repeat}.royal-card .stat-line{min-height:36px}.royal-actions a{min-height:80px}.royal-event{position:relative;border-left:1px solid #59616b;margin-left:9px;padding:8px 0 8px 17px}.royal-event>span{position:absolute;left:-5px;top:12px;color:#eec26a}.royal-message{min-height:65px}.royal-card .tag{font-size:11px}.top-nav{font-size:12px}.top-user{min-width:180px}.sidebar .player-badge{margin-bottom:5px}@media(min-width:1200px){.app-layout{grid-template-columns:200px minmax(0,1fr)}.royal-hero{max-height:355px}}@media(max-width:850px){.sidebar{padding-bottom:16px}.sidebar:after{display:none}.main-content{padding:12px}.royal-hero{aspect-ratio:795/251}}@media(max-width:620px){.royal-mission{grid-template-columns:1fr}.royal-hero{aspect-ratio:795/251}.royal-person{padding-left:0}.royal-profile-art{display:none}}

/* Dashboard v6: layout van de door de gebruiker gekozen BREDE referentie (1792 × 854). */
body:has(.wide-top){background:#020c18}body:has(.wide-top) .topbar{height:72px}body:has(.wide-top) .app-layout{grid-template-columns:268px minmax(0,1fr);gap:16px;padding:6px 14px 0}body:has(.wide-top) .sidebar{padding:12px 10px 16px;min-height:calc(100vh - 78px);border:1px solid #1e4255;border-radius:12px;background:linear-gradient(#071c30,#02101e)}body:has(.wide-top) .sidebar:after{display:none}body:has(.wide-top) .main-content{padding:0;min-width:0}body:has(.wide-top) .sidebar nav a{padding:9px 18px}body:has(.wide-top) .sidebar-note{display:none}body:has(.wide-top) .brand{color:#f8c34e}body:has(.wide-top) .top-actions{margin-left:auto}
.wide-top{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(260px,1fr);gap:14px;height:220px}.wide-hero,.wide-season{background-position:center;background-size:100% 100%;border:1px solid #22465c;border-radius:10px}.wide-hero{background-image:url('../images/wide-hero.jpg')}.wide-season{background-image:url('../images/wide-season.jpg')}.wide-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:12px 0 14px}.wide-shortcuts a{min-height:80px;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px;color:#fff;text-decoration:none;border-radius:9px;border:1px solid #21634d;background:linear-gradient(110deg,#005d4a,#082f31)}.wide-shortcuts a:nth-child(2){background:linear-gradient(110deg,#78401c,#3b261e);border-color:#95521f}.wide-shortcuts a:nth-child(3){background:linear-gradient(110deg,#00598d,#082c4f);border-color:#126ba8}.wide-shortcuts a:nth-child(4){background:linear-gradient(110deg,#522389,#231a4a);border-color:#6735a2}.wide-shortcuts a:nth-child(5){background:linear-gradient(110deg,#7e1c3a,#381326);border-color:#99334b}.wide-shortcuts a:nth-child(6){background:linear-gradient(110deg,#7b6025,#3b321b);border-color:#a47b26}.wide-shortcuts b{font-size:30px}.wide-shortcuts strong,.wide-shortcuts small{display:block}.wide-shortcuts strong{font-size:17px}.wide-shortcuts small{font-size:12px;margin-top:5px}.wide-middle{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:14px;min-height:185px}.wide-notebook{display:block;background:url('../images/wide-notebook.jpg') center/100% 100% no-repeat;border-radius:9px;border:1px solid #7c5636;min-height:185px}.wide-events,.wide-panel{background:linear-gradient(120deg,#031b30,#031322);border:1px solid #1a3c50;border-radius:10px;padding:12px 14px;min-width:0}.wide-title{font-size:17px;font-weight:bold;color:#f7c350;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.wide-title a,.wide-button{color:#e4eaf1;text-decoration:none;border:1px solid #3a5164;border-radius:5px;padding:7px 9px;background:#071526;font-size:11px;font-weight:normal}.wide-event{display:flex;gap:9px;align-items:center;padding:5px 0;border-bottom:1px solid #20374a;font-size:12px}.wide-event span{color:#f6bd4f}.wide-event div{flex:1}.wide-event small{font-size:10px;color:#a2b0be;white-space:nowrap}.wide-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:13px}.wide-panel{min-height:244px;padding:12px 14px}.wide-panel .tag{font-size:10px}.wide-person{display:flex;align-items:center;gap:12px;margin:13px 0}.wide-person .avatar{flex:none}.wide-person>div:last-child{flex:1;min-width:0}.wide-person small{display:block;color:#aebaca;font-size:11px;margin:4px 0}.wide-person .progress{height:9px}.wide-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #1d3445;padding:8px 0;font-size:12px}.wide-row strong{color:#f6c052;text-align:right}.wide-balances{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide-balances>div{background:#09263d;padding:12px;border-radius:8px;font-size:11px}.wide-balances strong{display:block;color:#f8c44f;font-size:20px;margin-top:8px}.wide-form{display:flex;gap:8px;margin:10px 0}.wide-form input{width:90px;min-width:0}.wide-gold{background:#e9ad42;color:#16110b;border:1px solid #ffcf69;border-radius:6px;padding:8px 12px;cursor:pointer;font-weight:bold}.wide-button{display:inline-block;margin-top:10px}.wide-family{background:linear-gradient(#071727c9,#071727),url('../images/reference-family.jpg') top center/100% auto no-repeat}.wide-family h3{color:#f9c655}.wide-message{border-bottom:1px solid #20374a;padding:7px 0}.wide-message small{color:#91a5b7;font-size:10px;margin-left:7px}.wide-message p{font-size:11px;color:#c1ccdb;margin:5px 0}@media(max-width:1350px){.wide-shortcuts{grid-template-columns:repeat(3,1fr)}.wide-bottom{grid-template-columns:repeat(2,1fr)}.wide-top{height:200px}}@media(max-width:850px){body:has(.wide-top) .app-layout{display:block;padding:8px}.wide-top,.wide-middle{grid-template-columns:1fr}.wide-top{height:auto}.wide-hero{height:220px}.wide-season{height:180px}.wide-shortcuts{grid-template-columns:repeat(2,1fr)}.wide-bottom{grid-template-columns:1fr}.wide-notebook{height:180px}}


/* ==========================================================================
   Versie 7.1 — tekst op de dashboardplaatjes, menu onder je naam, thema
   (leesbaar uitgeschreven; de regels hierboven blijven gewoon gelden)
   ========================================================================== */

/* Kop met de stad: tekst staat nu in de pagina, niet meer in het plaatje. */
.wide-hero.dash-hero {
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(90deg, #04101d 0%, #04101d 30%, rgba(4, 16, 29, 0.75) 42%, rgba(4, 16, 29, 0) 62%),
        url('../images/dash-hero.webp');
    background-position: center, right center;
    background-size: cover, auto 100%;
    background-repeat: no-repeat;
}

.dash-hero-copy {
    padding: 0 26px;
}

.dash-kicker {
    color: #f3bb51;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.dash-hero h1 {
    margin: 10px 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 0.95;
    text-transform: uppercase;
}

.dash-hero h1 em {
    display: block;
    color: #f5c166;
    font-style: normal;
}

.dash-hero p {
    margin: 0;
    color: #e3e6ec;
    font-style: italic;
}

/* Seizoensvak: seizoen, klok en datum zijn echte tekst. */
.wide-season.dash-season {
    position: relative;
    padding: 18px 20px;
    background-image:
        linear-gradient(90deg, #071526 0%, rgba(7, 21, 38, 0.92) 45%, rgba(7, 21, 38, 0.1) 100%),
        url('../images/dash-season.webp');
    background-position: center, right bottom;
    background-size: cover, auto 100%;
    background-repeat: no-repeat;
}

.dash-season-head {
    display: flex;
    gap: 12px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.dash-crown {
    color: #ffc44f;
    font-size: 36px;
    line-height: 1;
}

.dash-season-head strong {
    display: block;
    color: #fff;
    font-size: 18px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.dash-season-head small {
    color: #d8dde6;
}

.dash-clock {
    margin-top: 14px;
    color: #fff;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
}

.dash-date {
    margin-top: 6px;
    color: #e3e6ec;
}

.dash-season-left {
    margin-top: 8px;
    color: #f3bb51;
    font-size: 12px;
}

/* Notitieboekje: perkament met de echte missie, landschap rechts. */
.dash-notebook {
    display: flex;
    align-items: center;
    min-height: 185px;
    padding: 18px 22px;
    border: 1px solid #7c5636;
    border-left: 6px solid #6b4426;
    border-radius: 9px;
    background-image:
        linear-gradient(90deg, #efe2c4 0%, #ecdcbb 45%, rgba(236, 220, 187, 0.6) 58%, rgba(236, 220, 187, 0) 72%),
        url('../images/dash-notebook.webp');
    background-position: center, right center;
    background-size: cover, auto 100%;
    background-repeat: no-repeat;
    color: #3b2a17;
}

.dash-notebook-copy {
    max-width: 55%;
}

.dash-notebook .dash-kicker {
    color: #5b4226;
}

.dash-notebook h2 {
    margin: 8px 0;
    color: #2a1c0e;
    font-size: 24px;
}

.dash-notebook p {
    margin: 0 0 14px;
    color: #4a3820;
    line-height: 1.5;
}

.dash-notebook .wide-gold {
    display: inline-block;
    text-decoration: none;
}

.dash-muted {
    color: #aab7c6;
    line-height: 1.5;
}

.dash-bad {
    color: #ff8f80 !important;
}

.wide-family .wide-gold {
    display: inline-block;
    margin-top: 8px;
    text-decoration: none;
}

/* Menu onder je naam rechtsboven, met Uitloggen. */
.top-user-menu {
    position: relative;
}

.top-user-menu summary {
    list-style: none;
    cursor: pointer;
}

.top-user-menu summary::-webkit-details-marker {
    display: none;
}

.top-user-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 20;
    min-width: 190px;
    padding: 6px;
    border: 1px solid #2b3d52;
    border-radius: 9px;
    background: #0b1421;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.top-user-dropdown a,
.top-user-dropdown button {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 6px;
    background: none;
    color: #e3e8ef;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.top-user-dropdown a:hover,
.top-user-dropdown button:hover {
    background: #17263a;
}

.theme-toggle {
    cursor: pointer;
}

/* Helder thema (zonknop). */
.royal-bright body {
    background: #0f1b2b;
}

.royal-bright .main-content,
.royal-bright .sidebar {
    filter: brightness(1.22);
}

/* Op de telefoon: de naam rechtsboven blijft zichtbaar, zodat je kunt uitloggen. */
@media (max-width: 850px) {
    .topbar,
    body:has(.wide-top) .topbar {
        height: auto !important;
        min-height: 64px;
        flex-wrap: wrap;
        padding: 10px 12px;
    }

    .top-actions {
        margin-left: auto;
        position: relative;
        z-index: 30;
    }

    .top-user {
        display: flex !important;
        min-width: 0 !important;
    }

    .top-user > span:nth-child(2) {
        display: none;
    }

    .dash-notebook-copy {
        max-width: 70%;
    }
}

@media (max-width: 620px) {
    .dash-notebook {
        background-image: linear-gradient(90deg, #efe2c4, #ecdcbb);
    }

    .dash-notebook-copy {
        max-width: none;
    }

    .theme-moon,
    .theme-toggle {
        font-size: 20px;
    }
}

/* Familievak: plaatje zonder het ingebakken "4 leden". */
.wide-panel.wide-family {
    background:
        linear-gradient(180deg, rgba(7, 23, 39, 0.55) 0%, #071727 70%),
        url('../images/dash-family.webp') top right / 70% auto no-repeat,
        linear-gradient(120deg, #031b30, #031322);
}
/* v45b: de naam van het spel precies in het midden van de bovenbalk, op elk scherm op één regel.
   Rechts staan de thema-knopjes en je naam; op kleinere schermen alleen je letter, op de telefoon
   zitten de thema-knopjes in het menu onder je naam. */
.topbar{position:relative;z-index:60;height:72px!important;min-height:0!important;flex-wrap:nowrap!important;padding:0 18px!important}
.topbar .brand-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto!important;white-space:nowrap}
.topbar .top-actions{margin-left:auto!important;flex-wrap:nowrap!important;position:relative;z-index:2}
.top-user-dropdown .theme-in-menu{display:none}
@media(max-width:1100px){.top-user{min-width:0!important}.top-user strong,.top-user small{display:none}}
@media(max-width:700px){
  .topbar{height:60px!important;padding:0 10px!important}
  .topbar .brand-wrap{gap:8px}
  .brand{font-size:15px!important;letter-spacing:1.5px!important}
  .brand-crown{font-size:24px!important}
  .brand-wrap p{display:none}
  .topbar .top-actions>.theme-toggle,.topbar .top-actions>.btn{display:none}
  .top-user{padding:4px 6px!important}
  .top-avatar{width:32px!important;height:32px!important;font-size:17px!important}
  .top-user-dropdown .theme-in-menu{display:flex;gap:6px}
  .top-user-dropdown .theme-in-menu button{flex:1;font-size:13px}
}
@media(max-width:400px){.brand{font-size:13px!important;letter-spacing:1px!important}.brand-crown{font-size:20px!important}}
/* v45: hoofdmenu in de bovenbalk, geen menu meer aan de linkerkant */
.main-nav{position:relative;z-index:50;background:#0a1626;border-bottom:1px solid #253244;padding:0 14px}
.main-nav-items{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin:0 auto;padding:0;list-style:none;max-width:1600px}
.main-nav-items>li{position:relative}
.main-nav-items a,.main-nav-items summary{display:flex;align-items:center;gap:4px;padding:11px 13px;color:#e9d6a3;font:700 13px Georgia,serif;letter-spacing:.4px;text-decoration:none;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;list-style:none}
.main-nav-items summary::-webkit-details-marker{display:none}
.main-nav-items a:hover,.main-nav-items summary:hover{color:#ffd77a;background:#0f2238}
.main-nav-items .active,.nav-group[open]>summary{color:#ffcf6e;border-bottom-color:#e3b04b;background:#0f2238}
.nav-caret{font-size:10px;opacity:.8}
.nav-drop{position:absolute;top:100%;left:0;min-width:200px;display:grid;padding:6px;background:#0b1b2d;border:1px solid #b8893a;border-radius:0 0 8px 8px;box-shadow:0 12px 30px rgba(0,0,0,.55)}
.nav-drop a{padding:9px 12px;border-bottom:0;border-radius:5px;font-weight:400}
.nav-drop a.active{background:#173452;color:#ffcf6e}
.main-nav-toggle{display:none}
.app-layout.app-layout-full{display:block!important;max-width:1600px;margin:0 auto!important;padding:12px 14px 0!important}
.app-layout.app-layout-full .main-content{padding:0!important;min-width:0}
.royal-bright .main-nav{background:#f3ead8;border-color:#d8c49a}
.royal-bright .main-nav-items a,.royal-bright .main-nav-items summary{color:#5a3e10}
.royal-bright .nav-drop{background:#fbf5e8}
@media(max-width:900px){
  .main-nav{padding:6px 10px}
  .main-nav-toggle{display:block;width:100%;padding:10px;border:1px solid #b8893a;border-radius:6px;background:#0f2238;color:#ffcf6e;font:700 15px Georgia,serif;cursor:pointer}
  .main-nav-items{display:none;flex-direction:column;gap:0;margin-top:6px}
  .main-nav.open .main-nav-items{display:flex}
  .main-nav-items a,.main-nav-items summary{padding:12px;border-bottom:1px solid #1d3048}
  .nav-drop{position:static;border:0;border-radius:0;box-shadow:none;padding:0 0 4px 18px;background:transparent}
  .app-layout.app-layout-full{padding:8px 8px 0!important}
}
@media(max-width:850px){.top-user{display:flex!important;min-width:0}.top-user strong,.top-user small{display:none}}
@media(min-width:901px) and (max-width:1250px){.main-nav-items a,.main-nav-items summary{padding:11px 8px;font-size:12px;letter-spacing:0}}
/* v47: taalkeuze NL / EN */
.lang-switch{display:flex;border:1px solid #2b3d52;border-radius:7px;overflow:hidden;margin-right:4px}
.lang-switch a{padding:6px 9px;font:700 12px Arial,sans-serif;letter-spacing:.5px;color:#9fb0c3;text-decoration:none;background:#0b1421}
.lang-switch a+a{border-left:1px solid #2b3d52}
.lang-switch a.active{background:#b8893a;color:#120d05}
.lang-switch a:hover:not(.active){color:#ffd77a}
.top-user-dropdown .lang-in-menu a{flex:1;text-align:center;padding:8px;border-radius:5px;font-size:13px}
.top-user-dropdown .lang-in-menu a.active{background:#173452;color:#ffcf6e}
.royal-bright .lang-switch a{background:#f6efe1;color:#6a5124}
.royal-bright .lang-switch a.active{background:#b8893a;color:#fff}
@media(max-width:700px){
  .topbar .lang-switch-player{display:none}
  .lang-switch a{padding:5px 7px;font-size:11px}
  html[lang="en"] .brand{font-size:13px!important;letter-spacing:1px!important}
}
@media(max-width:400px){html[lang="en"] .brand{font-size:11.5px!important;letter-spacing:.5px!important}}
