*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',sans-serif;
}

:root{

    --menu-expanded:220px;
    --menu-collapsed:70px;

    --azul:#132c73;
    --azul-hover:#1d4ed8;
    --azul-header:#0f245e;

    --fundo:#f4f6fb;
}

body{

    display:flex;
    height:100vh;
    overflow:hidden;

    background:var(--fundo);
}

.sidebar{

    width:var(--menu-expanded);

    background:var(--azul);

    color:white;

    display:flex;
    flex-direction:column;

    transition:.3s;
}

.sidebar.collapsed{

    width:var(--menu-collapsed);
}

.logo{

    height:80px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-bottom:
        1px solid rgba(255,255,255,.15);
}

.logo img{

    width:120px;

    transition:.3s;
}

.sidebar.collapsed .logo img{

    width:35px;
}

.toggle{

    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    font-size:22px;
}

.toggle:hover{

    background:
        rgba(255,255,255,.10);
}

.menu{

    flex:1;

    overflow-y:auto;
}

.menu-title{

    padding:12px 15px;

    font-size:12px;

    font-weight:700;

    background:var(--azul-header);

    text-transform:uppercase;
}

.sidebar.collapsed .menu-title{

    display:none;
}

.menu-item{

    padding:14px 16px;

    display:flex;
    align-items:center;

    gap:12px;

    cursor:pointer;
}

.menu-item:hover{

    background:var(--azul-hover);
}

.sidebar.collapsed .menu-item{

    justify-content:center;
}

.sidebar.collapsed .menu-item span{

    display:none;
}

.content{

    flex:1;

    display:flex;
    flex-direction:column;
}

.header{

    height:45px;

    background:white;

    display:flex;

    justify-content:space-between;
    align-items:center;

    padding:0 20px;

    box-shadow:
        0 1px 4px rgba(0,0,0,.08);
}

.header-title{

    font-weight:600;

    color:var(--azul);
}

.titulo-home{

    padding:25px 30px 5px 30px;

    color:var(--azul);
}

.subtitulo-home{

    padding:0 30px 20px 30px;

    color:#666;
}

.cards{

    padding:20px 30px;

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(220px,280px));

    gap:20px;
}

.card{

    background:white;

    border-radius:12px;

    padding:22px;

    text-align:center;

    cursor:pointer;

    box-shadow:
        0 2px 8px rgba(0,0,0,.08);

    transition:.25s;
}

.card:hover{

    transform:translateY(-4px);
}

.card-icon{

    font-size:32px;

    margin-bottom:8px;
}

.card-title{

    font-size:15px;

    font-weight:600;
}

#viewer{

    display:none;

    position:fixed;

    inset:0;

    width:100vw;
    height:100vh;

    background:white;

    z-index:100;
}

#viewer iframe{

    width:100%;
    height:100%;

    border:none;
}

.dashboard-mode .header{

    display:none;
}

.dashboard-mode .sidebar{

    width:0 !important;

    overflow:hidden;
}

.toggle-float{

    position:fixed;

    top:10px;
    left:10px;

    width:42px;
    height:42px;

    background:var(--azul);

    color:white;

    border-radius:8px;

    display:none;

    align-items:center;
    justify-content:center;

    cursor:pointer;

    z-index:9999;
}

.dashboard-mode .toggle-float{

    display:flex;
}

.logout{

    background:#dc3545;

    color:white;

    border:none;

    padding:8px 14px;

    border-radius:6px;

    cursor:pointer;
}

.logout:hover{

    background:#b02a37;
}
