/* Navigation auf allen Bildschirmgrößen auf Anforderung öffnen. */
#app-shell #main-nav { position:fixed !important; inset:0 auto 0 0 !important; width:min(86vw,320px) !important; height:100dvh !important; transform:translateX(-105%) !important; transition:transform .22s ease !important; z-index:4500 !important; overflow-y:auto !important; visibility:hidden; }
#app-shell #main-nav.open { transform:translateX(0) !important; visibility:visible; }
#app-shell #main-content { margin-left:0 !important; width:100% !important; max-width:none !important; padding:84px clamp(16px,3vw,48px) 32px !important; }
#app-shell #hamburger-btn:not(.hidden) { display:flex !important; position:fixed !important; top:16px !important; left:16px !important; z-index:5000 !important; }
#app-shell #hamburger-btn.open { display:none !important; }
#app-shell #nav-overlay { display:none !important; z-index:4400 !important; }
#app-shell #nav-overlay.visible { display:block !important; }
#app-shell .drawer-close { display:block !important; margin:16px 16px 4px; padding:10px 14px; min-height:44px; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:10px; cursor:pointer; align-self:flex-end; }
.compact-admin-dashboard #dashboard-admin-tasks,
.compact-admin-dashboard #dashboard-completions,
.compact-admin-dashboard #dashboard-stock-alerts,
.compact-admin-dashboard #dashboard-pricing-card,
.compact-admin-dashboard #unknown-fm-stat-card,
.compact-admin-dashboard #article-reviews-stat-card,
.compact-admin-dashboard #stock-alerts-stat-card { display:none !important; }
#dashboard-notices { padding:22px; margin:20px 0; }
#dashboard-notices h2 { font-size:1.15rem; margin:0 0 6px; }
.notice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin-top:18px; }
.notice-button { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; min-height:62px; padding:14px 16px; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:12px; font:inherit; cursor:pointer; }
.notice-button:hover { border-color:var(--primary,#7775ff); background:rgba(110,110,240,.08); }
.notice-button:focus-visible,.drawer-close:focus-visible { outline:3px solid var(--primary,#7775ff); outline-offset:3px; }
.notice-count { display:grid; place-items:center; min-width:32px; padding:4px 8px; border-radius:30px; color:#ffc16b; background:rgba(245,158,11,.12); }
.notice-empty { margin:18px 0 0; color:var(--text-muted); }
#dashboard-notice-dialog { width:min(860px,calc(100vw - 32px)); max-height:85dvh; margin:auto; padding:0; color:var(--text); background:var(--surface,#111827); border:1px solid var(--border); border-radius:18px; box-shadow:0 24px 80px #0008; overflow:auto; }
#dashboard-notice-dialog::backdrop { background:rgba(3,8,20,.75); backdrop-filter:blur(4px); }
#dashboard-notice-dialog > header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--surface,#111827); z-index:1; }
#dashboard-notice-title { font-size:1.2rem; margin:0; }
#dashboard-notice-body { padding:24px; }
#dashboard-notice-body > p { margin-bottom:16px; }
#dashboard-notice-body .card { margin:0 !important; }
.notice-preview-list { list-style:none; padding:0; margin:16px 0; }
.notice-preview-list li { padding:12px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
@media(max-width:600px) { .notice-grid { grid-template-columns:1fr; } #dashboard-notice-dialog > header,#dashboard-notice-body { padding:16px; } #dashboard-notice-dialog .stock-alert-row { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { #app-shell #main-nav { transition:none !important; } }
