/* =========================================================
   PUBLICATION DETAIL
   ========================================================= */

.publisher-detail-header {
    margin-bottom: 25px;
}

.publisher-detail-header h1 {
    margin: 12px 0 8px;

    color: #202124;

    font-size: 34px;
    line-height: 1.35;
}

.publisher-detail-header p {
    margin: 0;

    color: #666;

    font-size: 15px;
}


/* =========================================================
   DETAIL CARD
   ========================================================= */

.publisher-detail-card {
    margin-bottom: 25px;

    padding: 30px;

    background: #fff;

    border: 1px solid #e4e7eb;

    border-radius: 14px;

    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.publisher-detail-card h2 {
    margin: 0 0 22px;

    color: #212529;

    font-size: 20px;
    font-weight: 650;
}


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

.publisher-info-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}

.publisher-info-item {
    padding: 15px;

    background: #f8f9fa;

    border-radius: 9px;
}

.publisher-info-item span {
    display: block;

    margin-bottom: 5px;

    color: #888;

    font-size: 11px;

    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.publisher-info-item strong {
    display: block;

    color: #333;

    font-size: 15px;

    word-break: break-word;
}


/* =========================================================
   CONTENT
   ========================================================= */

.publisher-publication-content {
    padding: 22px;

    background: #f8f9fa;

    border: 1px solid #e4e7eb;

    border-radius: 10px;

    color: #333;

    font-size: 15px;

    line-height: 1.8;

    word-break: break-word;
}

.publisher-no-content {
    padding: 20px;

    background: #f8f9fa;

    border-radius: 8px;

    color: #888;

    text-align: center;
}


/* =========================================================
   ATTACHED FILE
   ========================================================= */

.publisher-attached-file {
    display: flex;

    align-items: center;

    gap: 15px;

    padding: 18px;

    border: 1px solid #e3e6e9;

    border-radius: 10px;
}

.publisher-file-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 50px;
    height: 50px;

    flex-shrink: 0;

    background: #f8d7da;

    border-radius: 9px;

    font-size: 25px;
}

.publisher-file-info {
    flex: 1;

    min-width: 0;
}

.publisher-file-info strong {
    display: block;

    margin-bottom: 4px;

    color: #333;
}

.publisher-file-info small {
    display: block;

    overflow: hidden;

    color: #888;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.publisher-download-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 10px 16px;

    background: #198754;

    color: #fff;

    border-radius: 7px;

    font-size: 13px;

    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;
}

.publisher-download-btn:hover {
    background: #157347;

    color: #fff;

    text-decoration: none;
}


/* =========================================================
   REJECTION
   ========================================================= */

.publisher-rejection-card {
    display: flex;

    align-items: flex-start;

    gap: 18px;

    margin-bottom: 25px;

    padding: 25px;

    background: #fff5f5;

    border: 1px solid #f1c1c5;

    border-radius: 14px;
}

.publisher-rejection-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #dc3545;

    color: #fff;

    border-radius: 50%;

    font-weight: 700;

    font-size: 20px;
}

.publisher-rejection-card h2 {
    margin: 0 0 8px;

    color: #842029;

    font-size: 20px;
}

.publisher-rejection-label {
    margin: 0 0 5px;

    color: #842029;

    font-size: 13px;

    font-weight: 600;
}

.publisher-rejection-reason {
    margin: 0;

    color: #842029;

    font-size: 14px;

    line-height: 1.7;
}
.publisher-rejection-content {
    flex: 1;
}

.publisher-edit-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 15px;
    padding: 10px 17px;

    background: #dc3545;
    color: #fff;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}

.publisher-edit-btn:hover {
    background: #bb2d3b;
    color: #fff;
    text-decoration: none;
}


/* =========================================================
   APPROVED
   ========================================================= */

.publisher-approved-card {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 25px;

    padding: 25px;

    background: #f0fff6;

    border: 1px solid #badbcc;

    border-radius: 14px;
}

.publisher-approved-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #198754;

    color: #fff;

    border-radius: 50%;

    font-weight: 700;

    font-size: 20px;
}

.publisher-approved-card h2 {
    margin: 0 0 5px;

    color: #0f5132;

    font-size: 20px;
}

.publisher-approved-card p {
    margin: 0;

    color: #0f5132;

    font-size: 14px;
}


/* =========================================================
   PENDING
   ========================================================= */

.publisher-pending-card {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 25px;

    padding: 25px;

    background: #fffaf0;

    border: 1px solid #ffe69c;

    border-radius: 14px;
}

.publisher-pending-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #ffc107;

    border-radius: 50%;

    font-size: 20px;
}

.publisher-pending-card h2 {
    margin: 0 0 5px;

    color: #664d03;

    font-size: 20px;
}

.publisher-pending-card p {
    margin: 0;

    color: #664d03;

    font-size: 14px;
}


/* =========================================================
   BACK
   ========================================================= */

.publisher-detail-back {
    margin-top: 25px;
}

.publisher-detail-back a {
    color: #198754;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;
}

.publisher-detail-back a:hover {
    text-decoration: underline;
}


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

@media (max-width: 768px) {

    .publisher-detail-header h1 {
        font-size: 28px;
    }

    .publisher-detail-card {
        padding: 20px;
    }

    .publisher-info-grid {
        grid-template-columns: 1fr;
    }

    .publisher-attached-file {
        align-items: flex-start;

        flex-wrap: wrap;
    }

    .publisher-file-info {
        min-width: calc(100% - 70px);
    }

    .publisher-download-btn {
        width: 100%;
    }

    .publisher-rejection-card,
    .publisher-approved-card,
    .publisher-pending-card {
        align-items: flex-start;
    }

}