/** * FeatureView Page Styles */ .featureView { display: flex; flex-direction: column; height: 100%; overflow: hidden; min-height: 0; } .viewHeader { flex-shrink: 0; padding: 1rem 1.5rem; border-bottom: 1px solid var(--border-color, #e0e0e0); background: var(--bg-primary, #ffffff); } .viewTitle { margin: 0; font-size: 1.25rem; font-weight: 600; color: var(--text-primary, #1a1a1a); } .viewContent { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow: auto; padding: 1.5rem; } /* Placeholder View */ .placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; text-align: center; padding: 2rem; } .placeholder h2 { margin: 0 0 0.5rem; font-size: 1.5rem; font-weight: 600; color: var(--text-primary, #1a1a1a); } .placeholder p { margin: 0; color: var(--text-secondary, #666); } /* Not Found */ .notFound, .accessDenied { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; text-align: center; padding: 2rem; } .notFound h2, .accessDenied h2 { margin: 0 0 0.5rem; font-size: 1.25rem; font-weight: 600; } .notFound p, .accessDenied p { margin: 0; color: var(--text-secondary, #666); } .accessDenied h2 { color: var(--error-color, #dc2626); } /* Dark Theme */ :global(.dark-theme) .viewHeader { background: var(--surface-dark, #1a1a1a); border-bottom-color: var(--border-dark, #333); } :global(.dark-theme) .viewTitle, :global(.dark-theme) .placeholder h2, :global(.dark-theme) .notFound h2 { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .placeholder p, :global(.dark-theme) .notFound p, :global(.dark-theme) .accessDenied p { color: var(--text-secondary-dark, #aaa); } @media (max-width: 1024px) { .viewHeader { padding: 0.875rem 1rem; } .viewContent { padding: 1rem; } }