/* WSO DASHBOARD STYLES (v9.58 - Softened Dark Mode) */
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap');

.sanctuary-dash { 
    margin-top: 40px; 
    /* LIGHT MODE DEFAULTS */
    --dash-border: 3px solid #000;
    --dash-shadow: 3px 3px 0px #000;
    --wso-gold: #f5c518;
    --wso-mint: #4ade80;
    --wso-blue: #3498db; 
    --wso-panel-bg: #f4f4f5;
    --wso-card-bg: #fff;
    --wso-text: #000;
    --wso-muted: #555;
}

/* 🌑 DARK MODE OVERRIDES (Softened) */
[data-scheme="dark"] .sanctuary-dash {
    --dash-border: 2px solid #444; /* Soft Gray Border */
    --dash-shadow: 3px 3px 0px #000; /* Deep Shadow */
    --wso-panel-bg: #222; /* Dark Gray Header */
    --wso-card-bg: #1a1a1a;  /* Dark Slate Cards */
    --wso-text: #e5e5e5; /* Off-White Text */
    --wso-muted: #888;
}

/* 1. HEADER */
.hearth-header {
    background: var(--wso-panel-bg); color: var(--wso-text);
    border: var(--dash-border); box-shadow: var(--dash-shadow);
    padding: 40px;
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 40px;
}
.hearth-greeting h1 { margin: 0 0 10px 0 !important; font-size: 32px !important; letter-spacing: -1px; font-weight: 800; text-transform: uppercase; color: var(--wso-text) !important; }
.hearth-greeting p { margin: 0 !important; color: var(--wso-text) !important; font-size: 14px !important; font-weight: 500; opacity: 0.6; }

/* PASSPORT WIDGET */
.scholar-passport {
    display: flex; gap: 0; background: var(--wso-card-bg);
    border: var(--dash-border); box-shadow: 3px 3px 0px rgba(0,0,0,0.1);
}
.pass-stat { 
    display: flex; flex-direction: column; align-items: center; justify-content: center; 
    padding: 15px 30px; border-right: 1px solid #ccc; min-width: 100px;
}
[data-scheme="dark"] .pass-stat { border-right-color: #444; }
.pass-stat:last-child { border-right: none; }
.pass-label { font-size: 10px; text-transform: uppercase; font-weight: 800; opacity: 0.5; margin-bottom: 5px; letter-spacing: 1px; color: var(--wso-text); }
.pass-value { font-size: 13px; font-weight: 800; text-transform: uppercase; color: var(--wso-text); display: flex; align-items: center; gap: 6px; }
.pass-dot { width: 10px; height: 10px; background: #ccc; border: 2px solid #000; }
.pass-dot.active { background: var(--wso-mint); border-color: var(--wso-text); }
.pass-dot.expired { background: #ff4d4f; border-color: var(--wso-text); }

/* 2. CONTROLS */
.dash-controls-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; gap: 20px; }
.wso-search-bar {
    flex: 1; background: var(--wso-card-bg); border: var(--dash-border); padding: 15px 20px;
    font-family: 'Courier Prime', monospace; font-size: 14px; outline: none; color: var(--wso-text);
    box-shadow: 2px 2px 0px rgba(0,0,0,0.1); transition: 0.2s;
}
.wso-search-bar:focus { box-shadow: var(--dash-shadow); }
.wso-search-bar::placeholder { color: var(--wso-muted); text-transform: uppercase; font-weight: 700; letter-spacing: 1px; }

.wso-export-btn {
    background: #000; color: #fff; border: var(--dash-border); padding: 15px 25px;
    font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;
    cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 2px 2px 0px rgba(0,0,0,0.1); transition: 0.2s;
}
[data-scheme="dark"] .wso-export-btn { background: #eee; color: #000; border-color: #eee; }
.wso-export-btn:hover { background: var(--wso-gold); color: #000; box-shadow: var(--dash-shadow); transform: translate(-2px, -2px); }

/* 3. ACCORDIONS */
.dash-accordion {
    margin-bottom: 30px; border: var(--dash-border); background: var(--wso-card-bg);
    transition: 0.2s; box-shadow: var(--dash-shadow);
}
.dash-accordion summary {
    background: var(--wso-card-bg); padding: 25px 30px; list-style: none; cursor: pointer;
    display: flex; justify-content: space-between; align-items: center;
    font-weight: 800; font-size: 18px; letter-spacing: -0.5px; text-transform: uppercase; transition: 0.2s;
    color: var(--wso-text);
}
.dash-accordion[open] summary { border-bottom: 2px solid var(--wso-muted); }
.dash-accordion summary::-webkit-details-marker { display: none; }
.acc-title { display: flex; align-items: center; gap: 15px; }
.acc-badge { background: #000; color: #fff; font-size: 12px; padding: 4px 10px; border-radius: 0; vertical-align: middle; }
[data-scheme="dark"] .acc-badge { background: #eee; color: #000; }
.acc-icon { font-size: 24px; font-weight: 800; transition: 0.3s; }
.dash-accordion[open] .acc-icon { transform: rotate(180deg); }
.acc-body { padding: 40px; background: var(--wso-card-bg); }
.acc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 30px; }

/* HOVER COLORS */
.acc-notes summary:hover { background: var(--wso-gold); color: #000; }
.acc-bookmarks summary:hover { background: var(--wso-mint); color: #000; }
.acc-history summary:hover { background: var(--wso-blue); color: #fff; }

/* 4. CARDS */
.dossier-card {
    text-decoration: none; display: block; 
    background: #fffbeb; border: 2px solid #000; padding: 25px;
    position: relative; transition: 0.1s; box-shadow: 2px 2px 0px #eee;
}
[data-scheme="dark"] .dossier-card { background: #222; border-color: #444; box-shadow: none; }

.dossier-card:hover { transform: translate(-4px, -4px); box-shadow: 6px 6px 0px #000; background: var(--wso-gold); border-color: #000; }
[data-scheme="dark"] .dossier-card:hover { box-shadow: 4px 4px 0px #000; background: #333; border-color: var(--wso-gold); }

.dossier-head { display: flex; justify-content: space-between; margin-bottom: 20px; border-bottom: 2px solid #000; padding-bottom: 10px; }
[data-scheme="dark"] .dossier-head { border-bottom-color: #444; }

.dossier-title { font-weight: 800; font-size: 14px; color: #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 75%; text-transform: uppercase; }
[data-scheme="dark"] .dossier-title { color: #eee; }

.dossier-id { font-family: 'Courier Prime', monospace; font-size: 11px; background: #000; color: #fff; padding: 4px 8px; font-weight: 700; }
[data-scheme="dark"] .dossier-id { background: #444; color: #ccc; }

.dossier-snippet { font-family: 'Courier Prime', monospace; font-size: 13px; line-height: 1.6; color: #333; max-height: 80px; overflow: hidden; }
[data-scheme="dark"] .dossier-snippet { color: #aaa; }

.archive-card {
    text-decoration: none; display: flex; justify-content: space-between; align-items: center;
    background: #fff; border: 2px solid #000; padding: 20px 25px; transition: 0.1s;
}
[data-scheme="dark"] .archive-card { background: #222; border-color: #444; }

.archive-title { font-weight: 700; font-size: 14px; color: #000; text-transform: uppercase; }
[data-scheme="dark"] .archive-title { color: #eee; }

.archive-meta { font-size: 11px; font-weight: 800; color: #000; text-transform: uppercase; background: #fff; padding: 4px 8px; border: 1px solid #000; }
[data-scheme="dark"] .archive-meta { background: #333; border-color: #555; color: #ccc; }

.acc-bookmarks .archive-card { background: #ecfdf5; border-color: #000; }
[data-scheme="dark"] .acc-bookmarks .archive-card { background: #1a2f26; border-color: #444; }
.acc-bookmarks .archive-card:hover { background: var(--wso-mint); transform: translate(-4px, -4px); box-shadow: 6px 6px 0px #000; }

.acc-history .archive-card { background: #eff6ff; border-color: #000; }
[data-scheme="dark"] .acc-history .archive-card { background: #1e293b; border-color: #444; }
.acc-history .archive-card:hover { background: var(--wso-blue); transform: translate(-4px, -4px); box-shadow: 6px 6px 0px #000; color: #fff; }

.sanc-empty { text-align: center; padding: 60px; color: #000; font-weight: 700; text-transform: uppercase; font-size: 12px; border: 2px dashed #000; opacity: 0.5; }
[data-scheme="dark"] .sanc-empty { border-color: #444; color: #888; }
.search-hidden { display: none !important; }

@media (max-width: 768px) {
    .hearth-header { flex-direction: column; align-items: flex-start; gap: 30px; padding: 25px; }
    .scholar-passport { width: 100%; flex-direction: column; border-radius: 0; }
    .pass-stat { border-right: none; border-bottom: 2px solid #000; width: 100%; box-sizing: border-box; }
    [data-scheme="dark"] .pass-stat { border-bottom-color: #444; }
    .pass-stat:last-child { border-bottom: none; }
    .acc-grid { grid-template-columns: 1fr; }
    .dash-controls-row { flex-direction: column; align-items: stretch; }
}