Files
homepage/custom.css
T
2026-03-20 11:10:30 +01:00

511 lines
12 KiB
CSS
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
: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.72), rgba(5, 10, 20, 0.82)),
url("/prod/homepage/config/images/background_dashboard.png") center center / cover no-repeat fixed !important;
color: var(--kalilab-text) !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;
}
}