/* =========================================================
   FORYOU NEWS — MEDIA LIBRARY ADMIN PAGE
   ========================================================= */

:root{

    --media-bg:#f5f6f4;
    --media-card-bg:#ffffff;
    --media-border:#dfe3df;
    --media-text:#202522;
    --media-text-soft:#59615b;
    --media-text-muted:#7b837d;
    --media-primary:#111512;
    --media-accent:#d99a18;
    --media-accent-dark:#b77b08;
    --media-danger:#b42318;
    --media-success:#177245;
}

*, *::before, *::after{ box-sizing:border-box; }

body{

    margin:0;
    background:var(--media-bg);
    color:var(--media-text);
    font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size:15px;
    line-height:1.5;
}

[hidden]{ display:none !important; }


/* ==========================================================
   HEADER
========================================================== */

.media-header{

    position:sticky;
    top:0;
    z-index:100;
    background:#ffffff;
    border-bottom:1px solid var(--media-border);
}

.media-header-inner{

    width:min(1200px, calc(100% - 48px));
    margin:0 auto;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.media-brand{

    display:flex;
    align-items:center;
    gap:9px;
    text-decoration:none;
    color:var(--media-text);
}

.media-logo{ width:34px; height:34px; object-fit:contain; }

.media-brand-text{ display:flex; flex-direction:column; line-height:1.05; }

.brand-for{ font-size:11px; font-weight:800; letter-spacing:.08em; }

.brand-news{ font-size:9px; font-weight:700; letter-spacing:.16em; color:var(--media-text-muted); }

.media-header-actions{ display:flex; align-items:center; gap:14px; }

.back-link{ color:var(--media-text-soft); text-decoration:none; font-size:13px; font-weight:600; }

.back-link:hover{ color:var(--media-text); }

.logout-button{

    border:1px solid var(--media-border);
    background:#fff;
    color:var(--media-text);
    padding:8px 14px;
    border-radius:6px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}


/* ==========================================================
   MAIN / CONTAINER
========================================================== */

.media-main{ padding:38px 0 70px; }

.media-container{ width:min(1200px, calc(100% - 48px)); margin:0 auto; }


/* ==========================================================
   HEADING
========================================================== */

.media-heading{

    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:26px;
    flex-wrap:wrap;
}

.section-label{

    margin:0 0 6px;
    color:var(--media-accent-dark);
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}

.media-heading h1{ margin:0 0 6px; font-size:28px; font-weight:750; }

.media-intro{ margin:0; color:var(--media-text-soft); font-size:14px; max-width:520px; }

.upload-media-button{

    background:var(--media-primary);
    color:#fff;
    border:0;
    padding:12px 20px;
    border-radius:7px;
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    white-space:nowrap;
}

.upload-media-button:hover{ background:#252b27; }

.upload-media-button:disabled{ opacity:.6; cursor:not-allowed; }


/* ==========================================================
   MESSAGE / PROGRESS
========================================================== */

.media-message{

    margin:0 0 20px;
    padding:11px 14px;
    border:1px solid var(--media-border);
    border-radius:7px;
    background:#fff;
    font-size:13px;
}

.media-message-success{

    border-color:rgba(23,114,69,.25);
    background:rgba(23,114,69,.06);
    color:var(--media-success);
}

.media-message-error{

    border-color:rgba(180,35,24,.25);
    background:rgba(180,35,24,.06);
    color:var(--media-danger);
}

.upload-progress{

    margin:0 0 20px;
    padding:11px 14px;
    border:1px solid rgba(217,154,24,.3);
    border-radius:7px;
    background:rgba(217,154,24,.08);
    color:var(--media-accent-dark);
    font-size:13px;
    font-weight:600;
}


/* ==========================================================
   LOADING / EMPTY
========================================================== */

.media-loading, .media-empty{

    padding:50px 26px;
    text-align:center;
    color:var(--media-text-muted);
    background:#fff;
    border:1px solid var(--media-border);
    border-radius:10px;
    font-size:14px;
}

.media-empty h3{ margin:0 0 6px; color:var(--media-text); font-size:16px; }

.media-empty p{ margin:0; }


/* ==========================================================
   GRID
========================================================== */

.media-grid{

    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
    gap:16px;
}

.media-card{

    background:#fff;
    border:1px solid var(--media-border);
    border-radius:10px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.media-thumb{

    width:100%;
    aspect-ratio:4/3;
    background:#f0f1ef;
    overflow:hidden;
}

.media-thumb img{

    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.media-info{

    padding:10px 12px 4px;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.media-filename{

    font-size:13px;
    font-weight:700;
    color:var(--media-text);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.media-meta{

    font-size:11.5px;
    color:var(--media-text-muted);
}

.media-actions{

    display:flex;
    gap:6px;
    padding:10px 12px 12px;
    margin-top:auto;
}

.media-action{

    flex:1;
    border:1px solid var(--media-border);
    background:#fff;
    color:var(--media-text);
    padding:7px 8px;
    border-radius:6px;
    font-size:11.5px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
}

.media-action:hover{ background:#f5f6f4; }

.media-action-danger{

    border-color:rgba(180,35,24,.35);
    color:var(--media-danger);
}

.media-action-danger:hover{ background:rgba(180,35,24,.06); }

.media-action:disabled{ opacity:.6; cursor:not-allowed; }


/* ==========================================================
   COPY TOAST
========================================================== */

.media-copy-toast{

    position:fixed;
    left:50%;
    bottom:30px;
    transform:translateX(-50%) translateY(12px);

    background:#1d1d1d;
    color:#fff;
    padding:12px 20px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;

    opacity:0;
    visibility:hidden;

    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;

    z-index:9999;
}

.media-copy-toast.show{

    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:680px){

    .media-heading{ flex-direction:column; }

    .upload-media-button{ width:100%; text-align:center; }

    .media-grid{ grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:10px; }
}
