/* ===========================
   RideLab
   app.css
=========================== */

:root {

    --primary: #2563eb;
    --primary-hover: #1d4ed8;

    --success: #22c55e;
    --warning: #f59e0b;
    --danger: #ef4444;

    --background: #f5f7fb;
    --sidebar: #ffffff;
    --card: #ffffff;

    --border: #e5e7eb;

    --text: #1f2937;
    --muted: #6b7280;

    --radius: 14px;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family: 'Segoe UI', sans-serif;
    background: var(--background);
    color: var(--text);

}

/* ===========================
   Layout
=========================== */

.app{

    display:flex;
    min-height:100vh;

}

/* ===========================
   Sidebar
=========================== */

.sidebar{

    width:260px;
    background:var(--sidebar);
    border-right:1px solid var(--border);

}

.logo{

    height:70px;

    display:flex;
    align-items:center;

    padding:0 25px;

    font-size:24px;
    font-weight:700;
    color:var(--primary);

}

.sidebar ul{

    list-style:none;
    padding:15px;

}

.sidebar li{

    display:flex;
    align-items:center;
    gap:12px;

    padding:12px 15px;

    margin-bottom:6px;

    border-radius:10px;

    cursor:pointer;

    color:var(--muted);

    transition:.2s;

}

.sidebar li:hover{

    background:#eef4ff;
    color:var(--primary);

}

.sidebar li.active{

    background:#2563eb;
    color:white;

}

/* ===========================
   Contenido
=========================== */

.main-content{

    flex:1;

}

/* ===========================
   Navbar
=========================== */

.topbar{

    height:70px;

    background:white;

    border-bottom:1px solid var(--border);

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 30px;

}

/* ===========================
   Página
=========================== */

.page-title{

    font-size:30px;
    font-weight:700;

}

/* ===========================
   Tarjetas
=========================== */

.card-stat{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:25px;

    transition:.2s;

}

.card-stat:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.card-stat h6{

    color:var(--muted);
    margin-bottom:10px;
    font-size:14px;

}

.card-stat h2{

    font-size:34px;
    font-weight:700;

}

/* ===========================
   Bootstrap
=========================== */

.container-fluid{

    padding:30px;

}


.logo-title{

    font-size:22px;
    font-weight:800;
    line-height:22px;

}

.logo small{

    color:var(--muted);
    font-size:12px;
}

.menu-title{

    padding:0 16px;
    margin-bottom:10px;

    font-size:11px;

    font-weight:700;

    letter-spacing:1px;

    color:#9ca3af;

    text-transform:uppercase;

}

.menu{

    margin-bottom:5px;

}

.menu li{

    position:relative;

}

.menu li.active::before{

    content:"";

    position:absolute;

    left:-18px;

    top:10px;

    bottom:10px;

    width:4px;

    border-radius:10px;

    background:white;

}

/**************************************************
TOPBAR
**************************************************/

.search-box{

    width:320px;

    height:44px;

    background:white;

    border:1px solid var(--border);

    border-radius:12px;

    display:flex;

    align-items:center;

    padding:0 15px;

}

.search-box i{

    color:#9ca3af;

    margin-right:10px;

}

.search-box input{

    border:none;

    outline:none;

    width:100%;

    background:transparent;

    font-size:15px;

}

.icon-button{

    width:44px;

    height:44px;

    border:none;

    border-radius:12px;

    background:white;

    border:1px solid var(--border);

    transition:.2s;

}

.icon-button:hover{

    background:#eef4ff;

    color:var(--primary);

}

.user-info{

    display:flex;

    align-items:center;

    gap:12px;

}

.user-avatar{

    width:45px;

    height:45px;

    border-radius:50%;

    background:linear-gradient(135deg,#2563eb,#60a5fa);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    font-size:18px;

}

