/* qpoints/assets/css/admin/quest-map.css */
/* Admin layout 1 — "Quest Map" parent console (default). The adult counterpart */
/* to the child Quest Map world: a calm dark analytics surface with a labelled  */
/* nav sidebar, KPI strip, quick-admin hub and approval queues.                 */
/* Shell modifier: .qp-app--sidebar, dark chrome                                */

body[data-layout="quest_map"][data-role="admin"] {
    --qp-canvas: #0f1226;
    --qp-canvas-2: #0a0c1c;
    --qp-surface: #1a1f3d;
    --qp-surface-2: #161a35;
    --qp-surface-3: #232949;
    --qp-surface-inset: rgba(255, 255, 255, .06);
    --qp-line: #2a2f52;
    --qp-line-strong: #3a4172;

    --qp-ink: #e8eaf6;
    --qp-ink-soft: #c2c8e6;
    --qp-ink-muted: #9aa2c7;
    --qp-ink-invert: #0f1226;

    --qp-accent: #6c7bff;
    --qp-accent-ink: #0f1226;
    --qp-accent-strong: #7f8cff;
    --qp-accent-soft: #232949;
    --qp-accent-ring: rgba(108, 123, 255, .35);

    --qp-ok: #22d3a6;
    --qp-ok-soft: #133b34;
    --qp-ok-ink: #9df3dd;
    --qp-warn: #ffc46b;
    --qp-warn-soft: #3a2f16;
    --qp-warn-ink: #ffdfae;
    --qp-bad: #ff7a7a;
    --qp-bad-soft: #3b1f26;
    --qp-bad-ink: #ffc2c2;
    --qp-info: #6c7bff;
    --qp-info-soft: #1f2547;
    --qp-info-ink: #c4caff;

    --qp-on-ok: #062a1c;
    --qp-on-bad: #3b1016;
    --qp-on-warn: #3a2a00;
    --qp-on-info: #0f1226;

    --qp-gold: #ffcb45;
    --qp-gold-ink: #4a3400;

    --qp-panel-radius: 18px;
    --qp-rail-w-lg: 224px;

    color: var(--qp-ink);
    background-color: var(--qp-canvas);
    background-image: radial-gradient(900px 340px at 88% -18%, rgba(108, 123, 255, .26), transparent);
    background-attachment: fixed;
}
body[data-layout="quest_map"][data-role="admin"] { --qp-shadow-sm: 0 4px 14px rgba(0, 0, 0, .32); --qp-shadow: 0 14px 30px rgba(0, 0, 0, .38); }

[data-layout="quest_map"][data-role="admin"] .qp-topbar,
[data-layout="quest_map"][data-role="admin"] .qp-rail,
[data-layout="quest_map"][data-role="admin"] .qp-card {
    background: var(--qp-surface);
    border: 1px solid var(--qp-line);
}
[data-layout="quest_map"][data-role="admin"] .qp-card__foot { background: var(--qp-surface-2); }
[data-layout="quest_map"][data-role="admin"] .qp-brand__mark {
    background: linear-gradient(135deg, var(--qp-accent), var(--qp-ok));
    color: var(--qp-ink-invert);
}
[data-layout="quest_map"][data-role="admin"] .qp-rail__link { color: var(--qp-ink-soft); }
[data-layout="quest_map"][data-role="admin"] .qp-rail__link:hover { background: var(--qp-surface-3); color: #fff; }
[data-layout="quest_map"][data-role="admin"] .qp-rail__link.is-active {
    background: var(--qp-accent);
    color: var(--qp-ink-invert);
}
[data-layout="quest_map"][data-role="admin"] .qp-tabbar {
    background: var(--qp-surface);
    border-block-start-color: var(--qp-line);
}
[data-layout="quest_map"][data-role="admin"] .qp-tabbar__link { color: var(--qp-ink-muted); }
[data-layout="quest_map"][data-role="admin"] .qp-tabbar__link.is-active {
    background: var(--qp-accent);
    color: var(--qp-ink-invert);
}
[data-layout="quest_map"][data-role="admin"] .qp-btn { background: var(--qp-surface-3); color: var(--qp-ink); }
[data-layout="quest_map"][data-role="admin"] .qp-btn--primary { background: var(--qp-accent); color: var(--qp-ink-invert); }
[data-layout="quest_map"][data-role="admin"] .qp-btn--ok { background: var(--qp-ok); color: var(--qp-on-ok); }
[data-layout="quest_map"][data-role="admin"] .qp-btn--ghost { border-color: var(--qp-line-strong); background: transparent; color: var(--qp-ink-muted); }
[data-layout="quest_map"][data-role="admin"] .qp-input,
[data-layout="quest_map"][data-role="admin"] .qp-select,
[data-layout="quest_map"][data-role="admin"] .qp-textarea {
    background: var(--qp-surface-2);
    border-color: var(--qp-line);
    color: var(--qp-ink);
}
[data-layout="quest_map"][data-role="admin"] .qp-tabs { background: var(--qp-surface-2); }
[data-layout="quest_map"][data-role="admin"] .qp-tab { color: var(--qp-ink-muted); }
[data-layout="quest_map"][data-role="admin"] .qp-tab.is-active { background: var(--qp-surface-3); color: #fff; }
[data-layout="quest_map"][data-role="admin"] .qp-stat { background: var(--qp-surface); border: 1px solid var(--qp-line); }
[data-layout="quest_map"][data-role="admin"] .qp-switch__track { background: var(--qp-line-strong); }
[data-layout="quest_map"][data-role="admin"] .qp-choice__box { background: var(--qp-surface-2); border-color: var(--qp-line); }
[data-layout="quest_map"][data-role="admin"] .qp-choice input:checked + .qp-choice__box { background: var(--qp-surface-3); border-color: var(--qp-accent); }
[data-layout="quest_map"][data-role="admin"] .qp-modal__dialog { background: var(--qp-surface); }
[data-layout="quest_map"][data-role="admin"] .qp-modal__head { border-block-end-color: var(--qp-line); }
[data-layout="quest_map"][data-role="admin"] .qp-modal__foot { background: var(--qp-surface-2); }
[data-layout="quest_map"][data-role="admin"] .qp-pin__input {
    background: var(--qp-surface-2);
    border-color: var(--qp-line);
    color: var(--qp-ink);
}

/* ============================================================
   Console grid
   ============================================================ */
[data-layout="quest_map"][data-role="admin"] .qm-console {
    display: grid;
    gap: var(--qp-4);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "summary"
        "kpis"
        "hub"
        "approvals"
        "kids"
        "manage";
    align-content: start;
}
[data-layout="quest_map"][data-role="admin"] .qm-summary-area { grid-area: summary; }
[data-layout="quest_map"][data-role="admin"] .qm-kpis-area { grid-area: kpis; }
[data-layout="quest_map"][data-role="admin"] .qm-hub-area { grid-area: hub; }
[data-layout="quest_map"][data-role="admin"] .qm-approvals-area { grid-area: approvals; }
[data-layout="quest_map"][data-role="admin"] .qm-kids-area {
    grid-area: kids;
    display: grid;
    gap: var(--qp-4);
    grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
    align-items: start;
}
[data-layout="quest_map"][data-role="admin"] .qm-manage-area { grid-area: manage; }

/* Executive summary banner */
[data-layout="quest_map"][data-role="admin"] .qm-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--qp-4);
    padding: var(--qp-5) var(--qp-6);
    border-radius: var(--qp-radius-lg);
    background: linear-gradient(135deg, #2b2f70, #17306a);
    border: 1px solid var(--qp-line-strong);
    box-shadow: var(--qp-shadow);
}
[data-layout="quest_map"][data-role="admin"] .qm-summary__count {
    display: grid;
    place-items: center;
    flex: none;
    width: 62px;
    height: 62px;
    border-radius: var(--qp-radius);
    background: var(--qp-accent);
    color: var(--qp-ink-invert);
    font-size: var(--qp-text-xl);
    font-weight: 900;
}
[data-layout="quest_map"][data-role="admin"] .qm-summary__title { font-size: var(--qp-text-lg); }
[data-layout="quest_map"][data-role="admin"] .qm-summary__sub { color: var(--qp-ink-muted); font-size: var(--qp-text-sm); }
[data-layout="quest_map"][data-role="admin"] .qm-summary__actions { margin-inline-start: auto; display: flex; flex-wrap: wrap; gap: var(--qp-2); }

/* Quick manage tiles */
[data-layout="quest_map"][data-role="admin"] .qm-minigrid {
    display: grid;
    gap: var(--qp-3);
    grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
}
[data-layout="quest_map"][data-role="admin"] .qm-minilink {
    display: flex;
    align-items: center;
    gap: var(--qp-3);
    padding: var(--qp-4);
    border: 1px solid var(--qp-line);
    border-radius: var(--qp-radius-sm);
    background: var(--qp-surface-2);
    color: var(--qp-ink);
    font-size: var(--qp-text-sm);
    font-weight: 800;
    transition: background-color var(--qp-fast), transform var(--qp-fast);
}
[data-layout="quest_map"][data-role="admin"] .qm-minilink:hover { background: var(--qp-surface-3); transform: translateY(-2px); }
[data-layout="quest_map"][data-role="admin"] .qm-minilink__icon { font-size: 1.15rem; }
[data-layout="quest_map"][data-role="admin"] .qm-minilink__chev { margin-inline-start: auto; color: var(--qp-ink-muted); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1100px) {
    [data-layout="quest_map"][data-role="admin"] .qm-console {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "summary"
            "kpis"
            "hub"
            "approvals"
            "kids"
            "manage";
    }
}
@media (max-width: 640px) {
    [data-layout="quest_map"][data-role="admin"] .qm-summary { padding: var(--qp-4); }
    [data-layout="quest_map"][data-role="admin"] .qm-summary__actions { margin-inline-start: 0; width: 100%; }
    [data-layout="quest_map"][data-role="admin"] .qm-summary__actions .qp-btn { flex: 1 1 auto; }
}
