:root { --kalilab-bg-1: #07111b; --kalilab-bg-2: #0b1220; --kalilab-bg-3: #0f1923; --kalilab-panel-bg: rgba(8, 14, 24, 0.48); --kalilab-panel-border: rgba(72, 202, 228, 0.10); --kalilab-card-top: rgba(18, 28, 45, 0.78); --kalilab-card-bottom: rgba(10, 17, 30, 0.88); --kalilab-border: rgba(0, 180, 216, 0.16); --kalilab-border-hover: rgba(72, 202, 228, 0.34); --kalilab-shadow: 0 8px 22px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(0, 180, 216, 0.05); --kalilab-shadow-hover: 0 14px 30px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(0, 180, 216, 0.14); --kalilab-text: #ecf8ff; --kalilab-text-soft: #9fb3c8; --kalilab-text-dim: #7f95ac; --kalilab-accent: #00b4d8; --kalilab-accent-2: #48cae4; --kalilab-accent-3: #90e0ef; } /* ========================= GLOBAL BACKGROUND ========================= */ html, body, #page_container { background: linear-gradient(rgba(5, 10, 20, 0.78), rgba(5, 10, 20, 0.86)), url("/images/background_dashboard.png") center center / cover no-repeat fixed !important; } body, button, input, textarea { color: var(--kalilab-text) !important; } /* obere Widgets ruhig halten */ div[class*="information-widget"], div[class*="widget_resources"], div[class*="widget_search"], div[class*="widget_datetime"], div[class*="widget_greeting"] { background: transparent !important; border: none !important; box-shadow: none !important; } /* Suchfeld */ input, input[type="text"], .search-input { background: rgba(18, 24, 35, 0.76) !important; border: 1px solid rgba(255, 255, 255, 0.08) !important; border-radius: 12px !important; color: var(--kalilab-text) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); } input:focus, input[type="text"]:focus, .search-input:focus { outline: none !important; border-color: rgba(0, 180, 216, 0.42) !important; box-shadow: 0 0 0 3px rgba(0, 180, 216, 0.10), inset 0 1px 0 rgba(255,255,255,0.04) !important; } /* ========================= GROUP PANELS ========================= */ div[data-name], section { position: relative; margin-bottom: 22px !important; padding: 14px 14px 18px 14px !important; border-radius: 18px !important; background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%), var(--kalilab-panel-bg) !important; border: 1px solid var(--kalilab-panel-border) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.02), 0 0 0 1px rgba(0,180,216,0.03), 0 12px 30px rgba(0, 0, 0, 0.18) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } div[data-name]::before, section::before { content: ""; position: absolute; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient( 90deg, rgba(0,180,216,0) 0%, rgba(72,202,228,0.32) 50%, rgba(0,180,216,0) 100% ); opacity: 0.8; } h2, .group-title { color: #e8f7ff !important; font-weight: 800 !important; letter-spacing: 0.15px; margin-bottom: 1rem !important; text-shadow: 0 0 10px rgba(0, 180, 216, 0.08); } /* ========================= SERVICE CARDS ========================= */ .service-card, .widget-card, div[class*="service_"] { position: relative; overflow: hidden; min-height: 92px !important; background: linear-gradient(180deg, var(--kalilab-card-top) 0%, var(--kalilab-card-bottom) 100%) !important; border: 1px solid var(--kalilab-border) !important; border-radius: 14px !important; box-shadow: var(--kalilab-shadow) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease !important; } .service-card::before, .widget-card::before, div[class*="service_"]::before { content: ""; position: absolute; top: 0; left: 12px; right: 12px; height: 1px; background: linear-gradient( 90deg, rgba(0, 180, 216, 0) 0%, rgba(72, 202, 228, 0.55) 50%, rgba(0, 180, 216, 0) 100% ); opacity: 0.75; } .service-card::after, .widget-card::after, div[class*="service_"]::after { content: ""; position: absolute; inset: 0; background: linear-gradient( 135deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.00) 24%, rgba(0,180,216,0.025) 100% ); pointer-events: none; } .service-card:hover, .widget-card:hover, div[class*="service_"]:hover { transform: translateY(-2px); border-color: var(--kalilab-border-hover) !important; box-shadow: var(--kalilab-shadow-hover) !important; background: linear-gradient(180deg, rgba(22, 34, 54, 0.95) 0%, rgba(12, 20, 34, 0.98) 100%) !important; } /* ========================= BOOKMARK CARDS – FINAL FIX ========================= */ .bookmark, div[class*="bookmark_"] { position: relative; overflow: hidden !important; min-height: 92px !important; padding: 0 !important; display: flex !important; align-items: stretch !important; background: linear-gradient(180deg, var(--kalilab-card-top) 0%, var(--kalilab-card-bottom) 100%) !important; border: 1px solid var(--kalilab-border) !important; border-radius: 14px !important; box-shadow: var(--kalilab-shadow) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease !important; } .bookmark::before, div[class*="bookmark_"]::before { content: ""; position: absolute; top: 0; left: 12px; right: 12px; height: 1px; background: linear-gradient( 90deg, rgba(0, 180, 216, 0) 0%, rgba(72, 202, 228, 0.55) 50%, rgba(0, 180, 216, 0) 100% ); opacity: 0.75; } .bookmark::after, div[class*="bookmark_"]::after { content: ""; position: absolute; inset: 0; background: linear-gradient( 135deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.00) 24%, rgba(0,180,216,0.025) 100% ); pointer-events: none; } .bookmark:hover, div[class*="bookmark_"]:hover { transform: translateY(-2px) !important; border-color: var(--kalilab-border-hover) !important; box-shadow: var(--kalilab-shadow-hover) !important; background: linear-gradient(180deg, rgba(22, 34, 54, 0.95) 0%, rgba(12, 20, 34, 0.98) 100%) !important; } /* innerer klickbarer Bereich */ .bookmark > a, div[class*="bookmark_"] > a { display: flex !important; align-items: flex-start !important; justify-content: flex-start !important; width: 100% !important; min-height: 92px !important; padding: 16px 18px !important; gap: 14px !important; background: transparent !important; border: none !important; box-shadow: none !important; text-decoration: none !important; } /* alle inneren Balken neutralisieren */ .bookmark a > div, div[class*="bookmark_"] a > div, .bookmark [class*="bg-"], .bookmark [class*="rounded"], .bookmark [class*="backdrop"], div[class*="bookmark_"] [class*="bg-"], div[class*="bookmark_"] [class*="rounded"], div[class*="bookmark_"] [class*="backdrop"] { background: transparent !important; box-shadow: none !important; border: none !important; } /* ========================= TYPO ========================= */ .service-card h3, .service-card .title, .widget-card h3, div[class*="service_"] h3, .bookmark h3, .bookmark .title, div[class*="bookmark_"] h3, div[class*="bookmark_"] .title { display: block !important; margin: 0 0 6px 0 !important; font-size: 1rem !important; font-weight: 750 !important; line-height: 1.2 !important; color: #f4fbff !important; } .service-card p, .service-card .description, .widget-card p, div[class*="service_"] p, .bookmark p, .bookmark .description, div[class*="bookmark_"] p, div[class*="bookmark_"] .description { display: block !important; margin: 0 !important; font-size: 0.89rem !important; line-height: 1.35 !important; color: var(--kalilab-text-soft) !important; opacity: 1 !important; } small, span[class*="description"], div[class*="description"] { color: var(--kalilab-text-dim) !important; } .bookmark span, .bookmark small, div[class*="bookmark_"] span, div[class*="bookmark_"] small { white-space: normal !important; } /* ========================= ICONS – SKALIERT ========================= */ /* obere Service-Icons */ .service-card img, .service-card svg, .widget-card img, .widget-card svg, div[class*="service_"] img, div[class*="service_"] svg { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; object-fit: contain !important; opacity: 0.96; filter: drop-shadow(0 0 4px rgba(0, 180, 216, 0.06)); } /* untere Bookmark-Icons bewusst etwas kleiner */ .bookmark img, .bookmark svg, div[class*="bookmark_"] img, div[class*="bookmark_"] svg { width: 22px !important; height: 22px !important; min-width: 22px !important; min-height: 22px !important; max-width: 22px !important; max-height: 22px !important; object-fit: contain !important; margin-top: 2px !important; opacity: 0.96 !important; filter: drop-shadow(0 0 4px rgba(0, 180, 216, 0.06)); } /* falls Homepage Icons als next/image o.ä. wrapped */ .bookmark picture, .bookmark picture img, .bookmark span img, div[class*="bookmark_"] picture, div[class*="bookmark_"] picture img, div[class*="bookmark_"] span img { width: 22px !important; height: 22px !important; max-width: 22px !important; max-height: 22px !important; object-fit: contain !important; } /* ========================= STATUS / ERRORS ========================= */ div[class*="status"], .status { filter: saturate(1.05) brightness(1.04); } .error, [class*="error"], [class*="failed"], [class*="danger"] { background: linear-gradient(180deg, rgba(127, 17, 17, 0.34), rgba(80, 12, 12, 0.38)) !important; border: 1px solid rgba(239, 68, 68, 0.18) !important; border-left: 3px solid rgba(239, 68, 68, 0.58) !important; border-radius: 10px !important; color: #fecaca !important; box-shadow: none !important; } .error a, [class*="error"] a, [class*="failed"] a, [class*="danger"] a { color: #fecaca !important; } /* ========================= LINKS / HEADER / SCROLLBAR ========================= */ a { color: var(--kalilab-accent-3); } a:hover { color: #ffffff; } header, div[class*="header"] { background: transparent !important; border: none !important; box-shadow: none !important; } ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: rgba(5, 10, 20, 0.75); } ::-webkit-scrollbar-thumb { background: rgba(0, 180, 216, 0.22); border-radius: 999px; } ::-webkit-scrollbar-thumb:hover { background: rgba(0, 180, 216, 0.40); } /* ========================= MOBILE ========================= */ @media (max-width: 900px) { div[data-name], section { padding: 12px 12px 16px 12px !important; border-radius: 16px !important; } .service-card, .widget-card, .bookmark, div[class*="service_"], div[class*="bookmark_"] { border-radius: 12px !important; min-height: 78px !important; } .bookmark > a, div[class*="bookmark_"] > a { min-height: 78px !important; padding: 14px 16px !important; } .service-card h3, .service-card .title, .bookmark h3, .bookmark .title, div[class*="service_"] h3, div[class*="bookmark_"] h3 { font-size: 0.96rem !important; } .service-card p, .bookmark p, div[class*="service_"] p, div[class*="bookmark_"] p { font-size: 0.84rem !important; } .service-card img, .service-card svg, div[class*="service_"] img, div[class*="service_"] svg { width: 26px !important; height: 26px !important; min-width: 26px !important; min-height: 26px !important; } .bookmark img, .bookmark svg, div[class*="bookmark_"] img, div[class*="bookmark_"] svg { width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important; } }