:root {
    --bg: #0b1220;
    --panel: rgba(255,255,255,0.03);
    --glass-border: rgba(255,255,255,0.04);
    --accent: #1476e6;
    --muted: #98b8da;
    --text: #e6eef8;
    --card-radius: 12px;
    --max-width: 1140px;
    --gap: 16px;
}

/* Ensure reserved pages have top spacing */
.reserved-page { padding-top: 24px; padding-bottom: 40px; }

/* Layout grid */
.reserved-grid { display:flex; gap:24px; align-items:flex-start; }

/* Sidebar */
.reserved-sidebar {
    width: 260px;
    background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02));
    border-radius: 12px;
    padding: 14px;
    border: 1px solid var(--glass-border);
    box-shadow: 0 8px 24px rgba(2,6,23,0.4);
    min-height: 280px;
}

/* Menu structure inside partial - generic selectors (keeps your links intact) */
.reserved-sidebar .menu-title {
    color: var(--muted);
    font-weight:700;
    margin-bottom: 10px;
    display:block;
}
.reserved-sidebar a, .reserved-sidebar .nav-link, .reserved-sidebar li {
    color: #cfe4ff;
}
.reserved-sidebar ul { list-style:none; padding:0; margin:0; }
.reserved-sidebar li { margin: 8px 0; }
.reserved-sidebar a {
    display:block;
    padding: 8px 10px;
    border-radius: 8px;
    text-decoration:none;
    font-weight:600;
    transition: background .12s, transform .08s;
}
.reserved-sidebar a:hover {
    background: rgba(255,255,255,0.03);
    color:#fff;
    transform: translateX(3px);
}

/* Logout button look if it's a link inside the partial */
.reserved-sidebar .logout-btn {
    display:inline-block;
    margin-top: 12px;
    padding:8px 12px;
    background: linear-gradient(90deg, #2b9bf3, var(--accent));
    color: #fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:700;
}

/* Make sidebar sticky on larger screens */
@media (min-width: 992px) {
    .reserved-sidebar { position: sticky; top: 110px; align-self:flex-start; }
}

/* Main content */
.reserved-main { flex:1; }

/* Cards & stats */
.reserved-stats .stats-grid {
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:var(--gap);
    margin-bottom:18px;
}
.stat-card {
    background: var(--panel);
    border:1px solid var(--glass-border);
    border-radius: var(--card-radius);
    padding:12px;
    box-shadow: 0 8px 20px rgba(2,6,23,0.45);
}
.stat-label { color:var(--muted); font-size:13px; margin-bottom:6px; }
.stat-value { font-weight:700; font-size:18px; margin-bottom:6px; color:var(--text); }

/* Panels layout */
.reserved-panels { display:grid; grid-template-columns: 1fr 320px; gap:18px; margin-bottom:18px; }
.card { background: var(--panel); border:1px solid var(--glass-border); border-radius:12px; padding:14px; }

/* Files table */
.table-wrap { overflow:auto; max-width:100%; }
.files-table { width:100%; border-collapse:collapse; color:var(--text); }
.files-table th, .files-table td { padding:10px 8px; border-bottom:1px solid rgba(255,255,255,0.02); font-size:14px; }
.files-table tbody tr:hover { background: rgba(255,255,255,0.01); cursor:pointer; }

/* Activity */
.activity-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.act-meta { color:var(--muted); font-size:12px; }

/* Quick actions */
.reserved-quick .quick-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

/* Ensure footer visibility and spacing */
.site-wrapper { min-height: 100vh; display:flex; flex-direction:column; }
.site-content { flex: 1 0 auto; }
.footer { flex-shrink: 0; }

/* Responsive */
@media (max-width: 1000px) {
    .reserved-stats .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .reserved-panels { grid-template-columns: 1fr; }
    .reserved-grid { flex-direction:column; }
    .reserved-sidebar { order:2; width:100%; min-height:auto; position:relative; top:auto; }
    .reserved-main { order:1; }
}
