html.admin-login, body.admin-login {
    height: 100%;
    overflow: hidden;
}

body.admin-login {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 5%;
}

.admin-login #main {
    padding: 0 !important;
    margin: 0;
    width: 100%;
}

.admin-login header.major {
    margin-bottom: 2em !important;
    padding: 0 !important;
    border: none !important;
}

.admin-login header.major:before, 
.admin-login header.major:after {
    display: none !important;
}

.admin-login .box.container.medium {
    margin-bottom: 0 !important;
}

.admin-block { 
    background: rgba(224, 224, 224, 0.15); 
    padding: 2em; 
    margin-bottom: 3em; 
    border-radius: 4px; 
    overflow: hidden; 
}

.social-row { 
    padding: 1em 0; 
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); 
}
.social-row:last-child { 
    border-bottom: none; 
}

.table-header {
    margin-bottom: 0.5em; 
    font-size: 0.8em; 
    text-transform: uppercase; 
    color: #aaa;
}

.network-label {
    display: flex;
    align-items: center;
    height: 100%;
    font-weight: bold;
    color: #5b5b5b;
}
.network-label .icon { 
    margin-right: 0.5em; 
}

.msg-success {
    color: green; 
    font-weight: bold; 
    text-align: center; 
    margin-bottom: 2em;
}

.msg-error {
    color: #ff4444; 
    text-align: center; 
    font-weight: bold;
    margin-bottom: 1em;
}

/* --- CLASSES UTILITAIRES --- */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

.mt-1 { margin-top: 1em; }
.mt-2 { margin-top: 2em; }
.p-4 { padding: 2em; }

.w-10 { width: 10%; }
.w-15 { width: 15%; }
.w-25 { width: 25%; }
.w-30 { width: 30%; }
.w-40 { width: 40%; }
.w-45 { width: 45%; }
.w-50 { width: 50%; }

.text-small { font-size: 0.9em; }
.text-highlight { color: #e44c65; }

.btn-wide {
    min-width: 22em;
}

/* --- BOUTONS D'ACTION ET LIENS --- */
.link-muted { font-size: 0.8em; color: #888; border-bottom: none !important; text-decoration: none; }
.link-muted:hover { color: #555; }

.action-btn { border-bottom: none !important; text-decoration: none !important; font-size: 1.2em; margin: 0 5px; cursor: pointer; }
.btn-reply { color: #2196F3; }
.btn-reply:hover { color: #0b7dda; }
.btn-edit { color: #4CAF50; }
.btn-edit:hover { color: #3d8b40; }
.btn-delete { color: #ff4444; }
.btn-delete:hover { color: #cc0000; }

/* --- ACCORDEON --- */
.accordion-header {
    background-color: #f1f1f1;
    color: #444;
    cursor: pointer;
    padding: 1.5em;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
    font-weight: bold;
    font-size: 1.2em;
    border-radius: 4px;
    margin-bottom: 0.5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-header:hover, .accordion-header.active {
    background-color: #ddd;
}

.accordion-header:after {
    content: '\002B';
    font-weight: bold;
    font-size: 1.5em;
    float: right;
    margin-left: 5px;
}

.accordion-header.active:after {
    content: "\2212";
}

.accordion-panel {
    padding: 0 1em;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    margin-bottom: 1em;
    border-radius: 0 0 4px 4px;
}

.accordion-panel.open {
    padding: 2em 1em;
    border: 1px solid #ddd;
    border-top: none;
}

/* --- FORMULAIRES ET DRAG & DROP --- */
.file-hint { font-size: 0.8em; color: #888; margin-top: 0.5em; }
.option-new-cat { font-weight: bold; color: #e44c65; }

.drop-label { font-size: 0.8em; color: #888; margin-bottom: 5px; display: block; }
.drop-area { border: 2px dashed #ccc; border-radius: 8px; padding: 40px; text-align: center; cursor: pointer; transition: 0.3s; background: rgba(0,0,0,0.02); }
.drop-area p { margin: 0; pointer-events: none; }
.drop-area.highlight { border-color: #e44c65; }
.file-count { text-align: center; font-size: 0.8em; color: #4CAF50; margin-top: 10px; font-weight: bold; }

.preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 15px; margin-top: 15px; max-height: 350px; overflow-y: auto; padding: 10px; border: 1px solid #eee; border-radius: 8px; }
.preview-card { border: 1px solid #ccc; padding: 10px; border-radius: 8px; text-align: center; background: #fff; position: relative; }
.preview-img { width: 100%; height: 100px; object-fit: cover; border-radius: 4px; margin-bottom: 5px; }
.btn-remove-preview { position: absolute; top: -10px; right: -10px; background: #ff4444; color: white; border: none; border-radius: 50%; width: 25px; height: 25px; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; font-size: 1.2em; }
.btn-remove-preview:hover { background: #cc0000; }

.label-cover { font-size: 0.8em; color: #4CAF50; cursor: pointer; display: block; font-weight: normal; }
.label-cover.is-cover { font-weight: bold; }

.message-original-box {
    background: rgba(0,0,0,0.02);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 2em;
    border: 1px solid #eee;
}

.message-original-box p {
    margin-bottom: 0;
}

.message-original-box hr {
    margin: 1em 0;
}

.label-delete {
    font-size: 0.8em;
    color: #ff4444;
    cursor: pointer;
    display: block;
    font-weight: normal;
    margin: 5px 0;
}

.label-delete:hover {
    color: #cc0000;
}

.label-new {
    font-size: 0.8em;
    color: #888;
    display: block;
    margin-top: 5px;
}

.guest-banner { 
    background: #e67e22; 
    color: white; 
    text-align: center; 
    padding: 10px; 
    font-weight: bold; 
}

.disabled-action { 
    opacity: 0.5; 
    cursor: not-allowed !important; 
}

input[readonly], textarea[readonly], select[disabled] {
    background-color: rgba(0,0,0,0.02) !important;
    color: #888 !important;
}