:root { --admin-navy:#071a33; --admin-navy-2:#0d294b; --admin-red:#dc1738; --admin-bg:#f3f6f9; --admin-line:#dfe5ec; --admin-muted:#6e7b8d; --admin-radius:16px; }
* { box-sizing:border-box; }
body.admin-body { margin:0; min-height:100vh; background:var(--admin-bg); color:#172033; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:1030; width:260px; display:flex; flex-direction:column; background:var(--admin-navy); color:#fff; padding:22px 16px; overflow-y:auto; transition:transform .25s ease; }
.admin-brand { display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; padding:0 8px 22px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-brand img { width:52px; height:52px; background:#fff; object-fit:contain; border-radius:14px; padding:3px; }
.admin-brand b,.admin-brand small { display:block; }.admin-brand small { color:#9db0c7; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-nav { display:flex; flex-direction:column; gap:4px; margin-top:18px; }
.admin-nav-label { color:#6f87a2; font-size:.64rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; padding:18px 12px 6px; }
.admin-nav a { display:flex; align-items:center; gap:11px; min-height:44px; padding:9px 12px; color:#bcc9d8; text-decoration:none; border-radius:11px; font-size:.86rem; font-weight:700; }
.admin-nav a i { width:22px; color:#8ca1b9; font-style:normal; font-size:1.08rem; text-align:center; }
.admin-nav a:hover,.admin-nav a[aria-current="page"] { background:rgba(255,255,255,.09); color:#fff; }.admin-nav a[aria-current="page"] i { color:#ff4162; }
.admin-logout { margin-top:auto; display:flex; justify-content:space-between; color:#ffb5c2; text-decoration:none; padding:14px 12px 3px; border-top:1px solid rgba(255,255,255,.1); }
.admin-main { min-height:100vh; margin-left:260px; }
.admin-topbar { min-height:88px; display:flex; align-items:center; gap:18px; padding:15px 30px; background:#fff; border-bottom:1px solid var(--admin-line); }
.admin-breadcrumb { color:var(--admin-muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }.admin-topbar h1 { margin:2px 0 0; font-size:1.45rem; letter-spacing:-.03em; }
.admin-menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--admin-line); border-radius:10px; background:#fff; }
.admin-user { margin-left:auto; display:flex; align-items:center; gap:10px; text-align:right; }.admin-user b,.admin-user small { display:block; }.admin-user b { font-size:.82rem; }.admin-user small { color:var(--admin-muted); font-size:.7rem; text-transform:capitalize; }.admin-user img,.admin-avatar { width:42px; height:42px; border-radius:12px; object-fit:cover; }.admin-avatar { display:grid; place-items:center; background:#e9eef5; color:var(--admin-navy); font-weight:900; }
.admin-content { width:min(1280px,calc(100% - 48px)); margin:0 auto; padding:30px 0 60px; }
.admin-page-header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }.admin-page-header h2 { margin:0 0 5px; font-size:1.7rem; }.admin-page-header p { margin:0; color:var(--admin-muted); }
.admin-card { background:#fff; border:1px solid var(--admin-line); border-radius:var(--admin-radius); box-shadow:0 8px 24px rgba(7,26,51,.05); }.admin-card-body { padding:22px; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }.admin-stat { padding:22px; }.admin-stat span { color:var(--admin-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }.admin-stat strong { display:block; color:var(--admin-navy); font-size:2rem; margin-top:9px; }.admin-stat small { color:var(--admin-muted); }
.admin-grid-2 { display:grid; grid-template-columns:1.25fr .75fr; gap:20px; }.admin-quick-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.admin-quick { display:block; border:1px solid var(--admin-line); border-radius:12px; padding:15px; text-decoration:none; color:var(--admin-navy); font-weight:800; }.admin-quick small { display:block; color:var(--admin-muted); font-weight:500; margin-top:4px; }
.admin-table-wrap { overflow:auto; }.admin-table { width:100%; border-collapse:collapse; min-width:760px; }.admin-table th { color:var(--admin-muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; background:#f8fafc; }.admin-table th,.admin-table td { padding:13px 14px; border-bottom:1px solid var(--admin-line); vertical-align:middle; }.admin-table tr:last-child td { border-bottom:0; }.admin-table-image { width:68px; height:48px; object-fit:cover; border-radius:8px; background:#edf1f5; }
.status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 9px; font-size:.7rem; font-weight:800; }.status-publie,.status-actif { color:#08714d; background:#dff8ed; }.status-brouillon,.status-inactif { color:#5c6878; background:#e8edf2; }.status-en_attente { color:#8c5c00; background:#fff0c7; }
.status-programme { color:#08714d; background:#dff8ed; }.status-passe { color:#164f85; background:#e4f2ff; }.status-masque { color:#5c6878; background:#e8edf2; }.admin-table-flyer { width:58px; height:76px; }.admin-flyer-preview { max-height:420px; }
.action-group { display:flex; flex-wrap:wrap; gap:6px; }.admin-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; border:1px solid transparent; border-radius:10px; padding:8px 13px; text-decoration:none; font-weight:800; font-size:.79rem; }.admin-button-primary { color:#fff; background:var(--admin-navy); }.admin-button-red { color:#fff; background:var(--admin-red); }.admin-button-soft { color:var(--admin-navy); background:#fff; border-color:var(--admin-line); }.admin-button-danger { color:#a11530; background:#fff0f3; border-color:#ffd2dc; }.admin-button:disabled { opacity:.5; cursor:not-allowed; }
.admin-filters { display:grid; grid-template-columns:minmax(200px,1fr) 180px 180px auto; gap:10px; margin-bottom:18px; }.admin-control { width:100%; min-height:44px; border:1px solid var(--admin-line); border-radius:10px; background:#fff; padding:9px 11px; }.admin-control:focus { outline:3px solid rgba(13,41,75,.12); border-color:#6e88a5; }.admin-label { display:block; font-size:.78rem; font-weight:800; margin-bottom:6px; }.admin-help { color:var(--admin-muted); font-size:.75rem; }
.admin-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; }.admin-form-section { padding:22px; }.admin-field { margin-bottom:18px; }.admin-field textarea { min-height:120px; resize:vertical; }.admin-image-preview { width:100%; max-height:220px; object-fit:contain; background:#f5f7fa; border:1px dashed #cdd6e1; border-radius:12px; margin:10px 0; }.admin-actions-sticky { position:sticky; bottom:14px; display:flex; gap:8px; padding:12px; background:rgba(255,255,255,.95); border:1px solid var(--admin-line); border-radius:14px; box-shadow:0 10px 35px rgba(7,26,51,.12); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-alert { padding:13px 15px; border-radius:11px; margin-bottom:18px; }.admin-alert-success { color:#0c6d4b; background:#def8ed; border:1px solid #afe4d2; }.admin-alert-error,.admin-alert-danger { color:#941d35; background:#ffe8ed; border:1px solid #f4beca; }.admin-alert-warning { color:#795000; background:#fff1cb; border:1px solid #f0d78c; }.admin-alert-info { color:#164f85; background:#e4f2ff; border:1px solid #bcdcff; }
.migration-notice { padding:24px; border:1px dashed #e0b645; border-radius:14px; background:#fff9e7; }.empty-admin { padding:38px; text-align:center; color:var(--admin-muted); }
.radio-editor { overflow:hidden; border:1px solid var(--admin-line); border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(7,26,51,.05); }
.radio-editor-topbar { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 10px; border-bottom:1px solid var(--admin-line); background:#f7f9fc; }
.radio-editor-tabs { display:flex; gap:4px; }.radio-editor-tabs button { border:0; border-radius:8px; background:transparent; color:var(--admin-muted); padding:7px 11px; font-size:.75rem; font-weight:800; }.radio-editor-tabs button.is-active { color:var(--admin-navy); background:#fff; box-shadow:0 2px 8px rgba(7,26,51,.09); }
.radio-editor-stats { color:var(--admin-muted); font-size:.72rem; font-weight:700; }
.radio-editor-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:5px; padding:9px; border-bottom:1px solid var(--admin-line); background:#fff; position:sticky; top:0; z-index:2; }
.radio-editor-toolbar button,.radio-editor-toolbar select { min-height:34px; border:1px solid transparent; border-radius:7px; background:#fff; color:var(--admin-navy); padding:5px 8px; font-size:.76rem; }.radio-editor-toolbar button:hover,.radio-editor-toolbar select:hover { border-color:var(--admin-line); background:#f4f7fa; }.radio-editor-toolbar select { border-color:var(--admin-line); }.radio-editor-separator { width:1px; height:24px; background:var(--admin-line); margin:0 3px; }
.radio-editor-canvas { min-height:490px; max-height:75vh; overflow:auto; padding:34px clamp(20px,5vw,60px); font-family:Georgia,"Times New Roman",serif; font-size:1.05rem; line-height:1.8; color:#202938; outline:0; }.radio-editor-canvas:focus { box-shadow:inset 0 0 0 3px rgba(13,41,75,.08); }.radio-editor-canvas h2,.radio-editor-canvas h3 { font-family:Inter,system-ui,sans-serif; color:var(--admin-navy); margin-top:1.6em; }.radio-editor-canvas img { display:block; max-width:100%; height:auto; margin:18px auto; border-radius:10px; }.radio-editor-canvas figure { margin:24px 0; }.radio-editor-canvas figcaption { color:var(--admin-muted); font-family:Inter,system-ui,sans-serif; font-size:.78rem; text-align:center; }.radio-editor-canvas blockquote { border-left:4px solid var(--admin-red); margin:25px 0; padding:6px 0 6px 18px; color:#526075; font-style:italic; }
.radio-editor-source { display:none; min-height:490px!important; margin:0; border:0!important; border-radius:0!important; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; line-height:1.55; }.radio-editor-source.is-code-visible { display:block; }.radio-editor-upload { padding:9px 14px; color:#164f85; background:#e4f2ff; font-size:.76rem; font-weight:800; }
.seo-assistant { margin-top:24px; border:1px solid #dfe5ec; border-radius:14px; overflow:hidden; background:#f8fafc; }.seo-assistant-head { display:flex; gap:13px; align-items:center; padding:18px; border-bottom:1px solid var(--admin-line); }.seo-assistant-head>div { display:flex; align-items:center; gap:10px; min-width:max-content; }.seo-assistant h3 { margin:0; font-size:1rem; }.seo-assistant-head p { margin:0; color:var(--admin-muted); font-size:.78rem; }.seo-score { display:grid; place-items:center; min-width:48px; height:32px; border-radius:999px; color:#8c5c00; background:#fff0c7; font-size:.72rem; font-weight:900; }.seo-score.is-good { color:#08714d; background:#dff8ed; }
.seo-preview { margin:18px; padding:17px; border:1px solid #e2e7ee; border-radius:11px; background:#fff; }.seo-preview span { display:block; overflow:hidden; color:#28754c; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }.seo-preview strong { display:block; color:#1a0dab; font:1.14rem Arial,sans-serif; margin:5px 0; }.seo-preview p { color:#4d5156; font: .82rem/1.45 Arial,sans-serif; margin:0; }
.seo-checklist { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin:0; padding:0 18px 20px; list-style:none; }.seo-checklist li { color:#7b3f00; font-size:.76rem; }.seo-checklist li::before { content:"○"; display:inline-block; width:19px; font-weight:900; }.seo-checklist li.is-valid { color:#08714d; }.seo-checklist li.is-valid::before { content:"✓"; }
.world-cup-admin { border-color:#d8b94f; background:linear-gradient(145deg,#fff 65%,#f6f2d7); }.admin-switch { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:.75rem; white-space:nowrap; }.admin-switch input { position:absolute; opacity:0; pointer-events:none; }.admin-switch span { width:43px; height:24px; position:relative; border-radius:999px; background:#b9c2ce; transition:.2s; }.admin-switch span::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.25); transition:.2s; }.admin-switch input:checked+span { background:#167052; }.admin-switch input:checked+span::after { transform:translateX(19px); }
@media(max-width:1050px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid-2,.admin-form-layout{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr 1fr}.admin-sidebar{transform:translateX(-100%)}.admin-sidebar.is-open{transform:translateX(0)}.admin-main{margin-left:0}.admin-menu-toggle{display:block}}
@media(max-width:650px){.admin-content{width:calc(100% - 24px);padding-top:18px}.admin-topbar{padding:12px}.admin-user>span:first-child{display:none}.admin-stats,.admin-quick-grid,.admin-filters,.form-grid,.seo-checklist{grid-template-columns:1fr}.admin-page-header{display:block}.admin-page-header .admin-button{margin-top:14px}.admin-form-section{padding:16px}.admin-actions-sticky{flex-direction:column}.admin-actions-sticky .admin-button{width:100%}.radio-editor-canvas{min-height:400px;padding:24px 16px}.radio-editor-separator{display:none}.seo-assistant-head{align-items:flex-start;flex-direction:column}}
