﻿/* - FONTS - */
@font-face {
    font-family: "AkkoPro";
    src: url("/assets/fonts/AkkoPro.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root{
    --db-top-height: 100px;
    --db-sidebar-width: 80px;
    
    [data-bs-theme="dark"] {
        --db-primary-bg: hsl(0, 0%, 6%);
        --db-container-bg: hsl(0, 0%, 3%);
        --db-text-color: hsl(0, 0%, 85%);
        
        --bs-offcanvas-bg: hsl(0, 0%, 90%) !important;
    }

    [data-bs-theme="light"] {
        --db-primary-bg: hsl(0, 0%, 85%);
        --db-container-bg: hsl(0, 0%, 90%);
        --db-text-color: hsl(0, 0%, 15%);
    }
}

html, body, .page-root{
    font-family: "AkkoPro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    background-color: var(--db-primary-bg);
    color: var(--db-text-color);
}

h1,h2,h3,h4,h5,h6{
    margin:0 !important;
    padding:0;
    color: var(--db-text-color);
}

html, body, .page-root, .db-body, .db-topnav, .db-container {
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}

/* - TOP NAV - */
.db-topnav{
    position: absolute;
    top: 0;
    left: var(--db-sidebar-width);
    height: var(--db-top-height);
    width: calc(100% - var(--db-sidebar-width));
    
    background-color: var(--db-container-bg);

    overflow-x: hidden;
}
.db-logo{
    width:auto; height: 25px;
}

[data-bs-theme="dark"] .db-only-light { display: none; }
[data-bs-theme="light"] .db-only-dark { display: none; }

/* - SIDEBAR - */
.db-sidebar{
    position:absolute;
    top: 0;
    left:0;
    
    height: 100%;
    width: var(--db-sidebar-width);
    
    background-color: var(--db-container-bg);
}

/* - BODY - */
.db-body-shell{
    position: absolute;
    top: var(--db-top-height);
    left: var(--db-sidebar-width);
    height: calc(100vh - var(--db-top-height));
    width: calc(100vw - var(--db-sidebar-width));
    background-color: var(--db-container-bg);

    z-index: 10;

}

.db-body{
    width:100%;
    height: 100%;
    background-color: var(--db-primary-bg);
    border-radius: 15px;

    z-index: 10;

}

/* - CONTAINERS - */
.db-container{
    background-color: var(--db-container-bg);
    border-radius: 5px;
}

/* - BUTTONS - */
.db-button {
    --c: #2e3192;

    appearance: none;
    border: 0;
    border-radius: 5px;
    padding: 10px;

    background: var(--c);
    color: #fff;

    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;

    box-shadow: 0 10px 22px rgba(46, 49, 146, 0.35);
    transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.db-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: 0 14px 28px rgba(46, 49, 146, 0.45);
}

.db-button:active {
    transform: translateY(0);
    filter: brightness(0.98);
    box-shadow: 0 8px 18px rgba(46, 49, 146, 0.35);
}

.db-button:focus-visible {
    outline: 3px solid rgba(46, 49, 146, 0.35);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .db-button {
        transition: none;
    }
}
