/* The Phoenix Tail Dashboard v2.9 */
:root{
    --bg-main:#050606;
    --bg-secondary:#0f0c0a;
    --panel-bg:rgba(18,14,12,.94);
    --card-bg:rgba(27,22,18,.92);
    --card-hover:rgba(39,31,25,.98);
    --gold:#cca360;
    --gold-bright:#f3d293;
    --gold-dark:#8c7042;
    --fire:#ff7a18;
    --fire-dark:#b13c00;
    --success:#3cb371;
    --danger:#c43c3c;
    --arcane:#123848;
    --text:#ddd4cb;
    --text-muted:#8d8379;
    --shadow:0 20px 60px rgba(0,0,0,.38);
}

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

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    font-family:'Lora',serif;
    color:var(--text);
    overflow-x:hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,122,24,.14), transparent 28%),
        radial-gradient(circle at 10% 20%, rgba(18,56,72,.18), transparent 28%),
        radial-gradient(circle at 90% 90%, rgba(204,163,96,.08), transparent 32%),
        linear-gradient(180deg,#0c0907,#050606 80%);
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.13;
    z-index:0;
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,.025), rgba(255,255,255,.025) 1px, transparent 1px, transparent 4px);
}

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

.dashboard{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1450px;
    margin:auto;
    padding:20px 12px 60px;
}

@media(min-width: 768px){
    .dashboard{
        padding:32px 20px 80px;
    }
}

.hero{
    text-align:center;
    margin-bottom:32px;
    position:relative;
}

.hero::after{
    content:"";
    width:min(360px,80vw);
    height:1px;
    position:absolute;
    bottom:-16px;
    left:50%;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.logo-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    cursor:pointer;
    border-radius:50%;
    -webkit-tap-highlight-color:transparent;
}

.logo-button::before{
    content:"";
    position:absolute;
    inset:-20px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,122,24,.22), transparent 70%);
    animation:pulseGlow 4s infinite;
}

.guild-logo{
    width:min(260px,75vw);
    position:relative;
    transition:transform .6s ease, filter .6s ease;
    filter:
        drop-shadow(0 0 14px rgba(255,122,24,.28))
        drop-shadow(0 0 28px rgba(204,163,96,.12));
}

.main-title{
    margin-top:14px;
    font-family:'Almendra','Cinzel',serif;
    text-transform:uppercase;
    color:var(--gold);
    letter-spacing:3px;
    font-size:clamp(1.8rem, 4.5vw, 3.5rem);
    text-shadow:0 0 16px rgba(204,163,96,.14);
}

.guild-motto{
    margin-top:6px;
    color:var(--text-muted);
    font-style:italic;
    font-size:0.9rem;
}

@media(min-width: 768px){
    .guild-motto{ font-size:1rem; }
}

/* Dashboard Tabs Navigation */
.dashboard-tabs{
    display:flex;
    justify-content:center;
    gap:8px;
    margin:20px 0 10px;
    flex-wrap:wrap;
}

.tab-btn{
    background:rgba(18,14,12,.8);
    border:1px solid rgba(204,163,96,.2);
    color:var(--text-muted);
    padding:8px 16px;
    border-radius:10px;
    font-family:'Cinzel';
    text-transform:uppercase;
    font-size:0.8rem;
    cursor:pointer;
    transition:all .3s ease;
}

@media(min-width: 768px){
    .tab-btn{ padding:10px 22px; font-size:.9rem; }
}

.tab-btn:hover{
    border-color:var(--gold);
    color:var(--gold-bright);
}

.tab-btn.active{
    background:linear-gradient(135deg,#32261d,#4c3827);
    border-color:var(--gold);
    color:var(--gold-bright);
    box-shadow:0 0 15px rgba(204,163,96,.15);
}

.tab-content{
    display:none;
}

.tab-content.active{
    display:block;
    animation:fadeUp .4s ease forwards;
}

.stats-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:22px auto 0;
    max-width:850px;
}

@media(min-width: 600px){
    .stats-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:16px;
    }
}

.stat-card{
    padding:14px 14px;
    border-radius:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    border:1px solid rgba(204,163,96,.14);
    backdrop-filter:blur(12px);
}

.stat-value{
    display:block;
    font-size:1.6rem;
    color:var(--gold-bright);
    font-family:'Cinzel';
}

.stat-label{
    display:block;
    margin-top:4px;
    color:var(--text-muted);
    font-size:0.85rem;
}

.panel{
    background:var(--panel-bg);
    border:1px solid rgba(204,163,96,.16);
    border-radius:18px;
    padding:18px;
    backdrop-filter:blur(16px);
    box-shadow:var(--shadow);
}

@media(min-width: 768px){
    .panel{ padding:28px; border-radius:22px; }
}

.section-heading{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-end;
    flex-wrap:wrap;
    margin-bottom:20px;
}

.section-title{
    font-family:'Cinzel';
    color:var(--gold);
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:4px;
    font-size:1.15rem;
}

@media(min-width: 768px){
    .section-title{ font-size:1.35rem; }
}

.section-subtitle{
    color:var(--text-muted);
    font-size:0.85rem;
}

@media(min-width: 768px){
    .section-subtitle{ font-size:0.95rem; }
}

/* ADVENTURE BOARD & ARCHIVE ACCORDION BARS */
.board-list, .archive-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.board-bar{
    position:relative;
    background:var(--card-bg);
    border:1px solid rgba(204,163,96,.18);
    border-radius:14px;
    overflow:hidden;
    transition:border-color .3s ease, box-shadow .3s ease;
    cursor:pointer;
}

.board-bar:hover{
    border-color:rgba(204,163,96,.38);
    box-shadow:0 8px 25px rgba(0,0,0,.3);
}

.board-bar:focus-visible,
.tab-btn:focus-visible,
.btn:focus-visible,
.logo-button:focus-visible,
.admin-input:focus-visible,
.modal-input:focus-visible{
    outline:3px solid rgba(243,210,147,.9);
    outline-offset:3px;
}

.board-bar-main{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:85px;
    pointer-events:none; /* Επιτρέπει στο κλικ να περνάει απευθείας στο container */
}

.board-bar-info{
    position:relative;
    z-index:2;
    padding:16px;
    width:100%;
}

@media(min-width: 768px){
    .board-bar-info{
        padding:20px 24px;
        max-width:65%;
    }
}

.board-bar-top-meta{
    display:flex;
    gap:8px;
    align-items:center;
    margin-bottom:5px;
    flex-wrap:wrap;
}

.board-bar-title{
    font-family:'Cinzel';
    color:var(--gold);
    font-size:1.1rem;
    margin-bottom:3px;
}

@media(min-width: 768px){
    .board-bar-title{ font-size:1.25rem; }
}

.board-bar-subtitle{
    color:var(--text-muted);
    font-size:0.82rem;
}

@media(min-width: 768px){
    .board-bar-subtitle{ font-size:.88rem; }
}

.board-bar-image{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:50%;
    background-size:cover;
    mask-image: linear-gradient(to right, transparent, black 50%);
    -webkit-mask-image: linear-gradient(to right, transparent, black 50%);
    opacity:.6;
    z-index:1;
}

@media(min-width: 768px){
    .board-bar-image{
        width:50%;
        opacity:.75;
    }
}

.board-bar-details{
    display:none;
    padding:16px;
    border-top:1px solid rgba(204,163,96,.1);
    background:rgba(0,0,0,.25);
    position:relative;
    z-index:3;
}

@media(min-width: 768px){
    .board-bar-details{ padding:0 24px 24px; }
}

.board-bar.expanded .board-bar-details{
    display:block;
    animation:fadeUp .3s ease forwards;
}

.seat-badge-inline{
    padding:3px 8px;
    border-radius:999px;
    background:rgba(0,0,0,.6);
    border:1px solid rgba(204,163,96,.22);
    color:var(--gold-bright);
    font-size:0.72rem;
    font-weight:700;
}

/* LEADERBOARD TABLE STYLING */
.leaderboard-table-wrapper{
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 10px;
}

.leaderboard-table{
    width:100%;
    border-collapse:collapse;
    min-width: 480px;
    font-size:0.85rem;
}

@media(min-width: 768px){
    .leaderboard-table{ font-size:1rem; min-width: 100%; }
}

.leaderboard-table th, .leaderboard-table td{
    padding:10px 12px;
    text-align:left;
    border-bottom:1px solid rgba(204,163,96,.12);
    vertical-align:middle;
}

@media(min-width: 768px){
    .leaderboard-table th, .leaderboard-table td{ padding:14px 18px; }
}

.leaderboard-table th{
    font-family:'Cinzel';
    color:var(--gold);
    text-transform:uppercase;
    font-size:0.8rem;
    background:rgba(204,163,96,.04);
}

.leaderboard-table td{
    color:var(--text);
}

.rank-svg-container{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
}

.card-description{
    font-family:'Roboto', sans-serif;
    color:var(--text-muted);
    line-height:1.6;
    white-space:pre-line;
    margin:14px 0;
    font-size:0.9rem;
}

@media(min-width: 768px){
    .card-description{ font-size:1rem; margin:18px 0; }
}

.card-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

.seats-left{
    color:var(--gold-bright);
    font-size:0.88rem;
    font-weight:600;
}

.button-group{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    width:100%;
}

@media(min-width: 500px){
    .button-group{ width:auto; }
}

.btn{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    border:none;
    border-radius:10px;
    padding:10px 16px;
    font-family:'Cinzel';
    text-transform:uppercase;
    letter-spacing:.5px;
    font-size:0.82rem;
    transition:transform .2s ease, box-shadow .2s ease;
    -webkit-tap-highlight-color:transparent;
    flex:1;
}

@media(min-width: 500px){
    .btn{ flex:initial; font-size:0.9rem; padding:11px 18px; }
}

.btn:active{
    transform:scale(.97);
}

.btn-primary{
    color:white;
    background:linear-gradient(135deg,var(--fire-dark),var(--fire));
    box-shadow:0 0 15px rgba(255,122,24,.15);
}

.btn-secondary{
    color:var(--gold);
    background:linear-gradient(135deg,#2c2118,#483628);
    border:1px solid rgba(204,163,96,.18);
}

.btn-danger{
    color:white;
    background:linear-gradient(135deg,#7b1717,#bc2929);
}

.btn:disabled{
    cursor:not-allowed;
    opacity:.58;
    transform:none!important;
}

.player-list{
    margin-top:16px;
    border-top:1px solid rgba(204,163,96,.11);
    padding-top:12px;
}

.player-list-title{
    font-family:'Cinzel';
    color:var(--gold);
    font-size:0.9rem;
    margin-bottom:8px;
}

.player-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin-bottom:6px;
    padding:8px 10px;
    border-radius:8px;
    background:rgba(255,255,255,.025);
    font-size:0.88rem;
}

.player-name{
    color:var(--text);
}

.friend-tag{
    color:var(--text-muted);
    font-size:0.75rem;
    margin-left:4px;
}

.player-remove{
    padding:6px 9px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    color:white;
    background:#9d2525;
    font-size:0.78rem;
}

.admin-panel{
    display:none;
    margin-top:24px;
    padding:18px;
    border-radius:16px;
    background:linear-gradient(180deg,rgba(32,25,21,.95),rgba(18,14,12,.95));
    border:1px solid rgba(204,163,96,.22);
    box-shadow:var(--shadow);
}

@media(min-width: 768px){
    .admin-panel{ padding:28px; border-radius:20px; }
}

.admin-label,.modal-label{
    display:block;
    margin-bottom:6px;
    color:var(--gold);
    font-size:0.85rem;
}

@media(min-width: 768px){
    .admin-label,.modal-label{ font-size:0.9rem; }
}

.admin-input,.modal-input{
    width:100%;
    padding:12px;
    margin-bottom:14px;
    border-radius:10px;
    background:rgba(0,0,0,.36);
    color:white;
    border:1px solid rgba(255,255,255,.09);
    font-size:0.92rem;
}

.admin-input:focus,.modal-input:focus{
    outline:none;
    border-color:rgba(204,163,96,.45);
    box-shadow:0 0 0 3px rgba(204,163,96,.08);
}

.admin-actions,.modal-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.modal-overlay{
    position:fixed;
    inset:0;
    display:none;
    justify-content:center;
    align-items:center;
    padding:16px;
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(7px);
    z-index:9999;
}

.modal-overlay.show{
    display:flex;
}

.modal{
    width:100%;
    max-width:470px;
    border-radius:18px;
    background:linear-gradient(180deg,#211a16,#15110f);
    border:1px solid rgba(204,163,96,.25);
    padding:20px;
    box-shadow:0 24px 70px rgba(0,0,0,.55);
}

@media(min-width: 768px){
    .modal{ padding:25px; border-radius:20px; }
}

.modal-title{
    font-family:'Cinzel';
    color:var(--gold);
    margin-bottom:6px;
    font-size:1.15rem;
}

.modal-subtitle{
    color:var(--text-muted);
    margin-bottom:16px;
    font-size:0.88rem;
}

.friend-box{
    margin:4px 0 14px;
    padding:12px;
    border-radius:12px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(204,163,96,.10);
}

.friend-toggle{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--text);
    cursor:pointer;
    font-size:0.9rem;
}

.friend-toggle input{
    width:18px;
    height:18px;
    accent-color:var(--fire);
}

.friend-name-wrapper{
    display:none;
    margin-top:12px;
}

.friend-name-wrapper.show{
    display:block;
}

.toast{
    position:fixed;
    right:16px;
    bottom:16px;
    max-width:min(360px,calc(100vw - 32px));
    padding:12px 16px;
    border-radius:12px;
    background:rgba(15,12,10,.97);
    border:1px solid rgba(204,163,96,.25);
    color:white;
    transform:translateX(150%);
    transition:.35s;
    z-index:10000;
    box-shadow:0 16px 40px rgba(0,0,0,.42);
    font-size:0.9rem;
}

.toast.show{
    transform:translateX(0);
}

.empty-state,.loading-state{
    grid-column:1/-1;
    text-align:center;
    padding:50px 16px;
    color:var(--text-muted);
}

.empty-state h3{
    font-family:'Cinzel';
    color:var(--gold);
    margin-bottom:8px;
}

.spinner{
    width:38px;
    height:38px;
    margin:0 auto 16px;
    border-radius:50%;
    border:3px solid rgba(204,163,96,.15);
    border-top-color:var(--gold);
    animation:spin .9s linear infinite;
}

.admin-help{
    margin:-6px 0 14px;
    color:var(--text-muted);
    font-size:0.82rem;
}

.countdown-box{
    margin:14px 0;
    padding:12px;
    border-radius:12px;
    background:rgba(18,56,72,.18);
    border:1px solid rgba(204,163,96,.16);
}

.countdown-label{
    display:block;
    color:var(--text-muted);
    font-size:0.8rem;
    margin-bottom:6px;
}

.countdown-timer{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
}

.countdown-unit{
    text-align:center;
    padding:6px 4px;
    border-radius:8px;
    background:rgba(0,0,0,.24);
    border:1px solid rgba(255,255,255,.06);
}

.countdown-number{
    display:block;
    font-family:'Cinzel';
    color:var(--gold-bright);
    font-size:0.95rem;
}

.countdown-text{
    display:block;
    color:var(--text-muted);
    font-size:0.62rem;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.board-bar.locked .btn-primary{
    background:linear-gradient(135deg,#3b342d,#61513d);
    color:var(--gold-bright);
}

.admin-image-preview{
    display:none;
    min-height:120px;
    margin:-2px 0 14px;
    border-radius:12px;
    border:1px solid rgba(204,163,96,.16);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    box-shadow:inset 0 0 30px rgba(0,0,0,.35);
}

.admin-image-preview.show{
    display:block;
}

.admin-image-cropper{
    position:relative;
    margin:-2px 0 4px;
    overflow:hidden;
    border-radius:12px;
    background:#090807;
    border:1px solid rgba(204,163,96,.22);
    box-shadow:0 12px 28px rgba(0,0,0,.25);
    touch-action:none;
}
.admin-image-cropper .admin-image-preview{
    display:block;
    min-height:190px;
    margin:0;
    border:0;
    border-radius:0;
    cursor:grab;
    transition:filter .2s ease;
}
.admin-image-preview.is-dragging{cursor:grabbing;filter:brightness(1.08);}
.admin-image-crop-frame{
    position:absolute;
    inset:18% 5%;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    padding:7px 9px;
    border:2px solid rgba(243,210,147,.9);
    border-radius:8px;
    box-shadow:0 0 0 999px rgba(0,0,0,.18),inset 0 0 0 1px rgba(0,0,0,.45);
    pointer-events:none;
}
.admin-image-crop-frame span{
    padding:3px 7px;
    border-radius:999px;
    background:rgba(5,6,6,.78);
    color:var(--gold-bright);
    font-family:'Cinzel',serif;
    font-size:.62rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.crop-help{margin-top:6px;}
.admin-card-preview{
    position:relative;
    display:flex;
    min-height:112px;
    margin-top:18px;
    overflow:hidden;
    border:1px solid rgba(204,163,96,.22);
    border-radius:12px;
    background:linear-gradient(135deg,rgba(31,24,19,.94),rgba(16,13,11,.94));
}
.admin-card-preview-image{
    position:absolute;
    inset:0 0 0 52%;
    background-size:cover;
    background-position:center;
    opacity:.7;
    mask-image:linear-gradient(to right,transparent,black 38%);
    -webkit-mask-image:linear-gradient(to right,transparent,black 38%);
}
.admin-card-preview-copy{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:58%;
    padding:16px;
}
.admin-card-preview-status{
    align-self:flex-start;
    padding:3px 8px;
    border:1px solid rgba(60,179,113,.35);
    border-radius:999px;
    color:#8fe0ae;
    font-size:.68rem;
}
.admin-card-preview-copy strong{font-family:'Cinzel',serif;color:var(--gold);font-size:1rem;}
.admin-card-preview-copy span:last-child{color:var(--text-muted);font-size:.75rem;line-height:1.35;}

.admin-field-grid{display:grid;grid-template-columns:1fr;gap:0;}
@media(min-width: 600px){
    .admin-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
}
.admin-wide{grid-column:1/-1}

.adventure-info-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:14px 0;
}
@media(min-width: 650px){
    .adventure-info-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.info-box{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:78px;
    padding:12px;
    border-radius:12px;
    background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
    border:1px solid rgba(204,163,96,.12);
}
.info-icon{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(255,122,24,.08);border:1px solid rgba(204,163,96,.15)}
.info-content{min-width:0}
.info-label{display:block;font-family:'Cinzel';color:var(--gold);text-transform:uppercase;letter-spacing:.7px;font-size:0.72rem;margin-bottom:4px}
.info-value{display:block;color:var(--text);font-size:0.88rem;line-height:1.35}

/* Custom RPG Thematic Icon Colors & Glows */
.info-box.info-title .info-icon { color: #ff9e3b; background: rgba(255, 158, 59, 0.08); border-color: rgba(255, 158, 59, 0.25); }
.info-box.info-system .info-icon { color: #ffb700; background: rgba(255, 183, 0, 0.08); border-color: rgba(255, 183, 0, 0.25); }
.info-box.info-genre .info-icon { color: #ff4500; background: rgba(255, 69, 0, 0.08); border-color: rgba(255, 69, 0, 0.25); }
.info-box.info-location .info-icon { color: #7ec850; background: rgba(126, 200, 80, 0.08); border-color: rgba(126, 200, 80, 0.25); }
.info-box.info-year .info-icon { color: #e68a00; background: rgba(230, 138, 0, 0.08); border-color: rgba(230, 138, 0, 0.08); }
.info-box.info-players .info-icon { color: #ffd700; background: rgba(255, 215, 0, 0.08); border-color: rgba(255, 215, 0, 0.25); }
.info-box.info-dice .info-icon { color: #da70d6; background: rgba(218, 112, 214, 0.08); border-color: rgba(218, 112, 214, 0.25); }
.info-box.time-date .info-icon { color: #ff7a18; background: rgba(255, 122, 24, 0.08); border-color: rgba(255, 122, 24, 0.25); }

.info-icon svg {
    width: 20px;
    height: 20px;
    filter: drop-shadow(0 0 4px currentColor);
}

.info-box.time-date{
    border-color:rgba(255,122,24,.42);
    box-shadow: inset 0 0 20px rgba(255,122,24,.06), 0 0 14px rgba(255,122,24,.08);
}
/* Premium presentation layer: refined hierarchy while preserving the Phoenix Tail theme. */
.dashboard{max-width:1280px;}
.hero{padding-top:8px;}
.hero::before{content:"";display:block;width:min(520px,88vw);height:1px;margin:0 auto 14px;background:linear-gradient(90deg,transparent,rgba(243,210,147,.5),rgba(255,122,24,.4),transparent);}
.guild-motto{letter-spacing:.02em;}
.dashboard-tabs{margin-top:26px;gap:10px;}
.tab-btn{min-height:42px;padding:9px 18px;border-color:rgba(204,163,96,.28);background:linear-gradient(180deg,rgba(31,24,19,.92),rgba(13,11,10,.92));box-shadow:0 8px 22px rgba(0,0,0,.16);}
.tab-btn:hover,.tab-btn.active{border-color:rgba(243,210,147,.7);box-shadow:0 0 0 1px rgba(243,210,147,.12),0 10px 26px rgba(0,0,0,.24);}
.stats-grid{gap:14px;margin-top:20px;}
.stat-card{position:relative;overflow:hidden;border-color:rgba(204,163,96,.25);background:linear-gradient(145deg,rgba(31,24,19,.92),rgba(12,11,10,.92));box-shadow:0 14px 30px rgba(0,0,0,.2);}
.stat-card::after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--fire),transparent);opacity:.6;}
.panel,.admin-panel{border-color:rgba(204,163,96,.22);box-shadow:0 22px 55px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.025);}
.section-heading{padding-bottom:18px;border-bottom:1px solid rgba(204,163,96,.14);}
.section-title{letter-spacing:.055em;}
.section-subtitle{max-width:760px;line-height:1.65;}
.board-bar{border-color:rgba(204,163,96,.22);background:linear-gradient(135deg,rgba(31,24,19,.94),rgba(16,13,11,.94));box-shadow:0 14px 30px rgba(0,0,0,.2);}
.board-bar:hover,.board-bar.expanded{border-color:rgba(243,210,147,.55);box-shadow:0 18px 38px rgba(0,0,0,.3),0 0 24px rgba(255,122,24,.07);}
.board-bar-title{letter-spacing:.025em;}
.board-bar-image{border-left-color:rgba(204,163,96,.18);}
.status-badge,.seat-badge-inline{letter-spacing:.045em;}
@media(max-width:700px){
    .dashboard{padding-top:14px;}
    .hero::before{margin-bottom:8px;}
    .dashboard-tabs{display:grid;grid-template-columns:1fr;width:min(420px,100%);margin-left:auto;margin-right:auto;}
    .tab-btn{width:100%;}
    .section-heading{padding-bottom:14px;}
}

/* Adventure interaction polish */
.board-bar[data-status="status-open"] .seat-badge-inline{border-color:rgba(60,179,113,.35);color:#8fe0ae;}
.board-bar[data-status="status-warning"] .seat-badge-inline{border-color:rgba(243,210,147,.45);color:var(--gold-bright);}
.board-bar[data-status="status-full"] .seat-badge-inline{border-color:rgba(196,60,60,.45);color:#f0a0a0;}
.expand-hint{margin-top:10px;color:var(--text-muted);font-family:'Cinzel',serif;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;transition:color .25s ease;}
.board-bar:hover .expand-hint,.board-bar:focus-visible .expand-hint,.board-bar.expanded .expand-hint{color:var(--gold-bright);}
.expand-hint-icon{display:inline-block;margin-right:5px;color:var(--fire);font-size:1rem;line-height:.5;transition:transform .25s ease;}
.board-bar.expanded .expand-hint-icon{transform:rotate(180deg);}
.btn:disabled{cursor:wait;opacity:.62;filter:saturate(.65);}

/* Admin console hierarchy */
.admin-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px;}
.admin-panel-kicker{margin-top:4px;color:var(--fire);font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;}
.admin-secure-badge{padding:5px 9px;border:1px solid rgba(60,179,113,.3);border-radius:999px;color:#8fe0ae;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.admin-section-caption{display:flex;align-items:center;gap:10px;margin:22px 0 12px;color:var(--gold-bright);font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;}
.admin-section-caption::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(204,163,96,.25),transparent);}
#registration-adventure-name{color:var(--gold-bright);}

@media(max-width:520px){
    .admin-panel-heading{align-items:flex-start;}
    .admin-secure-badge{font-size:.58rem;padding:4px 7px;}
    .expand-hint{font-size:.62rem;}
}

/* Keep long genres inside the text column instead of letting them run over the artwork. */
@media(min-width:768px){
    .board-bar-info{
        width:52%;
        max-width:52%;
        padding-right:18px;
    }

    .board-bar-image{
        width:48%;
    }

    .board-bar-subtitle{
        overflow-wrap:anywhere;
    }

    .expand-hint{
        display:inline-flex;
        align-items:center;
        min-height:30px;
        margin-top:12px;
        padding:5px 10px;
        border:1px solid rgba(204,163,96,.24);
        border-radius:999px;
        background:rgba(0,0,0,.28);
        font-size:.74rem;
    }
}

/* Archive and leaderboard finish */
.archive-list .board-bar{
    border-left:3px solid rgba(18,56,72,.72);
}

.archive-list .status-badge{
    background:rgba(18,56,72,.34);
    border-color:rgba(95,176,205,.34);
    color:#a9d8e8;
}

.leaderboard-table-wrapper{
    border:1px solid rgba(204,163,96,.16);
    border-radius:14px;
    background:rgba(0,0,0,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.leaderboard-table tbody tr{
    transition:background .2s ease;
}

.leaderboard-table tbody tr:hover{
    background:rgba(204,163,96,.07);
}

.leaderboard-table tbody tr:first-child{
    background:linear-gradient(90deg,rgba(255,215,0,.07),transparent 70%);
}

.leaderboard-table tbody tr:nth-child(2){
    background:linear-gradient(90deg,rgba(192,192,192,.045),transparent 70%);
}

.leaderboard-table tbody tr:nth-child(3){
    background:linear-gradient(90deg,rgba(205,127,50,.055),transparent 70%);
}

.leaderboard-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:16px 0 12px;
    color:var(--text-muted);
    font-size:.86rem;
}
.leaderboard-toolbar .admin-input{width:auto;min-width:180px;margin:0;padding:9px 12px;}
.board-bar[draggable="true"]{cursor:grab;}
.board-bar.is-dragging{opacity:.5;cursor:grabbing;}
.board-bar.drag-target{border-color:var(--fire);box-shadow:0 0 0 2px rgba(255,122,24,.22),0 16px 34px rgba(0,0,0,.3);}
.board-bar[draggable="true"] .board-bar-top-meta::after{content:'↕';margin-left:auto;color:rgba(243,210,147,.65);font-size:1rem;}

@media(max-width:520px){
    .leaderboard-toolbar{justify-content:stretch;align-items:stretch;flex-direction:column;gap:6px;}
    .leaderboard-toolbar .admin-input{width:100%;}
}

@media(max-width:700px){
    .leaderboard-table-wrapper{
        border-radius:12px;
    }
}
