:root { --sidebar-width: 260px; --primary-color: #0d6efd; --bg-dark: #212529; --bg-light: #f4f6f9; }
body { overflow-x: hidden; background-color: var(--bg-light); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
body.public-mode { background-color: #000; color: white; }
.clock-mono { font-family: 'Courier New', monospace; letter-spacing: 2px; font-weight: 800; }
.blink-card { animation: blinkRed 1s infinite alternate; }
@keyframes blinkRed { from { background-color: #dc3545; box-shadow: 0 0 10px red; } to { background-color: #a71d2a; box-shadow: 0 0 30px red; } }
.custom-scrollbar::-webkit-scrollbar { width: 8px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
#wrapper { display: flex; width: 100%; align-items: stretch; }
#sidebar-wrapper { min-height: 100vh; width: var(--sidebar-width); margin-left: calc(var(--sidebar-width) * -1); position: fixed; z-index: 1050; transition: margin 0.3s ease; background: linear-gradient(180deg, var(--bg-dark) 0%, #1a1e21 100%); }
#page-content-wrapper { width: 100%; min-width: 100vw; transition: margin 0.3s ease; }
#wrapper.toggled #sidebar-wrapper { margin-left: 0; }
@media (min-width: 768px) { 
    #sidebar-wrapper { margin-left: 0; } 
    #page-content-wrapper { min-width: 0; width: 100%; margin-left: var(--sidebar-width); } 
    #wrapper.toggled #sidebar-wrapper { margin-left: calc(var(--sidebar-width) * -1); }
    #wrapper.toggled #page-content-wrapper { margin-left: 0; }
}
.cursor-pointer { cursor: pointer; }
.accordion-button:not(.collapsed) { background-color: rgba(13,110,253,0.1); color: #0d6efd; }