:root[data-theme="dark"] {
    --paper: #1b1916;
    --paper-deep: #171512;
    --ink: #eee8dc;
    --muted: #b6aa97;
    --line: #8b7653;
    --soft-line: #51483b;
    --accent: #b9473d;
    --accent-2: #dcc184;
    --field: #131210;
    --shadow: rgb(0 0 0 / 28%);
}

.sheet-app-page .wrap { max-width: 100%; padding: clamp(0.75rem, 2vw, 1.25rem); }
.sheet-app-page .app-shell,
.sheet-app-page .sidebar,
.sheet-app-page .sheet { min-width: 0; max-width: 100%; }
.sheet-app-page .sidebar { top: calc(var(--header-height) + 0.75rem); border-color: var(--soft-line); border-radius: var(--radius-lg); }
.sheet-app-page .sidebar > p { margin-bottom: 0.75rem; }

.sheet-page-nav {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.8rem;
    padding: 0.45rem;
    background: var(--paper-deep);
    border: 1px solid var(--soft-line);
    border-radius: var(--radius-md);
}

.sheet-page-nav strong { color: var(--ink); font-size: 0.78rem; text-align: center; }
.sheet-page-nav button { width: 2.25rem; min-height: 2.25rem; padding: 0; color: var(--accent-2); background: var(--paper); border: 1px solid var(--soft-line); border-radius: var(--radius-sm); cursor: pointer; }
.sheet-page-nav button:disabled { cursor: not-allowed; opacity: 0.35; }

.sheet-app-page .page-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sheet-app-page .page-tabs button { width: 100%; min-height: 2.4rem; padding: 0.4rem 0.55rem; border-radius: var(--radius-md); }

.critical-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.critical-stats > div {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.6rem;
    background: var(--paper-deep);
    border: 1px solid var(--soft-line);
    border-radius: var(--radius-md);
}

.critical-stats span { overflow: hidden; color: var(--muted); font-size: 0.68rem; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.critical-stats strong { color: var(--accent-2); font-family: "IBM Plex Mono", monospace; font-size: 0.9rem; }

.sheet-app-page .toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; }
.sheet-app-page .toolbar button,
.sheet-app-page .toolbar label,
.sheet-app-page .page-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    background: var(--paper-deep);
    border-color: var(--soft-line);
    box-shadow: none;
}
.sheet-app-page .toolbar button:hover,
.sheet-app-page .toolbar label:hover,
.sheet-app-page .page-tabs button:hover { border-color: var(--accent-2); }
.sheet-app-page .toolbar button.primary,
.sheet-app-page .page-tabs button.active { color: #fff; background: linear-gradient(180deg, var(--accent), #6f1712); border-color: var(--accent); }
.sheet-app-page .toolbar .danger { color: var(--color-danger-bright); border-color: var(--color-danger); }

.sheet-app-page .status {
    margin-bottom: 0;
    padding: 0.55rem 0.65rem;
    background: var(--paper-deep);
    border-left: 3px solid var(--color-border-light);
    border-radius: var(--radius-sm);
}
.sheet-app-page .status[data-state="saved"] { border-left-color: #708b5b; }
.sheet-app-page .status[data-state="pending"] { border-left-color: #b68645; }
.sheet-app-page .status[data-state="error"] { border-left-color: var(--color-danger-bright); }

:root[data-theme="dark"] .sheet-app-page .sheet,
:root[data-theme="dark"] .sheet-app-page .sheet-page,
:root[data-theme="dark"] .sheet-app-page .panel,
:root[data-theme="dark"] .sheet-app-page .panel h2,
:root[data-theme="dark"] .sheet-app-page .panel h3,
:root[data-theme="dark"] .sheet-app-page .ability-meta-card,
:root[data-theme="dark"] .sheet-app-page .ability-score,
:root[data-theme="dark"] .sheet-app-page table,
:root[data-theme="dark"] .sheet-app-page th,
:root[data-theme="dark"] .sheet-app-page .title-card,
:root[data-theme="dark"] .sheet-app-page .stat-card,
:root[data-theme="dark"] .sheet-app-page .level-card,
:root[data-theme="dark"] .sheet-app-page .ac-shield-card { background: var(--paper); }

:root[data-theme="dark"] .sheet-app-page .sheet-page::before,
:root[data-theme="dark"] .sheet-app-page .panel::before { border-color: var(--soft-line); }
:root[data-theme="dark"] .sheet-app-page select option { color: var(--ink); background: var(--field); }

.sheet-app-page [data-field="ac"],
.sheet-app-page [data-field="hp_current"],
.sheet-app-page [data-field="initiative"],
.sheet-app-page [data-field="speed"],
.sheet-app-page [data-field="proficiency_bonus"],
.sheet-app-page [data-field="passive_perception"],
.sheet-app-page [data-field="spell_dc"],
.sheet-app-page [data-field="spell_attack_bonus"] {
    color: var(--accent-2);
    font-weight: 700;
}

:root[data-session="true"] .sheet-app-page .sidebar > p,
:root[data-session="true"] .sheet-app-page .page-tabs { display: none; }
:root[data-session="true"] .sheet-app-page .critical-stats { grid-template-columns: 1fr; }
:root[data-session="true"] .sheet-app-page .critical-stats > div { min-height: 2.65rem; border-color: var(--color-border-light); }
:root[data-session="true"] .sheet-app-page .critical-stats span { color: var(--ink); font-size: 0.76rem; }
:root[data-session="true"] .sheet-app-page .critical-stats strong { font-size: 1.05rem; }
:root[data-session="true"] .sheet-app-page .sheet-page::before,
:root[data-session="true"] .sheet-app-page .panel::before { display: none; }

@media (max-width: 1100px) {
    .sheet-app-page .sidebar { position: sticky; top: var(--header-height); z-index: 25; }
    .sheet-app-page .critical-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sheet-app-page .toolbar { display: flex; overflow-x: auto; flex-wrap: nowrap; }
    .sheet-app-page .toolbar button,
    .sheet-app-page .toolbar label { flex: 0 0 auto; }
}

@media (max-width: 700px) {
    .sheet-app-page .sidebar { position: static; }
    .sheet-app-page .critical-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sheet-app-page .sheet { padding: 0; background: transparent; border: 0; box-shadow: none; }
    .sheet-app-page .sheet-page { border-width: 1px; }
}

@media print {
    :root[data-theme="dark"] {
        --paper: #fff;
        --paper-deep: #f2efe8;
        --ink: #1f1b18;
        --line: #252525;
        --soft-line: #b8b0a4;
    }
}
