body { display: flex; flex-direction: column; } #app { flex: 1; display: flex; flex-direction: column; overflow: hidden; } .page { flex: 1; display: flex; flex-direction: column; overflow: hidden; } /* ── Nav ── */ #nav { padding: var(--s3) calc(var(--s4) * 1.5); border-bottom: 1px solid var(--f2-border); display: flex; align-items: center; gap: calc(var(--s4) * 2); flex-shrink: 0; } .nav-links { display: flex; gap: var(--s4); } .nav-link { color: var(--f3-border); text-decoration: none; padding: var(--s1) var(--s2); } .nav-link:hover { color: var(--text); } .nav-link.active { color: var(--text); border-bottom: 2px solid var(--primary); } /* ── Dashboard ── */ .dashboard { padding: calc(var(--s4) * 2); overflow-y: auto; } .dashboard section { margin-bottom: calc(var(--s4) * 2); } .section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--s4); } .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s4); } .card { background: var(--f3-bg); border: 1px solid var(--f3-border); padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); } .card.clickable { cursor: pointer; } .card.clickable:hover { border-color: var(--primary); } .card-icon { font-size: 2em; } .card-title { font-weight: bold; } .card-sub { color: var(--f3-border); } .card.placeholder { border-style: dashed; color: var(--f2-border); } /* ── Session Page ── */ .session-page { display: flex; flex-direction: column; } .session-header { padding: var(--s3) calc(var(--s4) * 1.5); border-bottom: 1px solid var(--f2-border); display: flex; align-items: center; gap: var(--s4); flex-shrink: 0; } .back-btn { background: none; border: none; padding: var(--s1) var(--s2); } .editable-title { cursor: pointer; } .editable-title:hover { text-decoration: underline; text-decoration-style: dotted; } /* ── Placeholder Pages ── */ .placeholder-page { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s4); color: var(--f3-border); } .placeholder-icon { font-size: 4em; }