/* ==========================================================
   Eurofins Identity Platform
   Global Styles
   Version : 1.0.0
========================================================== */

:root{

    --primary:#004B87;
    --secondary:#0072CE;
    --success:#198754;
    --danger:#dc3545;
    --warning:#ffc107;

    --background:#f5f7fa;
    --card:#ffffff;

    --border:#dce3ea;

    --text:#2d3436;
    --muted:#6c757d;

    --shadow:0 4px 12px rgba(0,0,0,.08);

    --radius:10px;

}

html,
body{

    height:100%;

}

body{

    background:var(--background);

    font-family:
        "Segoe UI",
        Tahoma,
        Geneva,
        Verdana,
        sans-serif;

    color:var(--text);

}


/* ==========================================================
   NAVBAR
========================================================== */

.navbar{

    background:var(--primary)!important;

}

.navbar-brand{

    font-size:22px;

    font-weight:600;

}

#userInfo{

    font-size:15px;

    font-weight:500;

}


/* ==========================================================
   CARD
========================================================== */

.card{

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.card-header{

    background:#fff;

    border-bottom:1px solid var(--border);

    font-weight:600;

}

.card-body{

    padding:30px;

}


/* ==========================================================
   BUTTONS
========================================================== */

.btn-primary{

    background:var(--primary);

    border-color:var(--primary);

}

.btn-primary:hover{

    background:var(--secondary);

    border-color:var(--secondary);

}

.btn{

    border-radius:8px;

}


/* ==========================================================
   FORM
========================================================== */

.form-control,
.form-select{

    border-radius:8px;

    min-height:45px;

}

.form-control:focus,
.form-select:focus{

    border-color:var(--secondary);

    box-shadow:0 0 0 .15rem rgba(0,114,206,.20);

}


/* ==========================================================
   SELECT2
========================================================== */

.select2-container--default
.select2-selection--multiple{

    min-height:45px;

    border-radius:8px;

    border:1px solid #ced4da;

}

.select2-container{

    width:100%!important;

}


/* ==========================================================
   LOADING
========================================================== */

.loading-overlay{

    position:fixed;

    left:0;

    right:0;

    top:0;

    bottom:0;

    background:rgba(255,255,255,.70);

    z-index:9999;

    display:flex;

    align-items:center;

    justify-content:center;

}


/* ==========================================================
   FOOTER
========================================================== */

.footer{

    color:var(--muted);

    margin-top:60px;

    margin-bottom:25px;

}


/* ==========================================================
   TABLE
========================================================== */

.table{

    background:white;

}

.table thead{

    background:var(--primary);

    color:white;

}


/* ==========================================================
   BADGES
========================================================== */

.badge{

    padding:8px 12px;

}


/* ==========================================================
   HELP TEXT
========================================================== */

.help-text{

    color:var(--muted);

    font-size:14px;

}


/* ==========================================================
   STATUS
========================================================== */

.status-success{

    color:var(--success);

}

.status-error{

    color:var(--danger);

}

.status-warning{

    color:var(--warning);

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:768px){

    .card-body{

        padding:20px;

    }

    .navbar-brand{

        font-size:18px;

    }

}