* { all: unset; font-family: "JetBrainsMono Nerd Font", "Noto Sans", sans-serif; font-size: 13px; } .homelab-window { background: transparent; } .login-panel, .shell { border: 1px solid rgba(205, 214, 244, 0.16); border-radius: 16px; background: rgba(20, 20, 30, 0.97); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45); color: #cdd6f4; } .login-panel { min-width: 520px; padding: 18px; } .shell { min-width: 0; min-height: 0; } .sidebar { min-width: 218px; padding: 14px 10px; border-right: 1px solid rgba(205, 214, 244, 0.10); background: rgba(14, 16, 24, 0.72); } .brand { padding: 8px 8px 14px; } .brand-title { color: #00ff9c; font-size: 19px; font-weight: 800; } .brand-subtitle, .subtitle, .row-subtitle { color: #a6adc8; font-size: 12px; } .nav-button { min-height: 34px; padding: 7px 8px; border-radius: 8px; color: #cdd6f4; } .nav-button:hover, .nav-button:focus { background: rgba(0, 255, 156, 0.14); } .nav-button.active { background: rgba(0, 255, 156, 0.22); color: #00ff9c; } .nav-icon { min-width: 24px; } .nav-label { font-size: 12px; } .content { padding: 18px; } .page-scroll { min-width: 0; min-height: 0; } .header { min-height: 38px; } .title { font-size: 20px; font-weight: 750; color: #00ff9c; } .subtitle { margin-top: 3px; } entry { padding: 10px 12px; border: 1px solid rgba(205, 214, 244, 0.14); border-radius: 10px; background: rgba(40, 40, 55, 0.82); color: #cdd6f4; } entry:focus { border-color: rgba(0, 255, 156, 0.78); } .grid, .live-strip, .service-grid { min-height: 92px; } .card, .chart-card, .service-card, .table-row { border: 1px solid rgba(205, 214, 244, 0.10); border-radius: 8px; background: rgba(40, 40, 55, 0.62); } .card { min-width: 220px; padding: 12px; } .wide-card { min-width: 0; min-height: 220px; } .log-card { min-width: 0; min-height: 560px; } .stat-card { min-height: 80px; } .chart-card { min-width: 260px; min-height: 98px; padding: 12px; } .chart-card.cpu { border-color: rgba(0, 255, 156, 0.22); } .chart-card.memory { border-color: rgba(137, 180, 250, 0.26); } .chart-card.load { border-color: rgba(249, 226, 175, 0.24); } .chart-card.docker, .chart-card.network { border-color: rgba(116, 199, 236, 0.24); } .card-title { color: #00cc88; font-size: 12px; font-weight: 750; } .card-value { color: #cdd6f4; } .compact, .row-subtitle { font-size: 12px; } .percent-label, .chart-value { color: #f9e2af; font-size: 12px; font-weight: 750; } .sparkline { color: #00ff9c; font-size: 25px; letter-spacing: 0; } .meter { min-height: 8px; border-radius: 6px; background: rgba(205, 214, 244, 0.10); } .meter-fill { min-height: 8px; border-radius: 6px; background: linear-gradient(to right, #00ff9c, #89b4fa); } .alerts { min-height: 32px; } .alert, .pill { padding: 4px 8px; border-radius: 999px; background: rgba(205, 214, 244, 0.10); color: #cdd6f4; font-size: 11px; } .alert.ok, .pill.ok { background: rgba(0, 255, 156, 0.16); color: #00ff9c; } .alert.warn, .pill.warn { background: rgba(249, 226, 175, 0.16); color: #f9e2af; } .table-row { min-height: 72px; padding: 10px; } .container-main { min-width: 260px; } .container-stats { min-width: 112px; } .row-actions { min-width: 250px; } .row-title { color: #cdd6f4; font-weight: 750; } .service-card { min-width: 250px; min-height: 112px; padding: 12px; } .actions { margin-top: 2px; } .button, .mini-button, .icon-button { padding: 8px 10px; border-radius: 8px; background: rgba(40, 40, 55, 0.82); color: #cdd6f4; } .mini-button { padding: 6px 8px; font-size: 12px; } .button:hover, .button:focus, .mini-button:hover, .mini-button:focus, .icon-button:hover, .icon-button:focus { background: rgba(0, 255, 156, 0.22); } .primary { background: rgba(0, 255, 156, 0.24); color: #00ff9c; } .danger { color: #f38ba8; } .close { color: #f38ba8; } .icon-button { min-width: 34px; min-height: 34px; padding: 0; } .error { color: #f38ba8; }