/* Dashboard layout. Shared visual primitives live in app.css. */
.dashboard-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-5); margin-bottom:var(--space-6); }
.dashboard-intro h1 { font-size:clamp(1.8rem,3.2vw,2.7rem); overflow-wrap:anywhere; }
.dashboard-intro p:last-child { margin-bottom:0; }
.dashboard-date { white-space:nowrap; font-size:var(--text-xs); color:var(--muted); padding-top:var(--space-1); }
.dashboard-shortcuts { margin:var(--space-6) 0; }
.shortcut-link { display:flex; flex-direction:column; gap:var(--space-2); text-decoration:none; color:var(--ink); transition:transform .18s,border-color .18s; }
.shortcut-link:hover { transform:translateY(-3px); border-color:var(--accent); }
.dashboard-icon { font:700 .8rem Georgia,serif; color:var(--accent); margin-bottom:var(--space-2); }
.dashboard-shortcuts strong { display:flex; justify-content:space-between; }
.dashboard-shortcuts small,.shortcut-link>span:last-child { color:var(--muted); }
.shortcut-link>span:last-child { font-size:var(--text-xs); margin-top:var(--space-2); }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-5); }
.dashboard-section-heading h2 { margin:0; }
.dashboard-more-link,.dashboard-action-link { font-size:var(--text-xs); white-space:nowrap; }
.dashboard-links { display:flex; gap:var(--space-4); flex-wrap:wrap; }
.dashboard-personal { padding:var(--space-6); margin:var(--space-6) 0; }
.dashboard-personal .eyebrow { margin-bottom:var(--space-2); }
.dashboard-personal-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3); }
.stat-link { display:flex; flex-direction:column; gap:var(--space-3); background:var(--surface); border-radius:var(--radius-card); padding:var(--space-4); text-decoration:none; }
.dashboard-personal-stats span { font-size:var(--text-xs); color:var(--muted); }
.dashboard-personal-stats strong { font-size:var(--text-title); line-height:1; color:var(--ink); font-variant-numeric:tabular-nums; }
.dashboard-personal-stats strong small { font-size:var(--text-xs); font-weight:400; margin-left:6px; }
.dashboard-storage { margin:var(--space-5) 0; }
.dashboard-storage>div { display:flex; gap:var(--space-3); justify-content:space-between; font-size:var(--text-xs); }
.dashboard-storage small { font-size:var(--text-xs); color:var(--muted); }
.dashboard-storage progress { display:block; width:100%; height:8px; border:0; border-radius:var(--radius-small); overflow:hidden; margin:var(--space-2) 0; accent-color:var(--accent); }
.dashboard-storage progress::-webkit-progress-bar { background:var(--line); }
.dashboard-storage progress::-webkit-progress-value { background:var(--accent); }
.dashboard-personal-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
.dashboard-personal h3 { font-size:var(--text-body); }
.dashboard-own-row { display:flex; justify-content:space-between; gap:var(--space-4); text-decoration:none; padding:var(--space-3) 0; border-bottom:1px solid var(--line); font-size:var(--text-small); }
.dashboard-own-row span { overflow-wrap:anywhere; }
.dashboard-own-row small { white-space:nowrap; color:var(--muted); }
.dashboard-replies { margin-top:var(--space-5); border-top:1px solid var(--line); padding-top:var(--space-2); }
.dashboard-replies h3 small { font-size:var(--text-xs); font-weight:400; margin-left:10px; color:var(--muted); }
.dashboard-replies article { padding:var(--space-4) 0; border-bottom:1px solid var(--line); }
.reply-link { display:block; font-size:var(--text-small); margin:var(--space-2) 0 5px; overflow-wrap:anywhere; }
.dashboard-replies article p { font-size:var(--text-small); margin:0; overflow-wrap:anywhere; }
.dashboard-operator { display:flex; flex-wrap:wrap; gap:var(--space-4); font-size:var(--text-xs); border-top:1px solid var(--line); margin-top:var(--space-5); padding-top:var(--space-4); }
.dashboard-welcome { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); margin:var(--space-6) 0; padding:var(--space-5) var(--space-6); }
.dashboard-welcome h2 { font-size:var(--text-body); margin:0; }
.dashboard-welcome p { font-size:var(--text-small); margin:var(--space-2) 0 0; }
.dashboard-welcome .button { white-space:nowrap; }
.dashboard-content-grid { margin-top:var(--space-6); }
.dashboard-panel { min-width:0; }
.dashboard-panel h2 { margin-top:0; }
.dashboard-news-item { border-top:1px solid var(--line); padding:var(--space-4) 0; }
.dashboard-news-item:last-child { padding-bottom:0; }
.dashboard-news-item h3 { margin:var(--space-2) 0; overflow-wrap:anywhere; }
.dashboard-news-item p { margin:0; overflow-wrap:anywhere; }
.dashboard-term { margin-top:var(--space-5); }
.dashboard-term h3 { margin:var(--space-3) 0 var(--space-2); }
.dashboard-term small,.term-detail-link { font-size:var(--text-xs); }
.dashboard-list-item { padding:var(--space-4) 0; border-top:1px solid var(--line); }
.dashboard-list-item h3 { margin:var(--space-2) 0; overflow-wrap:anywhere; }
.dashboard-list-item .badge { font-size:var(--text-xs); }
.dashboard-empty { font-size:var(--text-small); line-height:1.8; color:var(--muted); padding:var(--space-4) 0; }
.dashboard-personal [id] { scroll-margin-top:20px; }
@media(max-width:850px) {
.dashboard-section-heading { align-items:flex-start; flex-wrap:wrap; }
.dashboard-intro { flex-direction:column; gap:var(--space-4); }
.dashboard-personal-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
.dashboard-personal-grid { grid-template-columns:1fr; }
.dashboard-shortcuts small { line-height:1.6; }
.dashboard-personal { padding:var(--space-5) var(--space-4); }
.stat-link { padding:var(--space-4) var(--space-3); }
.dashboard-welcome { padding:var(--space-5) var(--space-4); align-items:flex-start; flex-direction:column; gap:var(--space-4); }
.dashboard-date { padding:0; }
.dashboard-personal-grid { gap:var(--space-4); }
.dashboard-storage>div { flex-wrap:wrap; }
.dashboard-replies h3 small { display:block; margin:var(--space-2) 0 0; }
}
