/* ==========================================================
   Seniority Portal
   app.css
========================================================== */

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    font-size:16px;
}

body{
    margin:0;
    padding:0;
    font-family:"Segoe UI",Tahoma,Arial,sans-serif;
    background:#f4f6f9;
    color:#2d3748;
    line-height:1.5;
}

/* ==========================================================
   Header
========================================================== */

.bar{
    background:#0b5e55;
    color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 28px;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    position:sticky;
    top:0;
    z-index:999;
}

.brand{
    font-size:22px;
    font-weight:700;
}

.nav{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.nav a{
    color:#fff;
    text-decoration:none;
    padding:8px 14px;
    border-radius:5px;
    transition:.25s;
}

.nav a:hover{
    background:rgba(255,255,255,.15);
}

/* ==========================================================
   Container
========================================================== */

.container{
    width:min(1300px,95%);
    margin:25px auto;
}

/* ==========================================================
   Headings
========================================================== */

h1{
    margin-top:0;
    color:#0b5e55;
}

h2{
    margin-top:0;
}

/* ==========================================================
   Cards
========================================================== */

.card{
    background:#fff;
    border-radius:8px;
    padding:22px;
    margin-bottom:22px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.card.error{
    border-left:5px solid #d32f2f;
}

/* ==========================================================
   Statistics
========================================================== */

.stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-bottom:25px;
}

.stat{
    background:#fff;
    border-radius:8px;
    text-align:center;
    padding:25px;
    font-size:34px;
    font-weight:700;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.stat small{
    display:block;
    margin-top:8px;
    font-size:15px;
    color:#666;
    font-weight:500;
}

/* ==========================================================
   Forms
========================================================== */

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

.wide{
    grid-column:1/-1;
}

label{
    display:block;
    margin-bottom:6px;
    font-weight:600;
}

input,
select,
textarea{
    width:100%;
    padding:11px 12px;
    border:1px solid #cfd6dd;
    border-radius:6px;
    font-size:15px;
    background:#fff;
}

textarea{
    resize:vertical;
    min-height:100px;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:#0b5e55;
    box-shadow:0 0 0 3px rgba(11,94,85,.15);
}

/* ==========================================================
   Buttons
========================================================== */

button,
.button{
    display:inline-block;
    padding:10px 18px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    background:#0b5e55;
    color:#fff;
    font-size:15px;
    text-decoration:none;
    transition:.25s;
}

button:hover,
.button:hover{
    opacity:.92;
}

.secondary{
    background:#607d8b;
}

.success{
    background:#2e7d32;
}

.danger{
    background:#c62828;
}

/* ==========================================================
   Tables
========================================================== */

table{
    width:100%;
    border-collapse:collapse;
    margin-top:15px;
}

th{
    background:#0b5e55;
    color:#fff;
    text-align:left;
}

th,
td{
    border:1px solid #d9d9d9;
    padding:11px 12px;
}

tbody tr:nth-child(even){
    background:#f9f9f9;
}

tbody tr:hover{
    background:#eef7f6;
}

/* ==========================================================
   Flash Messages
========================================================== */

.notice{
    padding:15px 18px;
    border-radius:6px;
    margin-bottom:20px;
    font-weight:600;
}

.notice.success{
    background:#d4edda;
    color:#155724;
}

.notice.error{
    background:#f8d7da;
    color:#721c24;
}

.notice.notice{
    background:#d1ecf1;
    color:#0c5460;
}

/* ==========================================================
   Pills
========================================================== */

.pill{
    display:inline-block;
    padding:5px 12px;
    border-radius:50px;
    font-size:13px;
    font-weight:600;
    background:#2e7d32;
    color:#fff;
}

.pill.pending{
    background:#ef6c00;
}

/* ==========================================================
   Login
========================================================== */

.login{
    max-width:450px;
    margin:60px auto;
}

.login h1{
    text-align:center;
}

.login button{
    width:100%;
}

/* ==========================================================
   Utilities
========================================================== */

.muted{
    color:#777;
    font-size:14px;
}

.text-center{
    text-align:center;
}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}

/* ==========================================================
   Responsive
========================================================== */

@media(max-width:900px){

    .bar{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .nav{
        width:100%;
    }

    .nav a{
        flex:1;
        text-align:center;
    }

}

@media(max-width:600px){

    .container{
        width:96%;
    }

    .grid{
        grid-template-columns:1fr;
    }

    table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }

}