/* ===================================================
   GANA SYNC
   Host Control Panel
=================================================== */

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

:root{

    --bg:#eef2f7;
    --card:#eef2f7;
    --text:#1f2937;
    --muted:#6b7280;
    --primary:#4f7cff;
    --success:#10b981;

    --shadow-dark:
        12px 12px 24px rgba(163,177,198,.45);

    --shadow-light:
       -12px -12px 24px rgba(255,255,255,.95);

}

body{

    background:var(--bg);

    font-family:'Poppins',sans-serif;

    color:var(--text);

    min-height:100vh;

    display:flex;

    flex-direction:column;

}

/* ===============================
Topbar
=============================== */

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px 8%;

}

.logo{

    display:flex;

    align-items:center;

    gap:14px;

    text-decoration:none;

    color:var(--text);

    font-size:28px;

    font-weight:700;

}

.logo i{

    width:58px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:18px;

    color:#fff;

    background:linear-gradient(135deg,#4f7cff,#6d95ff);

}

.dashboard-btn{

    padding:14px 24px;

    border-radius:18px;

    text-decoration:none;

    color:var(--text);

    font-weight:600;

    box-shadow:

        var(--shadow-dark),

        var(--shadow-light);

}

/* ===============================
Main
=============================== */

.host-page{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 20px;

}

.host-card{

    width:650px;

    max-width:100%;

    background:var(--bg);

    padding:45px;

    border-radius:35px;

    box-shadow:

        var(--shadow-dark),

        var(--shadow-light);

}

.host-icon{

    width:110px;

    height:110px;

    margin:auto;

    margin-bottom:25px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    color:#fff;

    font-size:42px;

    background:linear-gradient(135deg,#4f7cff,#6d95ff);

}

.host-card h1{

    text-align:center;

    font-size:38px;

    margin-bottom:12px;

}

.host-card>p{

    text-align:center;

    color:var(--muted);

    margin-bottom:35px;

    line-height:30px;

}

.form-group{

    margin-bottom:25px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

.form-group select{

    width:100%;

    height:60px;

    border:none;

    outline:none;

    border-radius:18px;

    padding:0 18px;

    font-size:16px;

    background:var(--bg);

    box-shadow:

        inset 6px 6px 12px rgba(163,177,198,.30),

        inset -6px -6px 12px rgba(255,255,255,.95);

}
/* ===============================
Load Button
=============================== */

#loadRoom{

    width:100%;

    height:60px;

    border:none;

    cursor:pointer;

    border-radius:18px;

    margin-bottom:30px;

    font-size:17px;

    font-weight:600;

    color:#fff;

    background:linear-gradient(135deg,#4f7cff,#6d95ff);

    box-shadow:
        10px 10px 22px rgba(79,124,255,.28);

    transition:.3s;

}

#loadRoom:hover{

    transform:translateY(-3px);

}

#loadRoom:disabled{

    opacity:.7;

    cursor:not-allowed;

}

/* ===============================
Room Info
=============================== */

.room-info{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    margin-bottom:25px;

}

.info-box{

    flex:1;

    background:var(--bg);

    padding:20px;

    border-radius:20px;

    box-shadow:
        var(--shadow-dark),
        var(--shadow-light);

}

.info-box span{

    display:block;

    color:var(--muted);

    font-size:14px;

    margin-bottom:8px;

}

.info-box h3{

    font-size:28px;

    letter-spacing:3px;

    color:var(--primary);

}

#copyRoomCode{

    border:none;

    cursor:pointer;

    padding:18px 22px;

    border-radius:18px;

    background:var(--bg);

    color:var(--text);

    font-weight:600;

    box-shadow:
        var(--shadow-dark),
        var(--shadow-light);

    transition:.3s;

}

#copyRoomCode:hover{

    transform:translateY(-3px);

}

/* ===============================
Song Card
=============================== */

.song-card{

    padding:24px;

    margin-bottom:25px;

    border-radius:22px;

    background:var(--bg);

    box-shadow:
        var(--shadow-dark),
        var(--shadow-light);

}

.song-card h3{

    margin-bottom:10px;

    font-size:20px;

}

.song-card p{

    color:var(--muted);

    font-size:15px;

    word-break:break-word;

}

/* ===============================
Audio Player
=============================== */

audio{

    width:100%;

    margin-bottom:30px;

    border-radius:16px;

}

/* ===============================
Status
=============================== */

.status-card{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.status-item{

    padding:20px;

    border-radius:20px;

    background:var(--bg);

    box-shadow:
        var(--shadow-dark),
        var(--shadow-light);

}

.status-item span{

    display:block;

    color:var(--muted);

    margin-bottom:8px;

    font-size:14px;

}

.status-item strong{

    color:var(--success);

    font-size:18px;

}

/* ===============================
Footer
=============================== */

footer{

    text-align:center;

    padding:25px;

    color:var(--muted);

    font-size:14px;

}

/* ===============================
Responsive
=============================== */

@media(max-width:768px){

    .topbar{

        flex-direction:column;

        gap:20px;

        padding:25px;

    }

    .host-card{

        padding:30px 22px;

    }

    .room-info{

        flex-direction:column;

    }

    .status-card{

        grid-template-columns:1fr;

    }

    .host-card h1{

        font-size:30px;

    }

}

@media(max-width:480px){

    .host-icon{

        width:90px;

        height:90px;

        font-size:34px;

    }

    .info-box h3{

        font-size:22px;

    }

}