/* ============================================================ MCLogger – Admin Interface CSS Author: SimolZimol ============================================================ */ :root { --sidebar-width: 230px; --sidebar-bg: #0f1117; --sidebar-border: #1e2230; --topbar-bg: #13161f; --content-bg: #181c27; --card-bg: #1e2230; --card-border: #2a2f42; --text-muted-custom: #6b7280; --accent-green: #1db954; } /* ── Layout ─────────────────────────────────────────────── */ html, body { height: 100%; overflow: hidden; background: var(--content-bg); font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; font-size: 14px; } #wrapper { height: 100vh; overflow: hidden; } /* ── Sidebar ─────────────────────────────────────────────── */ #sidebar { width: var(--sidebar-width); min-width: var(--sidebar-width); background: var(--sidebar-bg); border-right: 1px solid var(--sidebar-border); height: 100vh; overflow-y: auto; overflow-x: hidden; transition: width .25s ease, min-width .25s ease; } #sidebar.collapsed { width: 64px; min-width: 64px; } #sidebar.collapsed .sidebar-brand div, #sidebar.collapsed .sidebar-brand small, #sidebar.collapsed .nav-link span { display: none; } .sidebar-brand { padding: .25rem 0; } #sidebar .nav-link { color: #9ca3af; border-radius: 6px; padding: .45rem .75rem; font-size: .875rem; display: flex; align-items: center; gap: .6rem; transition: background .15s, color .15s; white-space: nowrap; } #sidebar .nav-link i { font-size: 1rem; flex-shrink: 0; } #sidebar .nav-link:hover { background: rgba(255,255,255,.05); color: #e5e7eb; } #sidebar .nav-link.active { background: rgba(29,185,84,.15); color: var(--accent-green); } /* ── Topbar ──────────────────────────────────────────────── */ .topbar { background: var(--topbar-bg); border-bottom: 1px solid var(--sidebar-border); height: 52px; flex-shrink: 0; } /* ── Content ─────────────────────────────────────────────── */ #page-content { display: flex; flex-direction: column; background: var(--content-bg); height: 100vh; } main { flex: 1; overflow-y: auto; } /* ── Cards ───────────────────────────────────────────────── */ .card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 10px; } .card-header { background: rgba(0,0,0,.2); border-bottom: 1px solid var(--card-border); font-size: .85rem; font-weight: 600; color: #d1d5db; } /* ── Statistik-Karten ────────────────────────────────────── */ .stat-card { transition: transform .15s; cursor: default; } .stat-card:hover { transform: translateY(-2px); } .stat-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.3rem; } .stat-value { font-size: 1.5rem; font-weight: 700; line-height: 1; color: #f3f4f6; } .stat-label { font-size: .72rem; color: var(--text-muted-custom); margin-top: 2px; } /* ── Tabellen ────────────────────────────────────────────── */ .table { color: #d1d5db; font-size: .8rem; } .table > thead { font-size: .75rem; letter-spacing: .03em; color: #9ca3af; } .table-hover > tbody > tr:hover > td { background: rgba(255,255,255,.04); } .table-dark { --bs-table-bg: rgba(0,0,0,.3); } /* ── Badges ──────────────────────────────────────────────── */ .badge { font-size: .7rem; font-weight: 500; } /* ── Inputs ──────────────────────────────────────────────── */ .form-control, .form-select { background-color: #111827; border-color: var(--card-border); color: #e5e7eb; font-size: .8rem; } .form-control:focus, .form-select:focus { border-color: var(--accent-green); box-shadow: 0 0 0 2px rgba(29,185,84,.25); background-color: #111827; color: #f9fafb; } .form-control::placeholder { color: #6b7280; } /* ── Buttons ─────────────────────────────────────────────── */ .btn-success { background-color: var(--accent-green); border-color: var(--accent-green); } .btn-success:hover { background-color: #17a34a; border-color: #17a34a; } /* ── Pagination ──────────────────────────────────────────── */ .page-link { background-color: var(--card-bg); border-color: var(--card-border); color: #9ca3af; font-size: .8rem; } .page-link:hover { background-color: rgba(255,255,255,.07); color: #f3f4f6; } .page-item.active .page-link { background-color: var(--accent-green); border-color: var(--accent-green); color: #000; } .page-item.disabled .page-link { background-color: transparent; } /* ── Login-Seite ─────────────────────────────────────────── */ body .card.shadow-lg { background: #1e2230; border: 1px solid #2a2f42; } /* ── Scrollbars ──────────────────────────────────────────── */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #4b5563; } /* ── Diverse ─────────────────────────────────────────────── */ .blink { animation: blink-anim 1.5s infinite; } @keyframes blink-anim { 0%, 100% { opacity: 1; } 50% { opacity: .2; } } .font-monospace { font-family: 'Consolas', 'Cascadia Code', monospace !important; } .text-truncate { max-width: 250px; } /* Chart.js Canvas */ canvas { max-height: 250px; } /* Alert */ .alert { font-size: .85rem; } /* sticky-top in dark scrollable containers */ .sticky-top { z-index: 1; }