/* Camiblog - administration (chargée sur /admin/*) */
.admin-list-page, .admin-form-page { width: 100%; }
.admin-list-actions { margin: 0 0 1rem; }
.admin-content-form { max-width: 900px; }
.admin-content-form p { margin: 0 0 1rem; }
.admin-content-form label { display: block; margin-bottom: .35rem; color: var(--navy); font-weight: 600; }
.admin-content-form input[readonly], .admin-content-form select:disabled { background: #eef2f5; color: #62717c; cursor: not-allowed; }
.admin-content-form input, .admin-content-form select, .admin-content-form textarea { box-sizing: border-box; width: 100%; padding: .7rem; border: 1px solid var(--border); border-radius: 5px; background: #fff; color: var(--ink); font: inherit; }
.admin-content-form textarea.rich-editor { min-height: 12rem; max-height: 32rem; overflow-y: auto; }
.tox-tinymce { max-width: 100%; }
.admin-content-form input:focus, .admin-content-form select:focus, .admin-content-form textarea:focus { outline: 2px solid #7fb4d4; outline-offset: 1px; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.admin-form-actions a { color: var(--navy); font-weight: 600; }
.admin-form-actions a.admin-button { color: #fff; text-decoration: none; }
.admin-form-actions a.admin-button:hover, .admin-form-actions a.admin-button:focus-visible { background: var(--blue); color: #fff !important; }
.admin-table-wrap { overflow-x: auto; }
.admin-content-form textarea { resize: vertical; }
.settings-form { width: 100%; }
.settings-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.settings-tabs { display: flex; flex-direction: column; gap: .35rem; position: sticky; top: 1rem; }
.settings-tab { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .75rem .85rem; border: 1px solid #cfe0eb; border-radius: 7px; background: #f5fbfe; color: var(--navy); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.settings-tab span { min-width: 1.5rem; padding: .1rem .35rem; border-radius: 999px; background: #dcecf7; color: var(--blue); font-size: .75rem; text-align: center; }
.settings-tab:hover, .settings-tab:focus-visible, .settings-tab.is-active { border-color: var(--navy-light); background: var(--navy-light); color: #fff; outline: none; }
.settings-tab.is-active span, .settings-tab:hover span, .settings-tab:focus-visible span { background: #7bd3f5; color: #09264b; }
.settings-tab:disabled { border-color: #d8e1e7; background: #eef2f5; color: #83919d; cursor: not-allowed; opacity: .65; }
.settings-tab:disabled span { background: #dfe5e9; color: #71808c; }
.settings-tab.has-unsaved { border-color: #d79b00; box-shadow: inset 4px 0 #d79b00; }
.settings-panels { min-width: 0; }
.settings-panel { display: none; padding: 1.25rem; border: 1px solid #cfe0eb; border-radius: 9px; background: #fff; box-shadow: 0 5px 15px rgba(30, 74, 112, .06); }
.settings-panel.is-active { display: block; }
.settings-panel-heading { margin-bottom: 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.settings-panel-heading h2 { margin: 0 0 .25rem; color: var(--navy); }
.settings-panel-heading p { margin: 0; color: var(--muted); }
.setting-field { margin-bottom: 1rem; }
.setting-field label { display: block; margin-bottom: .35rem; color: var(--navy); font-weight: 700; text-transform: capitalize; }
.setting-field input, .setting-field select, .setting-field textarea { box-sizing: border-box; width: 100%; padding: .65rem .75rem; border: 1px solid var(--border); border-radius: 5px; background: #fff; color: var(--ink); font: inherit; }
.setting-field input:focus, .setting-field select:focus, .setting-field textarea:focus { outline: 2px solid #7fb4d4; outline-offset: 1px; }
.setting-field small { display: block; margin-top: .25rem; color: var(--muted); font-size: .75rem; }
.setting-field.is-modified input, .setting-field.is-modified select, .setting-field.is-modified textarea { border-color: #d79b00; background: #fffaf0; box-shadow: 0 0 0 2px rgba(215, 155, 0, .12); }
.settings-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .65rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.settings-dirty-message { flex: 1 1 280px; color: #644e00; font-size: .88rem; font-weight: 600; }
.settings-form.is-dirty .settings-actions { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 350; width: min(720px, calc(100% - 3rem)); margin: 0; padding: .8rem 1rem; border: 1px solid #f0d9a8; border-left: 4px solid #d79b00; border-radius: 8px; background: #fff8df; box-shadow: 0 12px 30px rgba(40, 48, 60, .22); }
.admin-table { width: 100%; border-collapse: collapse; background: #fff; }
.admin-table th, .admin-table td { padding: .75rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.admin-table th { background: #eef6fc; color: var(--navy); font-size: .9rem; }
.admin-table tbody tr:hover { background: #f7fbfe; }
.admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.admin-actions a, .admin-actions button { color: var(--blue); font: inherit; font-size: .9rem; font-weight: 600; }
.admin-actions button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.admin-actions button:hover { color: #a12626; }
.status-badge { display: inline-block; padding: .2rem .45rem; border-radius: 4px; background: #edf0f3; color: #52616d; font-size: .78rem; font-weight: 700; }
.status-published, .status-active { background: #d9f3e6; color: #176246; }
.status-draft, .status-inactive { background: #fff2cc; color: #765400; }
.status-archived, .status-blocked { background: #fbe1e1; color: #842029; }
.status-superadmin { background: #e6ddff; color: #50319a; }
.protected-label { color: var(--muted); font-size: .8rem; font-style: italic; }
.admin-login-page, .admin-profile-page { max-width: 720px; margin: 0 auto; }
.admin-login-form, .admin-profile-form { max-width: 520px; }
.admin-login-form p, .admin-profile-form p { margin: 0 0 1rem; }
.admin-login-form label, .admin-profile-form label { display: block; margin-bottom: .35rem; color: var(--navy); font-weight: 600; }
.admin-login-form input, .admin-profile-form input { width: 100%; padding: .7rem; border: 1px solid var(--border); border-radius: 5px; background: #fff; font: inherit; }
.admin-login-form input:focus, .admin-profile-form input:focus { outline: 2px solid #7fb4d4; outline-offset: 1px; }
.admin-welcome { margin-bottom: 1.5rem; padding: 1rem 1.25rem; border-left: 4px solid #70b7d9; background: #eef8fd; }
.smtp-test-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: 1.15rem 1.25rem; border: 1px solid #cfe0eb; border-radius: 8px; background: #f5fbfe; }
.smtp-test-card h2 { margin: .2rem 0 .35rem; color: var(--navy); font-size: 1.2rem; }
.smtp-test-card p { margin: 0; color: var(--muted); }
.smtp-test-card .smtp-test-result { margin-top: .75rem; color: #842029; font-weight: 600; }
.smtp-test-card.is-success { border-color: #9dd7b6; background: #eefaf2; }
.smtp-test-card.is-success .smtp-test-result,
.smtp-test-card.is-success .smtp-test-success,
.smtp-test-success { color: #176246 !important; }
.smtp-test-success ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.smtp-test-success li { margin: .15rem 0; }
.smtp-test-date { margin: 0 0 .35rem !important; color: var(--muted) !important; font-size: .8rem; font-weight: 400; }
.smtp-test-card.is-error { border-color: #efb4b4; background: #fff5f5; }

.admin-welcome p { margin: .25rem 0; }
.admin-role { padding: .2rem .5rem; border-radius: 4px; background: #d9f3e6; color: #176246; font-size: .85rem; font-weight: 700; }
.admin-notifications { margin-bottom: 1.5rem; padding: 1rem 1.25rem; border: 1px solid #f0d9a8; border-left: 4px solid #d79b00; border-radius: 8px; background: #fff8df; }
.admin-notifications h2 { margin: 0 0 .35rem; color: #644e00; font-size: 1.1rem; }
.admin-notification-summary { margin: 0 0 .75rem; color: #644e00; }
.admin-notification-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.admin-notification-list a { display: flex; align-items: center; gap: .6rem; height: 100%; padding: .55rem .7rem; border-radius: 6px; color: #644e00; text-decoration: none; font-weight: 600; }
.admin-notification-list .is-active a { background: rgba(215, 155, 0, .12); }
.admin-notification-list .is-empty { opacity: .65; }
.admin-notification-list a:hover { color: var(--navy); background: rgba(112, 183, 217, .16); }
.notification-count { display: inline-grid; flex: 0 0 1.7rem; min-width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 999px; background: #d79b00; color: #fff; font-size: .85rem; font-weight: 700; }
.admin-notification-list .is-empty .notification-count { background: var(--muted); }
.admin-notifications.is-clear { border-color: #9dd7b6; border-left-color: #16803c; background: #eefaf2; }
.admin-notifications.is-clear h2,
.admin-notifications.is-clear .admin-notification-summary { color: #176246; }
.admin-dashboard-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.admin-dashboard-card { display: flex; flex-direction: column; gap: .45rem; padding: 1.1rem; border: 1px solid #cfe0eb; border-radius: 8px; background: #fff; color: var(--navy); text-decoration: none; box-shadow: 0 5px 15px rgba(30, 74, 112, .07); }
.admin-dashboard-card:hover { border-color: #70b7d9; background: #f2faff; }
.admin-dashboard-card span { color: var(--muted); font-size: .9rem; }
.admin-user-summary { display: grid; grid-template-columns: 180px 1fr; gap: .5rem 1rem; margin: 0 0 1.5rem; padding: 1rem; background: #f4f9fc; border: 1px solid var(--border); border-radius: 7px; }
.month-navigation { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.month-navigation a { padding: .35rem .55rem; border: 1px solid var(--border); border-radius: 4px; color: var(--navy); font-size: .85rem; text-decoration: none; }
.month-navigation a:hover, .month-navigation a.is-current { background: var(--navy); color: #fff; }
.admin-table tr.ephemeride-today { background: #fff8df; box-shadow: inset 4px 0 0 #e1ad01; }
.admin-table tr.ephemeride-today td { color: #5f4b00; font-weight: 600; }
.today-badge { display: inline-block; margin-left: .35rem; padding: .15rem .35rem; border-radius: 4px; background: #e1ad01; color: #fff; font-size: .7rem; font-weight: 700; }
.admin-checkboxes { display: flex; flex-wrap: wrap; gap: 1rem; }
.admin-checkboxes label { display: inline-flex; align-items: center; gap: .4rem; }
.metar-order-reference { display: block; padding: .65rem .8rem; border: 1px solid var(--border); border-radius: 6px; background: var(--blue-light); color: var(--navy); font-family: Consolas, Monaco, monospace; font-size: 1.15rem; font-weight: 700; }
.admin-table .metar-country-row th { padding: .65rem .75rem; background: var(--blue-light); color: var(--navy); font-size: .9rem; text-align: left; }
.admin-user-summary dt { color: var(--muted); font-weight: 600; }
.contact-message-content { margin: 1.25rem 0; padding: 1rem 1.25rem; border: 1px solid var(--border); border-radius: 7px; background: #fff; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-user-summary dd { margin: 0; }
