/* ===============================
   BumpTimer v0.5
   =============================== */

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

body{
    background:#26292e;
    color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
}

header{

    width:95%;
    max-width:1600px;

    margin:18px auto 12px;

}

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:56px;

    padding-bottom:16px;

    border-bottom:2px solid #50555c;

}

.logo{

    display:flex;

    align-items:center;

    gap:14px;

}

.logoIcon{

    font-size:36px;

}

.logoText{

    font-size:38px;

    font-weight:bold;

    letter-spacing:1px;

}

#dashboard{

    width:95%;
    max-width:1600px;

    margin:18px auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.card{

    background:#34383e;

    border:3px solid #50555c;

    border-radius:10px;

    padding:22px;

    min-height:330px;

    text-align:center;

    transition:.20s;

}

.card:hover{

    border-color:#7d848c;

}

.selected{

    border:3px solid #1f9dff;

    box-shadow:0 0 18px rgba(31,157,255,.45);

}

.card h2{

    font-size:42px;

    margin-bottom:35px;

    letter-spacing:1px;

}

.timer{

    font-size:64px;

    font-weight:bold;

    font-family:Consolas, monospace;

    margin-bottom:18px;

}

.status{

    font-size:28px;

    font-weight:bold;

    color:#8fd18f;

    letter-spacing:2px;

}

.card:not(.selected){

    opacity:.93;

}

/* Bottom row */

.card:nth-child(4){

    grid-column:1;

}

.card:nth-child(5){

    grid-column:2;

}

/* ---------- Notes ---------- */

.notes-container{

    margin-top:12px;

    padding-top:18px;

    border-top:1px solid #555;

}

.notes-display{

    min-height:48px;

    text-align:left;

    font-size:18px;

    color:#d6d6d6;

    line-height:1.4;

    outline:none;

    white-space:pre-wrap;

    cursor:text;

}

.notes-display:empty:before{

    content:"Click to add notes...";

    color:#7a7a7a;

    font-style:italic;

}

/* ---------- Overdue ---------- */

.card.overdue{

    border-color:#d63a3a;

    box-shadow:0 0 20px rgba(214,58,58,.35);

}

.card.overdue .status{

    color:#ff5a5a;

}

#helpButton{

    background:#34383e;

    color:white;

    border:2px solid #50555c;

    border-radius:8px;

    padding:10px 18px;

    font-size:18px;

    cursor:pointer;

}

#helpButton:hover{

    border-color:#1f9dff;

}

/* ---------- Help Window ---------- */

.modal{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    justify-content:center;

    align-items:center;

    z-index:1000;

}

.modal-content{

    width:550px;

    max-width:90%;

    background:#34383e;

    border:2px solid #50555c;

    border-radius:12px;

    padding:32px;

    color:white;

    box-shadow:0 18px 50px rgba(0,0,0,.55);

}

.modal-content h2{

    text-align:center;

    margin-bottom:25px;

    font-size:34px;

}

.modal-content h3{

    margin:25px 0 12px;

    color:#9da3ab;

    border-bottom:1px solid #50555c;

    padding-bottom:8px;

}

.modal-content p{

    margin:6px 0;

}

#closeHelp{

    display:block;

    margin:30px auto 0;

    background:#34383e;

    color:white;

    border:2px solid #50555c;

    border-radius:8px;

    padding:10px 24px;

    font-size:16px;

    cursor:pointer;

}

#closeHelp:hover{

    border-color:#1f9dff;

}

.helpTable{

    width:100%;

    border-collapse:collapse;

    margin-top:10px;

}

.helpTable td{

    padding:8px 0;

    vertical-align:top;

}

.helpTable td:first-child{

    width:160px;

    font-weight:bold;

    color:#ffffff;

    white-space:nowrap;

}

.helpTable tr:not(:last-child){

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

}