/* ═══════════════════════════════════════════════════════════
   ADMIN V2  —  Intégré au style du site M&S
   Mobile-first, pill nav horizontale, pas de sidebar
   v=20260623v2b8
   ═══════════════════════════════════════════════════════════ */

/* ── Masquage éléments site ── */
.page-admin-v2 .site-header,
.page-admin-v2 .site-footer { display:none!important; }
.page-admin-v2 .admin-title-main { display:none!important; }
/* ── Strip complet du template page (pas de double fond) ── */
.page-admin-v2 body.index2-page { padding-top:0!important; }
.page-admin-v2 .page-main-subpage {
  padding-top:calc(64px + 20px)!important;
  padding-bottom:32px!important;
  padding-left:0!important;padding-right:0!important;
  margin:0!important;min-height:100dvh!important;
  background:none!important;
}
.page-admin-v2 .subpage-stage {
  background:none!important;padding:0!important;border:none!important;
}
.page-admin-v2 .subpage-shell {
  background:none!important;padding:0!important;margin:0!important;max-width:none!important;
}
.page-admin-v2 .page-main-card,
.page-admin-v2 .admin-main-card,
.page-admin-v2 .template-page-card {
  background:none!important;border:none!important;
  box-shadow:none!important;border-radius:0!important;
  padding:0!important;margin:0!important;
}
.page-admin-v2 .template-doc,
.page-admin-v2 .admin-template-doc { padding:0!important;margin:0!important; }
.admin-v2-dashboard { padding:24px 16px; }
.page-admin-v2 [hidden] { display:none!important; }

.v2-nav-compat {
  position:absolute;left:-9999px;top:-9999px;
  width:1px;height:1px;overflow:hidden;pointer-events:none;opacity:0;
}

/* ── Barre supérieure ── */
.v2-bar {
  position:fixed;top:0;left:0;right:0;
  height:64px;z-index:300;
  display:flex;align-items:center;gap:10px;
  padding:0 16px;
  background:var(--surface-strong,rgba(255,255,255,.95));
  border-bottom:1px solid var(--line,rgba(16,25,51,.16));
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.v2-bar-brand {
  font-family:var(--font-ui,'Sora',sans-serif);
  font-weight:700;font-size:1.35rem;letter-spacing:-.03em;
  color:var(--ink,#101933);text-decoration:none;flex-shrink:0;
}
.v2-bar-brand .amp { color:var(--accent,#2b67ff); }
.v2-bar-tag {
  font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  background:var(--accent,#2b67ff);color:#fff;
  padding:2px 7px;border-radius:5px;flex-shrink:0;
}
.v2-back-dashboard {
  display:inline-flex;align-items:center;gap:7px;
  min-height:34px;padding:6px 12px;
  border:1px solid var(--line,rgba(16,25,51,.16));
  border-radius:999px;background:transparent;color:var(--ink-soft,#5a6883);
  font:700 .72rem/1 var(--font-ui,'Sora',sans-serif);
  cursor:pointer;transition:border-color .18s,color .18s,transform .18s;
}
.v2-back-dashboard[hidden] { display:none!important; }
.v2-back-dashboard:hover { color:var(--ink,#101933);border-color:var(--accent,#2b67ff);transform:translateX(-2px); }
.v2-back-dashboard:focus-visible { outline:2px solid var(--accent,#2b67ff);outline-offset:2px; }
@media (max-width:640px) {
  .v2-back-dashboard-label { display:none; }
  .v2-back-dashboard {
    position:fixed;top:76px;left:16px;z-index:2800;
    width:42px;height:42px;min-height:42px;padding:0;justify-content:center;
    border-radius:50%;background:var(--surface-strong,rgba(255,255,255,.96));
    color:var(--ink,#101933);box-shadow:0 8px 22px rgba(13,27,54,.14);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  .v2-back-dashboard:hover { transform:none; }
}
.v2-bar-sep { flex:1; }
.v2-bar-actions { display:flex;align-items:center;gap:4px;flex-shrink:0; }
.v2-nav-toggle {
  display:flex;align-items:center;justify-content:center;
  width:46px;height:42px;padding:0 12px;flex-shrink:0;
  border:1px solid var(--line,rgba(16,25,51,.16));
  border-radius:99px;background:none;cursor:pointer;
  transition:border-color .15s,background .15s;
}
.v2-nav-toggle:hover { border-color:var(--ink-soft,#5a6883); }
.v2-nav-toggle[aria-expanded="true"] { background:var(--accent,#2b67ff);border-color:var(--accent,#2b67ff); }
.v2-nav-toggle .menu-icon { display:flex;flex-direction:column;align-items:center;gap:3px;width:15px;pointer-events:none; }
.v2-nav-toggle .menu-icon span { display:block;width:15px;height:2px;background:var(--ink,#101933);border-radius:2px;transition:background .15s; }
.v2-nav-toggle[aria-expanded="true"] .menu-icon span { background:#fff; }

/* ── Mega menu navigation ── */
.v2-nav-dropdown {
  position:fixed!important;top:64px!important;left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;max-height:calc(100dvh - 64px)!important;overflow:auto!important;
  margin:0!important;z-index:2900!important;transform:none!important;
  background:var(--surface-strong,rgba(255,255,255,.98))!important;
  border-bottom:1px solid var(--line,rgba(16,25,51,.16))!important;
  box-shadow:0 18px 40px rgba(13,27,54,.14)!important;
}
.v2-nav-dropdown[hidden] { display:none!important; }
.v2-mega-link { font:inherit; }
.v2-mega-link.v2-active { border-color:var(--accent,#2b67ff)!important;background:color-mix(in srgb,var(--accent,#2b67ff) 10%,transparent)!important; }
.v2-mega-link.v2-active .v2-mega-title { color:var(--accent,#2b67ff)!important; }
.v2-pill {
  flex-shrink:0;padding:6px 15px;
  font-size:.78rem;font-weight:600;
  font-family:var(--font-ui,'Sora',sans-serif);
  border:none;background:none;
  color:var(--ink-soft,#5a6883);
  border-radius:99px;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s;min-height:32px;
}
.v2-pill:hover { background:rgba(var(--ink-rgb,16,25,51),.06);color:var(--ink,#101933); }
.v2-pill.v2-active { background:var(--accent,#2b67ff);color:#fff; }

/* ── Shell ── */
.v2-shell { padding-top:calc(64px + 20px);padding-bottom:32px;min-height:100dvh; }
.v2-main { max-width:1240px;margin:0 auto;padding:0 16px; }
.v2-panel { display:none; }
.v2-panel.v2-panel-active { display:block; }

/* ── En-têtes de section ── */
.v2-panel-hd {
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;
}
.v2-panel-title {
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:1.2rem;font-weight:700;letter-spacing:-.025em;
  color:var(--ink,#101933);margin:0;flex:1;
}
.admin-article-toolbar { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.page-admin-v2 .admin-article-toolbar { display:none!important; }
.page-admin-v2 #articleEditorCard { display:flex!important;flex-direction:column!important;align-items:stretch!important; }

/* ── En-tête de carte avec action inline ── */
.admin-card-hd-row {
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 16px;padding-bottom:12px;
  border-bottom:1.5px solid var(--line,rgba(16,25,51,.16));
}
.admin-card-hd-row h3 { margin:0!important;padding:0!important;border:none!important;flex:1; }
.v2-inline-btn {
  flex-shrink:0;font-size:.76rem;font-weight:700;
  font-family:var(--font-ui,'Sora',sans-serif);
  padding:5px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;
  background:var(--accent,#2b67ff);color:#fff;border:none;
  transition:opacity .15s;min-height:30px;
}
.v2-inline-btn:hover { opacity:.85; }
.v2-rebuild-mini {
  flex-shrink:0;font-size:.74rem;font-weight:600;
  font-family:var(--font-ui,'Sora',sans-serif);
  padding:4px 10px;border-radius:8px;cursor:pointer;white-space:nowrap;
  background:rgba(43,103,255,.07);color:var(--accent,#2b67ff);
  border:1.5px solid rgba(43,103,255,.3);
  transition:background .15s;min-height:28px;
}
.v2-rebuild-mini:hover { background:rgba(43,103,255,.14);border-color:var(--accent,#2b67ff); }

/* ── Icône stat dashboard ── */
.v2-stat-icon { display:block;margin-bottom:8px;color:var(--accent,#2b67ff);opacity:.65; }

/* ── Dashboard ── */
.v2-section-title {
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:1.2rem;font-weight:700;letter-spacing:-.025em;
  color:var(--ink,#101933);margin:0 0 4px;
}
.v2-section-subtitle { font-size:.85rem;color:var(--ink-soft,#5a6883);margin:0 0 20px; }
.v2-group-label {
  display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft,#5a6883);margin:20px 0 10px;
}
.v2-dash-stats { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:8px; }
.v2-stat-card {
  background:var(--surface-strong,rgba(255,255,255,.93));
  border:1.5px solid var(--line,rgba(16,25,51,.16));
  border-radius:var(--radius-lg,16px);padding:16px 18px;cursor:pointer;
  transition:border-color .2s,box-shadow .2s,transform .15s;
}
.v2-stat-card:hover {
  border-color:var(--accent,#2b67ff);
  box-shadow:0 4px 20px rgba(43,103,255,.12);transform:translateY(-1px);
}
.v2-stat-num {
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:2.2rem;font-weight:800;color:var(--accent,#2b67ff);
  letter-spacing:-.05em;line-height:1;margin-bottom:4px;
}
.v2-stat-label {
  font-size:.72rem;font-weight:700;
  color:var(--ink-soft,#5a6883);text-transform:uppercase;letter-spacing:.06em;
}
.v2-stat-hint { font-size:.7rem;color:var(--accent,#2b67ff);margin-top:6px;opacity:.7; }
.v2-quick-btns { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px; }
.v2-quick-btn {
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 14px;
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:.8rem;font-weight:600;
  border-radius:10px;border:1.5px solid var(--line,rgba(16,25,51,.16));
  background:var(--surface-strong,rgba(255,255,255,.93));
  color:var(--ink,#101933);cursor:pointer;
  transition:background .15s,border-color .15s,transform .1s;min-height:44px;
}
.v2-quick-btn:hover {
  background:rgba(var(--ink-rgb,16,25,51),.05);
  border-color:rgba(var(--ink-rgb,16,25,51),.3);transform:translateY(-1px);
}
.v2-quick-btn.v2-primary { background:var(--accent,#2b67ff);border-color:var(--accent,#2b67ff);color:#fff; }
.v2-quick-btn.v2-primary:hover { filter:brightness(.93); }
.v2-quick-btn.v2-rebuild { background:var(--accent-soft,#e8f0ff);border-color:var(--accent,#2b67ff);color:var(--accent,#2b67ff); }
.v2-dash-rebuild-status { font-size:.8rem;color:var(--ink-soft,#5a6883);margin:6px 0 0;min-height:1.2em; }

/* ── Sous-onglets visuels ── */
.v2-subtab-bar {
  display:flex;gap:6px;flex-wrap:wrap;
  margin-bottom:18px;padding-bottom:14px;
  border-bottom:1.5px solid var(--line,rgba(16,25,51,.16));
}
.v2-subtab-btn {
  padding:7px 16px;font-size:.8rem;font-weight:600;
  font-family:var(--font-ui,'Sora',sans-serif);
  border:1.5px solid var(--line,rgba(16,25,51,.16));
  background:none;border-radius:99px;cursor:pointer;
  color:var(--ink-soft,#5a6883);
  transition:all .15s;min-height:34px;
}
.v2-subtab-btn.v2-active {
  border-color:var(--accent,#2b67ff);color:var(--accent,#2b67ff);
  background:var(--accent-soft,rgba(43,103,255,.07));
}
.v2-subtab-btn:hover:not(.v2-active) { border-color:var(--ink-soft,#5a6883);color:var(--ink,#101933); }

/* ── Canvas et grilles ── */
.page-admin-v2 .avatar-canvas-wrap canvas,
.page-admin-v2 .social-canvas-wrap canvas,
.page-admin-v2 #pageStoryCanvas { max-width:100%;height:auto; }
.page-admin-v2 .posts-grid { display:flex;flex-direction:column;gap:16px; }

/* ── Badge PRO sur l'admin classique ── */
.admin-v2-badge-btn {
  font-size:9px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;padding:3px 7px;
  background:var(--accent,#2b67ff);color:#fff;
  border:none;border-radius:5px;cursor:pointer;transition:opacity .15s;
}
.admin-v2-badge-btn:hover { opacity:.85; }

/* ── Desktop ≥768px ── */
@media (min-width:768px) {
  .v2-bar { height:76px;padding:0 24px;gap:14px; }
  .v2-bar-brand { font-size:1.55rem; }
  .v2-nav-dropdown { top:76px!important;max-height:calc(100dvh - 76px)!important; }
  .v2-pill { padding:7px 18px;font-size:.82rem; }
  .v2-shell { padding-top:calc(76px + 28px);padding-bottom:40px; }
  .page-admin-v2 .page-main-subpage { padding-top:calc(76px + 28px)!important; }
  .admin-v2-dashboard { padding:24px 24px; }
  .v2-main { padding:0 24px; }
  .v2-section-title,.v2-panel-title { font-size:1.35rem; }
  .v2-dash-stats { grid-template-columns:repeat(4,1fr); }
  .v2-quick-btns { grid-template-columns:repeat(4,1fr); }
  .page-admin-v2 .posts-grid { flex-direction:row; }
  .page-admin-v2 .posts-grid > .friend-card:first-child { flex:1;min-width:0; }
  .page-admin-v2 .posts-grid > .admin-list-card { flex:1;min-width:280px; }
}

.v2-admin-notice{position:fixed;top:132px;left:50%;z-index:3100;transform:translateX(-50%);width:min(620px,calc(100% - 32px));padding:12px 16px;border:1px solid var(--line,rgba(16,25,51,.16));border-radius:14px;background:var(--surface-strong,#fff);color:var(--ink,#101933);box-shadow:0 14px 34px rgba(13,27,54,.16);font:700 .82rem/1.4 var(--font-ui,'Sora',sans-serif)}
.v2-admin-notice[hidden]{display:none!important}.v2-admin-notice[data-tone="ok"]{border-color:#3aa675}.v2-admin-notice[data-tone="error"]{border-color:#d94a55}
@media(min-width:768px){.v2-admin-notice{top:90px}}
body.page-admin-v2.theme-pride{color-scheme:dark;background:radial-gradient(circle at 14% 8%,rgba(255,38,137,.13),transparent 31%),radial-gradient(circle at 88% 12%,rgba(44,190,255,.11),transparent 28%),radial-gradient(circle at 54% 100%,rgba(103,77,255,.1),transparent 38%),linear-gradient(145deg,#07060d 0%,#0d0917 45%,#080d19 100%)!important;color:#fff8ff!important;--ink:#fff8ff;--ink-soft:#d8cce2;--surface-strong:rgba(13,9,24,.97);--line:rgba(255,171,225,.22)}
body.page-admin-v2.theme-pride .page-main-subpage,body.page-admin-v2.theme-pride .subpage-stage,body.page-admin-v2.theme-pride .subpage-shell{background:transparent!important}
body.page-admin-v2.theme-pride .v2-bar{background:rgba(8,6,15,.96)!important;border-bottom-color:rgba(255,171,225,.2)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)}
body.page-admin-v2.theme-pride .v2-nav-dropdown{background:rgba(10,7,18,.985)!important;border-bottom-color:rgba(255,171,225,.2)!important;box-shadow:0 22px 50px rgba(0,0,0,.48)!important}
body.page-admin-v2.theme-pride :is(.v2-stat-card,.v2-quick-btn,.friend-card,.panel){background:linear-gradient(165deg,rgba(19,12,33,.94),rgba(10,13,28,.96))!important;border-color:rgba(255,171,225,.22)!important;color:#fff8ff!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}
body.page-admin-v2.theme-pride :is(.v2-section-title,.v2-panel-title,.v2-stat-label,.v2-group-label,.v2-section-subtitle,.friend-note,label){color:#efe5f5!important}
body.page-admin-v2.theme-pride .v2-stat-num{color:#ff82c4!important}
/* Correct scope: page-admin-v2 is carried by <html>, theme-pride by <body>. */
.page-admin-v2 body.theme-pride{color-scheme:dark;background:radial-gradient(circle at 14% 8%,rgba(255,38,137,.13),transparent 31%),radial-gradient(circle at 88% 12%,rgba(44,190,255,.11),transparent 28%),radial-gradient(circle at 54% 100%,rgba(103,77,255,.1),transparent 38%),linear-gradient(145deg,#07060d 0%,#0d0917 45%,#080d19 100%)!important;color:#fff8ff!important;--ink:#fff8ff;--ink-soft:#d8cce2;--surface-strong:rgba(13,9,24,.97);--line:rgba(255,171,225,.22)}
.page-admin-v2 body.theme-pride .page-main-subpage,.page-admin-v2 body.theme-pride .subpage-stage,.page-admin-v2 body.theme-pride .subpage-shell{background:transparent!important}
.page-admin-v2 body.theme-pride .v2-bar{background:rgba(8,6,15,.96)!important;border-bottom-color:rgba(255,171,225,.2)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.page-admin-v2 body.theme-pride .v2-nav-dropdown{background:rgba(10,7,18,.985)!important;border-bottom-color:rgba(255,171,225,.2)!important;box-shadow:0 22px 50px rgba(0,0,0,.48)!important}
.page-admin-v2 body.theme-pride :is(.v2-stat-card,.v2-quick-btn,.friend-card,.panel){background:linear-gradient(165deg,rgba(19,12,33,.94),rgba(10,13,28,.96))!important;border-color:rgba(255,171,225,.22)!important;color:#fff8ff!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}
.page-admin-v2 body.theme-pride :is(.v2-section-title,.v2-panel-title,.v2-stat-label,.v2-group-label,.v2-section-subtitle,.friend-note,label){color:#efe5f5!important}
.page-admin-v2 body.theme-pride .v2-stat-num{color:#ff82c4!important}

@media (min-width:1100px) {
  .v2-dash-stats { grid-template-columns:repeat(5,1fr); }
  .v2-quick-btns { grid-template-columns:repeat(5,1fr); }
}

/* ── Saisie – inputs, textareas, selects ── */
.page-admin-v2 input[type="text"],
.page-admin-v2 input[type="email"],
.page-admin-v2 input[type="url"],
.page-admin-v2 input[type="number"],
.page-admin-v2 input[type="password"],
.page-admin-v2 input[type="search"],
.page-admin-v2 input[type="date"],
.page-admin-v2 input[type="datetime-local"],
.page-admin-v2 textarea,
.page-admin-v2 select {
  border-radius:10px;
  border:1.5px solid var(--line,rgba(16,25,51,.16));
  background:var(--surface-strong,rgba(255,255,255,.95));
  color:var(--ink,#101933);
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:.88rem;padding:9px 12px;
  transition:border-color .15s,box-shadow .15s;
}
.page-admin-v2 select {
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235a6883' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:32px;cursor:pointer;
}
.page-admin-v2 textarea { min-height:80px;resize:vertical; }
.page-admin-v2 input[type="text"]:focus,
.page-admin-v2 input[type="email"]:focus,
.page-admin-v2 input[type="url"]:focus,
.page-admin-v2 input[type="number"]:focus,
.page-admin-v2 input[type="password"]:focus,
.page-admin-v2 input[type="search"]:focus,
.page-admin-v2 input[type="date"]:focus,
.page-admin-v2 input[type="datetime-local"]:focus,
.page-admin-v2 textarea:focus,
.page-admin-v2 select:focus {
  outline:none;
  border-color:var(--accent,#2b67ff);
  box-shadow:0 0 0 3px rgba(43,103,255,.09);
}

/* ── En-têtes de cartes ── */
.page-admin-v2 .friend-card > h3 {
  font-family:var(--font-ui,'Sora',sans-serif);
  font-size:.98rem;font-weight:700;letter-spacing:-.02em;
  color:var(--ink,#101933);margin:0 0 16px;
  padding-bottom:12px;border-bottom:1.5px solid var(--line,rgba(16,25,51,.16));
}

/* ── Boutons actions ── */
.page-admin-v2 .actions {
  display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;align-items:center;
}

/* ── Colonne liste desktop ── */
@media (min-width:768px) {
  .page-admin-v2 .posts-grid > .admin-list-card { min-width:320px; }
}
/* Final Pride canvas lock: keep the administration dark and coherent. */
html.page-admin-v2 body.index2-page.page-admin.theme-pride{
  background-color:#07060d!important;
  background-image:radial-gradient(circle at 14% 8%,rgba(255,38,137,.13),transparent 31%),radial-gradient(circle at 88% 12%,rgba(44,190,255,.11),transparent 28%),radial-gradient(circle at 54% 100%,rgba(103,77,255,.1),transparent 38%),linear-gradient(145deg,#07060d 0%,#0d0917 45%,#080d19 100%)!important;
  background-attachment:fixed!important;
}
html.page-admin-v2 body.index2-page.page-admin.theme-pride :is(.page-main-subpage,.subpage-stage,.subpage-shell,.admin-v2-dashboard){background-color:transparent!important;background-image:none!important}

/* Pride surfaces: override the older mobile stylesheet that forced white cards. */
html.page-admin-v2 body.index2-page.page-admin.theme-pride :is(
  #articleComposerMount,#articleEditorCard,.admin-article-editor-card,
  .admin-section .friend-card,.admin-list-card,.panel.friend-card,
  .v2-stat-card,.v2-quick-btn
){
  background:linear-gradient(165deg,rgba(19,12,33,.97),rgba(10,13,28,.98))!important;
  border-color:rgba(255,171,225,.22)!important;color:#fff8ff!important;
  box-shadow:0 2px 14px rgba(0,0,0,.3)!important;
}
html.page-admin-v2 body.index2-page.page-admin.theme-pride :is(
  #articleEditorCard,.admin-section .friend-card,.admin-list-card,.panel.friend-card
) :is(h2,h3,h4,label,p,.friend-note,.status){color:#efe5f5!important}
html.page-admin-v2 body.index2-page.page-admin.theme-pride :is(input,textarea,select){
  background-color:rgba(28,19,42,.98)!important;color:#fff8ff!important;
  border-color:rgba(255,171,225,.24)!important;
}
html.page-admin-v2 body.index2-page.page-admin.theme-pride :is(input,textarea)::placeholder{color:#ad9bb9!important;opacity:1}

/* Stable admin shell: shared footer and compact inline back button. */
.page-admin-v2 .site-footer.site-footer-pro { display:block!important; }
.page-admin-v2 .v2-back-dashboard { flex:0 0 auto; }
@media (max-width:640px) {
  .page-admin-v2 .v2-bar { gap:8px; }
  .page-admin-v2 .v2-bar-brand {
    min-width:0;max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-size:clamp(1.05rem,5vw,1.35rem);
  }
  .page-admin-v2 .v2-back-dashboard {
    position:static!important;top:auto;left:auto;z-index:auto;
    width:38px;height:38px;min-height:38px;padding:0;justify-content:center;
    background:var(--surface-strong,rgba(255,255,255,.94));
    box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
}

/* Unified admin tokens: all admin panels read from the same palette. */
html.page-admin-v2 body.index2-page.page-admin{
  --admin-bg:#eef3fb;
  --admin-surface:#ffffff;
  --admin-surface-soft:#f6f8fc;
  --admin-text:#10203d;
  --admin-text-muted:#60708d;
  --admin-border:#d8e0ef;
  --admin-accent:#2f69ff;
  --admin-accent-contrast:#ffffff;
  --admin-danger:#c93d4b;
  --admin-success:#277b55;
  --admin-button-bg:#ffffff;
  --admin-button-text:#10203d;
  --admin-selected-bg:#2f69ff;
  --admin-selected-text:#ffffff;
  background:var(--admin-bg)!important;
  color:var(--admin-text)!important;
  --ink:var(--admin-text);
  --ink-soft:var(--admin-text-muted);
  --surface:var(--admin-surface);
  --surface-strong:var(--admin-surface);
  --line:var(--admin-border);
  --accent:var(--admin-accent);
}
html.page-admin-v2 body.index2-page.page-admin.theme-morning{
  --admin-bg:#f3f4ee;
  --admin-surface:#fffdfa;
  --admin-surface-soft:#f8f1e7;
  --admin-text:#233044;
  --admin-text-muted:#6b6457;
  --admin-border:#ded5c4;
  --admin-accent:#d95778;
  --admin-selected-bg:#d95778;
  --admin-success:#32765a;
}
html.page-admin-v2 body.index2-page.page-admin.theme-night,
html.page-admin-v2 body.index2-page.page-admin.theme-nuit{
  color-scheme:dark;
  --admin-bg:#0b0d12;
  --admin-surface:#16181d;
  --admin-surface-soft:#111318;
  --admin-text:#f7f4e8;
  --admin-text-muted:#c8c2af;
  --admin-border:rgba(246,215,122,.3);
  --admin-accent:#f6d77a;
  --admin-accent-contrast:#171306;
  --admin-danger:#ff7f8b;
  --admin-success:#7ad6a6;
  --admin-button-bg:#1c1e23;
  --admin-button-text:#f7f4e8;
  --admin-selected-bg:#f6d77a;
  --admin-selected-text:#171306;
}
html.page-admin-v2 body.index2-page.page-admin.theme-pride{
  color-scheme:dark;
  --admin-bg:#07060d;
  --admin-surface:#151021;
  --admin-surface-soft:#100d1b;
  --admin-text:#fff8ff;
  --admin-text-muted:#e2d5ec;
  --admin-border:rgba(255,171,225,.24);
  --admin-accent:#ff82c4;
  --admin-accent-contrast:#230918;
  --admin-danger:#ff8c9c;
  --admin-success:#72e0b4;
  --admin-button-bg:#1c132a;
  --admin-button-text:#fff8ff;
  --admin-selected-bg:#ff82c4;
  --admin-selected-text:#230918;
}
html.page-admin-v2 body.index2-page.page-admin :is(
  .v2-bar,.v2-nav-dropdown,.v2-stat-card,.v2-quick-btn,.v2-admin-notice,
  .friend-card,.panel,.tx-panel,.tx-toolbar,.tx-item,.media-library-inspector
){
  background:var(--admin-surface)!important;
  border-color:var(--admin-border)!important;
  color:var(--admin-text)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(
  .v2-section-title,.v2-panel-title,.v2-stat-label,.v2-group-label,
  .v2-section-subtitle,.friend-note,label,.tx-note,.tx-item-label
){
  color:var(--admin-text-muted)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(h1,h2,h3,h4,strong,.v2-stat-num,.tx-panel-head h2){
  color:var(--admin-text)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(button,.tx-btn,.v2-quick-btn,.v2-subtab-btn,.v2-back-dashboard){
  border-color:var(--admin-border)!important;
  color:var(--admin-button-text)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(.v2-primary,.v2-pill.v2-active,.v2-subtab-btn.v2-active,.tx-btn-primary,.v2-nav-toggle[aria-expanded="true"]){
  background:var(--admin-selected-bg)!important;
  border-color:var(--admin-selected-bg)!important;
  color:var(--admin-selected-text)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(input,textarea,select){
  background:var(--admin-button-bg)!important;
  border-color:var(--admin-border)!important;
  color:var(--admin-text)!important;
}
/* 20260714: one admin theme contract and task-oriented dashboard. */
html.page-admin-v2 body.index2-page.page-admin{
  --admin-stage-bg:var(--admin-bg);
  --admin-surface-bg:var(--admin-surface);
  --admin-surface-border:var(--admin-border);
  --admin-surface-shadow:0 12px 30px rgba(16,25,51,.1);
  --admin-muted-bg:var(--admin-surface-soft);
  --admin-muted-border:var(--admin-border);
  --admin-muted-text:var(--admin-text-muted);
  --admin-input-bg:var(--admin-button-bg);
  --admin-input-border:var(--admin-border);
  --admin-input-placeholder:var(--admin-text-muted);
  --admin-input-focus:var(--admin-accent);
  --admin-nav-bg:var(--admin-surface);
  --admin-nav-border:var(--admin-border);
  --admin-tab-bg:var(--admin-button-bg);
  --admin-tab-border:var(--admin-border);
  --admin-tab-color:var(--admin-button-text);
  --admin-tab-active-bg:var(--admin-selected-bg);
  --admin-tab-active-border:var(--admin-selected-bg);
  --admin-tab-active-color:var(--admin-selected-text);
  --admin-primary-bg:var(--admin-selected-bg);
  --admin-primary-border:var(--admin-selected-bg);
  --admin-primary-color:var(--admin-selected-text);
  --admin-alt-bg:var(--admin-button-bg);
  --admin-alt-border:var(--admin-accent);
  --admin-alt-color:var(--admin-text);
  --admin-ghost-bg:var(--admin-surface-soft);
  --admin-ghost-border:var(--admin-border);
  --admin-ghost-color:var(--admin-text);
  --admin-disabled-bg:var(--admin-surface-soft);
  --admin-disabled-border:var(--admin-border);
  --admin-disabled-color:var(--admin-text-muted);
  --admin-overlay-bg:rgba(6,7,10,.72);
  --admin-composer-bg:var(--admin-surface);
  --admin-composer-border:var(--admin-border);
  --admin-composer-title:var(--admin-text);
  --admin-scrollbar:var(--admin-border);
  --admin-close-bg:var(--admin-surface);
  --admin-close-border:var(--admin-accent);
  --admin-close-color:var(--admin-accent);
}
html.page-admin-v2 body.index2-page.page-admin.theme-night,
html.page-admin-v2 body.index2-page.page-admin.theme-nuit{
  --accent:#f6d77a;
  --accent-rgb:246,215,122;
  --accent-soft:rgba(246,215,122,.12);
  --admin-surface-shadow:0 16px 34px rgba(0,0,0,.32);
  --admin-alt-bg:#202126;
  --admin-alt-color:#f6d77a;
  --admin-ghost-color:#f6d77a;
  --admin-close-bg:#15171b;
  --admin-close-border:#f6d77a;
  --admin-close-color:#f6d77a;
}
html.page-admin-v2 body.index2-page.page-admin.theme-morning{
  --accent:#d95778;
  --accent-rgb:217,87,120;
  --accent-soft:rgba(217,87,120,.12);
}
html.page-admin-v2 body.index2-page.page-admin.theme-pride{
  --accent:#ff82c4;
  --accent-rgb:255,130,196;
  --accent-soft:rgba(255,130,196,.14);
}
.page-admin-v2 .admin-v2-dashboard{
  width:min(1180px,100%);
  margin-inline:auto;
  padding:clamp(22px,3vw,38px) clamp(16px,3vw,30px) 48px;
}
.page-admin-v2 .v2-dash-stats{
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
  gap:12px;
}
.page-admin-v2 .v2-stat-card{
  min-height:148px;
  border-radius:8px;
  box-shadow:none!important;
}
.page-admin-v2 .v2-stat-card:hover,
.page-admin-v2 .v2-stat-card:focus-within{
  border-color:var(--admin-accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--admin-accent) 22%,transparent)!important;
}
.page-admin-v2 .v2-stat-icon,
.page-admin-v2 .v2-stat-num,
.page-admin-v2 .v2-stat-hint{
  color:var(--admin-accent)!important;
}
.page-admin-v2 .v2-group-label{
  margin-top:28px;
  margin-bottom:10px;
}
.page-admin-v2 .v2-quick-btns{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:9px;
}
.page-admin-v2 .v2-quick-btn{
  justify-content:flex-start;
  min-height:48px;
  padding:11px 14px;
  border-radius:7px;
  text-align:left;
  line-height:1.25;
}
.page-admin-v2 .v2-quick-btn svg{flex:0 0 16px;width:16px;height:16px}
.page-admin-v2 .v2-quick-btn:hover{
  border-color:var(--admin-accent)!important;
  background:var(--admin-surface-soft)!important;
  color:var(--admin-text)!important;
}
.page-admin-v2 .v2-quick-btns--maintenance{
  padding:12px;
  border:1px solid var(--admin-border);
  border-radius:8px;
  background:var(--admin-surface-soft);
}
.page-admin-v2 .v2-quick-btn.v2-rebuild{
  background:var(--admin-button-bg)!important;
  border-color:var(--admin-border)!important;
  color:var(--admin-text)!important;
}
.page-admin-v2 .v2-quick-btn.v2-rebuild:hover{
  border-color:var(--admin-accent)!important;
  color:var(--admin-accent)!important;
}
.page-admin-v2 .v2-action-status:empty{display:none}
.page-admin-v2 :is(.v2-bar-tag,.v2-inline-btn){
  background:var(--admin-selected-bg)!important;
  border-color:var(--admin-selected-bg)!important;
  color:var(--admin-selected-text)!important;
}
.page-admin-v2 .v2-rebuild-mini{
  background:var(--admin-surface-soft)!important;
  border-color:var(--admin-accent)!important;
  color:var(--admin-accent)!important;
}
.page-admin-v2 .v2-nav-toggle[aria-expanded="true"] .menu-icon span{
  background:var(--admin-selected-text)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(.friend-close,.pub-lightbox-close,.article-gallery-lightbox-close){
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid var(--admin-close-border)!important;
  border-radius:50%!important;
  background:var(--admin-close-bg)!important;
  color:var(--admin-close-color)!important;
  font-size:1.15rem!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(.friend-close,.pub-lightbox-close,.article-gallery-lightbox-close):hover{
  filter:brightness(1.08);
  transform:none!important;
}
html.page-admin-v2 body.index2-page.page-admin :is(.friend-close,.pub-lightbox-close,.article-gallery-lightbox-close):focus-visible{
  outline:3px solid var(--admin-accent)!important;
  outline-offset:3px!important;
}
html.page-admin-v2 body.index2-page.page-admin .discovery-photo-action.is-danger{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:#b42335!important;
  color:#fff!important;
  font-size:1.1rem!important;
  font-weight:900!important;
  line-height:1!important;
  opacity:1!important;
  box-shadow:0 5px 16px rgba(0,0,0,.38)!important;
}
.page-admin-v2 :is(button,a,input,select,textarea):focus-visible{
  outline:3px solid var(--admin-accent)!important;
  outline-offset:2px!important;
}
.page-admin-v2 .page-story-image-field{position:relative;min-width:0}
.page-admin-v2 .page-story-image-field.has-visual-options>label>select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.page-admin-v2 .page-story-image-picker{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(88px,1fr));
  gap:8px;
  max-height:276px;
  margin-top:8px;
  padding:8px;
  overflow:auto;
  border:1px solid var(--admin-border);
  border-radius:8px;
  background:var(--admin-surface-soft);
}
.page-admin-v2 .page-story-image-picker:empty{display:none}
.page-admin-v2 .page-story-image-choice{
  position:relative;
  display:grid;
  grid-template-rows:76px auto;
  gap:5px;
  min-width:0;
  min-height:104px;
  padding:5px;
  border:2px solid var(--admin-border)!important;
  border-radius:7px!important;
  background:var(--admin-surface)!important;
  color:var(--admin-text)!important;
  cursor:pointer;
  box-shadow:none!important;
}
.page-admin-v2 .page-story-image-choice:hover{border-color:var(--admin-accent)!important}
.page-admin-v2 .page-story-image-choice.is-selected{
  border-color:var(--admin-accent)!important;
  box-shadow:0 0 0 2px var(--admin-input-focus)!important;
}
.page-admin-v2 .page-story-image-choice.is-selected::after{
  content:"\\2713";
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--admin-selected-bg);
  color:var(--admin-selected-text);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
.page-admin-v2 .page-story-image-choice img{
  width:100%;
  height:76px;
  border-radius:4px;
  object-fit:cover;
  background:var(--admin-muted-bg);
}
.page-admin-v2 .page-story-image-choice span{
  display:block;
  min-width:0;
  overflow:hidden;
  color:inherit;
  font-size:.72rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:640px){
  .page-admin-v2 .page-story-image-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:244px}
  .page-admin-v2 .page-story-image-choice{grid-template-rows:66px auto;min-height:94px}
  .page-admin-v2 .page-story-image-choice img{height:66px}
}
@media(max-width:640px){
  .page-admin-v2 .v2-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-admin-v2 .v2-stat-card{min-height:132px;padding:14px}
  .page-admin-v2 .v2-quick-btns{grid-template-columns:1fr}
}
