
/* =====================================================
   VIDEO DISTRIBUTION PORTAL - GLOBAL STYLES
   ===================================================== */

/* -----------------------------
   BASE
------------------------------ */

body{
    font-family: 'Poppins', sans-serif;
    background: linear-gradient(135deg,#0f2027,#203a43,#2c5364);
    min-height: 100vh;
    color: #ffffff;
    margin: 0;
}

.bg-overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,0.50);

    z-index:0;

    pointer-events:none;
}
/* -----------------------------
   SIDEBAR
------------------------------ */

aside{
    backdrop-filter: blur(15px);
    background: rgba(255,255,255,0.06);
    border-right: 1px solid rgba(255,255,255,0.1);
}

/* -----------------------------
   BUTTONS
------------------------------ */
.btn{
    background: white;
    color: #0f2027;
    padding: 10px 14px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    text-align: center;
}

.btn:hover{
    background: rgba(255,255,255,0.85);
    transform: translateY(-2px);
}

/* secondary button */
.btn-dark{
    background: rgba(255,255,255,0.1);
    color: white;
}

.btn-dark:hover{
    background: rgba(255,255,255,0.2);
}

/* -----------------------------
   CARDS (Dashboard / Upload)
------------------------------ */

.card{
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(15px);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    transition: 0.3s;
}

.card:hover{
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

/* -----------------------------
   INPUTS
------------------------------ */

input, select, textarea{
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    border: none;
    outline: none;
    background: rgba(255,255,255,0.08);
    color: white;
    margin-top: 8px;
}

input::placeholder{
    color: rgba(255,255,255,0.6);
}

/* -----------------------------
   LOGIN / AUTH CARD
------------------------------ */

.auth-card{
    width: 100%;
    max-width: 420px;
    margin: auto;
    padding: 40px;
    border-radius: 20px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(18px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
}

/* -----------------------------
   VIDEO LIST (YouTube style)
------------------------------ */

.video-card{
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 16px;
    margin-bottom: 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    backdrop-filter: blur(12px);
    transition: 0.3s;
}

.video-card:hover{
    background: rgba(255,255,255,0.10);
    transform: translateY(-2px);
}

.thumb{
    width: 180px;
    height: 100px;
    border-radius: 12px;
    object-fit: cover;
    background: #111;
    flex-shrink: 0;
}

/* text */
.video-title{
    font-size: 1rem;
    font-weight: 600;
}

.video-meta{
    font-size: 0.85rem;
    color: rgba(255,255,255,0.65);
    margin-top: 4px;
}

/* actions */
.video-actions{
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* -----------------------------
   SEARCH BAR
------------------------------ */

.search{
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    border: none;
    outline: none;
    background: rgba(255,255,255,0.08);
    color: white;
}

.search::placeholder{
    color: rgba(255,255,255,0.6);
}

/* -----------------------------
   TABLES (if needed later)
------------------------------ */

table{
    width: 100%;
    border-collapse: collapse;
}

table th, table td{
    padding: 12px;
    text-align: left;
}

table tr{
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* -----------------------------
   ANIMATIONS
------------------------------ */



@keyframes fadeIn{
    from{
        opacity: 0;
        transform: translateY(10px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/* =====================================================
   RESPONSIVE DESIGN
   ===================================================== */

/* -----------------------------
   Large Tablets
------------------------------ */

@media (max-width: 1024px){

    .card{
        padding:18px;
    }

    .thumb{
        width:160px;
        height:90px;
    }

}

/* -----------------------------
   Tablets
------------------------------ */

@media (max-width:768px){

    body{
        overflow-x:hidden;
    }

    /* Sidebar */
    aside{
        width:220px;
    }

    /* Authentication Card */
    .auth-card{
        max-width:95%;
        padding:30px;
    }

    /* Video Card */
    .video-card{

        flex-direction:column;
        align-items:flex-start;

        gap:15px;
    }

    .thumb{

        width:100%;
        height:220px;
    }

    .video-actions{

        width:100%;

        margin-left:0;

        flex-direction:row;

        justify-content:flex-end;

        flex-wrap:wrap;
    }

    .btn{

        padding:12px 18px;
    }

    table{

        display:block;

        overflow-x:auto;

        white-space:nowrap;
    }

}

/* -----------------------------
   Mobile Phones
------------------------------ */

@media (max-width:480px){

    body{

        font-size:14px;
    }

    h1{

        font-size:1.7rem;
    }

    h2{

        font-size:1.4rem;
    }

    h3{

        font-size:1.2rem;
    }

    .card{

        padding:16px;

        border-radius:14px;
    }

    .auth-card{

        padding:24px 18px;

        border-radius:16px;
    }

    input,
    textarea,
    select{

        padding:14px;
        font-size:16px;
    }

    .search{

        padding:14px;
        font-size:16px;
    }

    .btn{

        width:100%;

        padding:14px;

        font-size:15px;
    }

    .video-card{

        padding:14px;
    }

    .thumb{

        height:190px;
    }

    .video-title{

        font-size:15px;
    }

    .video-meta{

        font-size:13px;
    }

    .video-actions{

        flex-direction:column;

        width:100%;
    }

    .video-actions .btn{

        width:100%;
    }

}

/* -----------------------------
   Very Small Phones
------------------------------ */

@media (max-width:360px){

    .thumb{

        height:160px;
    }

    .card{

        padding:14px;
    }

    .auth-card{

        padding:20px 15px;
    }

}


/* Hide overlay in fullscreen */
:fullscreen .overlay {
    display: none;
}

/* Safari */
:-webkit-full-screen .overlay {
    display: none;
}


/*  HARD LOCK SCROLLING */
html, body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    height: 100%;
}

/*  EXTRA SAFETY IN FULLSCREEN */
:fullscreen {
    overflow: hidden !important;
}

:-webkit-full-screen {
    overflow: hidden !important;
}

/*  REMOVE ANY SCROLLBARS VISUALLY */
::-webkit-scrollbar {
    display: none;
}