/* Zentrales Stylesheet (Layout, Farben, Komponenten) */ :root { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; color: #1f1f1f; background-color: #f4f5f7; } body { margin: 0; background-color: #f4f5f7; } .app-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 18px 32px; background: linear-gradient(90deg, #0a3d62, #1d6fa5); color: white; gap: 20px; position: sticky; top: 0; z-index: 10; box-shadow: 0 4px 20px rgba(15, 26, 45, 0.25); } .app-header__brand { display: flex; flex-direction: column; line-height: 1.1; } .app-header__eyebrow { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.65); } .app-header__title { margin: 0; font-size: 1.8rem; font-weight: 600; line-height: 1.2; } .main-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; } .main-nav__item { border-radius: 999px; } .main-nav__link { display: block; padding: 10px 16px; color: rgba(255, 255, 255, 0.85); text-decoration: none; font-weight: 500; } .main-nav__item.active .main-nav__link, .main-nav__link:hover { background: rgba(255, 255, 255, 0.15); color: #fff; } main { padding: 24px 32px 48px; min-height: calc(100vh - 200px); } .flash-stack { display: grid; gap: 10px; margin: 0 auto 18px; max-width: 1200px; } .flash-message { border-radius: 8px; border: 1px solid transparent; padding: 12px 14px; background: #f8fafc; } .flash-message--success { border-color: #99dfba; background: #ebf9f1; color: #165938; } .flash-message--error { border-color: #efb4b4; background: #fff1f1; color: #8a1f1f; } .flash-message__text { margin: 0; font-weight: 600; } .flash-message__list { margin: 8px 0 0 18px; padding: 0; } /* Shared components -------------------------------------------------- */ .filter-form { margin: 20px 0; } .filter-form form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; } .filter-form input, .filter-form select { padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; background: #fff; } .search-input { flex: 1; min-width: 250px; } .connections-container { padding: 20px; max-width: 1200px; margin: 0 auto; background: #fff; border: 1px solid #e0e6ef; border-radius: 12px; box-shadow: 0 12px 40px rgba(15, 26, 45, 0.08); } .connections-list { width: 100%; border-collapse: collapse; margin: 15px 0; } .connections-list th { background: #f5f5f5; padding: 12px; text-align: left; border-bottom: 2px solid #ddd; font-weight: 600; font-size: 0.9rem; letter-spacing: 0.02em; } .connections-list td { padding: 12px; border-bottom: 1px solid #ddd; font-size: 0.95rem; } .connections-list tr:hover { background: #fafafa; } .status-cell { width: 140px; } .status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; } .status-badge-warning { background: #fff4e5; color: #bb4c26; border: 1px solid #f9c8a3; } .status-badge-ok { background: #e6f4ea; color: #1b7333; border: 1px solid #a6d4b8; } .empty-state { text-align: center; padding: 40px 20px; background: #f9f9f9; border: 1px solid #eee; border-radius: 8px; } @media (max-width: 900px) { .connections-list th, .connections-list td { font-size: 0.85rem; } } @media (max-width: 900px) { .app-header { flex-direction: column; align-items: flex-start; } .main-nav__list { flex-wrap: wrap; } } footer>p { margin-bottom: 0; }