/* SynergyCorp — thème clair « SaaS » + fausses applications */
.eg {
    --eg-card: #ffffff;
    --eg-card-2: #f1f5f9;
    --eg-text: var(--text-primary);
    --eg-muted: var(--text-secondary);
    --eg-accent: var(--corp-blue);
    --eg-accent-ink: #ffffff;
    --eg-border: var(--border-light);
    --eg-ok: #059669;
    --eg-err: #dc2626;
    --eg-warn: var(--corp-amber);
    --eg-radius: 14px;
    --eg-font-head: var(--font-heading);
    --eg-font-body: var(--font-body);
    --eg-font-mono: var(--font-mono);
}
.eg .eg-room, .eg .eg-bar, .eg .eg-tab, .eg .eg-victory { box-shadow: var(--shadow-md); }
.eg .eg-input { background: #fff; color: var(--text-primary); }

/* Fenêtre façon OS */
.os-window { border: 1px solid #cbd5e1; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: var(--shadow-lg); }
.os-bar { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.8rem; background: linear-gradient(180deg, #f8fafc, #e2e8f0); border-bottom: 1px solid #cbd5e1; }
.os-dots { display: inline-flex; gap: 6px; }
.os-dots i { width: 11px; height: 11px; border-radius: 50%; background: #f87171; display: block; }
.os-dots i:nth-child(2) { background: #fbbf24; }
.os-dots i:nth-child(3) { background: #34d399; }
.os-title { font-family: var(--font-mono); font-size: 0.82rem; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.os-body { padding: 1rem; }

/* Salle 1 : écran verrouillé */
.lock-screen { display: flex; flex-direction: column; align-items: center; gap: 0.7rem; padding: 1.2rem 0.5rem; border-radius: 10px; color: #fff; background: radial-gradient(circle at 30% 20%, #6366f1, #0f172a 70%); text-align: center; }
.lock-clock { font-family: var(--font-heading); font-size: clamp(2.6rem, 10vw, 4rem); font-weight: 800; line-height: 1; }
.lock-date { opacity: 0.85; font-size: 0.9rem; }
.lock-notifs { display: grid; gap: 0.45rem; width: min(100%, 420px); text-align: left; }
.notif { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.55rem 0.75rem; border-radius: 10px; background: rgba(255, 255, 255, 0.14); backdrop-filter: blur(6px); font-size: 0.88rem; }
.notif b { font-size: 0.75rem; opacity: 0.8; }
.lock-user { display: flex; flex-direction: column; align-items: center; gap: 0.1rem; margin-top: 0.4rem; }
.lock-user .eg-muted { color: #cbd5e1; font-size: 0.85rem; }
.lock-avatar { font-size: 2.4rem; }
.lock-form { width: min(100%, 340px); }
.lock-form .eg-input { background: rgba(255, 255, 255, 0.92); }
.lock-forgot { background: none; border: 0; color: #c7d2fe; text-decoration: underline; cursor: pointer; font: inherit; font-size: 0.85rem; }
.lock-hint { margin: 0; padding: 0.5rem 0.8rem; border-radius: 8px; background: rgba(0, 0, 0, 0.3); font-size: 0.88rem; }

/* Salle 2 : messagerie */
.chat { display: grid; grid-template-columns: 190px 1fr; min-height: 300px; border: 1px solid var(--border-light); border-radius: 10px; overflow: hidden; }
.chat-side { display: flex; flex-direction: column; gap: 2px; padding: 0.6rem; background: #3f0e40; }
.chat-chan { text-align: left; font: inherit; font-size: 0.9rem; padding: 0.4rem 0.6rem; border: 0; border-radius: 6px; background: transparent; color: #e9d5ff; cursor: pointer; }
.chat-chan.on { background: #1164a3; color: #fff; }
.chat-msgs { padding: 0.8rem 1rem; display: flex; flex-direction: column; gap: 0.75rem; background: #fff; }
.chat-msg b { font-size: 0.85rem; color: #0f172a; }
.chat-msg p { margin: 0.15rem 0 0; color: #334155; line-height: 1.5; }
.keypad-row { margin-top: 1rem; }
.keypad-row .eg-input { max-width: 140px; letter-spacing: 0.4em; text-align: center; font-size: 1.2rem; }

/* Salle 3 : tableur */
.sheet-fx { display: flex; gap: 0.7rem; align-items: center; padding: 0.45rem 0.6rem; border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; font-family: var(--font-mono); font-size: 0.85rem; margin-bottom: 0.6rem; overflow-x: auto; white-space: nowrap; }
.sheet-fx b { color: #16a34a; font-style: italic; }
.sheet-wrap { overflow-x: auto; }
.sheet { border-collapse: collapse; width: 100%; font-family: var(--font-mono); font-size: 0.88rem; }
.sheet th, .sheet td { border: 1px solid #e2e8f0; padding: 0.3rem 0.6rem; text-align: left; }
.sheet th { background: #f1f5f9; color: #64748b; font-weight: 600; width: 2.5rem; }
.sheet tr:first-child th { width: auto; }
.sheet .sheet-val { text-align: right; cursor: cell; }
.sheet .sheet-val.sel { outline: 2px solid #16a34a; outline-offset: -2px; background: #f0fdf4; }
.sheet tr.total td { background: #eff6ff; font-weight: 700; }
.sheet tr.year td { background: #dbeafe; font-weight: 800; }
.sheet-ask { margin-top: 0.9rem; }
.sheet-ask p { margin: 0 0 0.6rem; }

/* Salle 4 : mail */
.mail { display: grid; grid-template-columns: 240px 1fr; min-height: 280px; border: 1px solid var(--border-light); border-radius: 10px; overflow: hidden; }
.mail-list { display: flex; flex-direction: column; border-right: 1px solid var(--border-light); background: #f8fafc; }
.mail-item { display: flex; flex-direction: column; gap: 0.1rem; text-align: left; padding: 0.6rem 0.75rem; border: 0; border-bottom: 1px solid var(--border-light); background: transparent; font: inherit; cursor: pointer; }
.mail-item span { font-size: 0.82rem; color: #475569; }
.mail-item.on { background: #e0f2fe; }
.mail-reader { padding: 1rem; }
.mail-reader h4 { margin: 0 0 0.3rem; font-family: var(--font-heading); }
.mail-reader p { line-height: 1.55; }
.reset-form { margin-top: 1rem; display: grid; gap: 0.6rem; }
.reset-form p { margin: 0; }
.reset-q { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 0.6rem; }

/* Salle 5 : le post */
.post-draft { font-style: italic; color: #334155; border-left: 3px solid var(--corp-blue); padding-left: 0.75rem; }
.evidence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0.6rem 0 1rem; }
.evidence-card { font: inherit; text-align: left; padding: 0.75rem; border-radius: 10px; border: 2px dashed #cbd5e1; background: #fff; cursor: pointer; font-size: 0.9rem; line-height: 1.4; }
.evidence-card.on { border-style: solid; border-color: var(--corp-blue); background: #f0f9ff; }
.evidence-card.on::before { content: "📎 "; }
.post-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1rem; }
.post-choices h3 { margin: 0 0 0.3rem; font-family: var(--font-heading); }

@media (max-width: 720px) {
    .chat, .mail { grid-template-columns: 1fr; }
    .chat-side { flex-direction: row; flex-wrap: wrap; }
    .mail-list { border-right: 0; border-bottom: 1px solid var(--border-light); }
    .reset-q { grid-template-columns: 1fr; gap: 0.25rem; }
    .evidence, .post-choices { grid-template-columns: 1fr; }
    .os-body { padding: 0.7rem; }
}
