:root {
  --tc-bg: #080a0f;
  --tc-bg-soft: #0d1017;
  --tc-panel: #12151d;
  --tc-panel-2: #181b24;
  --tc-line: rgba(255,255,255,.09);
  --tc-text: #f7f8fc;
  --tc-muted: #969cab;
  --tc-purple: #8b46f6;
  --tc-purple-2: #aa62ff;
  --tc-pink: #df447b;
  --tc-green: #57be5f;
  --tc-orange: #ff951f;
  --tc-blue: #429dff;
  --tc-danger: #ff5e70;
  --tc-sidebar: 245px;
  --tc-radius: 16px;
  --tc-shadow: 0 24px 70px rgba(0,0,0,.46);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--tc-bg); color: var(--tc-text); }

/* ===== PAGE ===== */
.corpsAdminTheme {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at 28% 0%, rgba(139,70,246,.08), transparent 28%),
    radial-gradient(circle at 95% 14%, rgba(223,68,123,.06), transparent 24%),
    var(--tc-bg);
  color: var(--tc-text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.corpsAdminTheme > .row { margin: 0; min-height: 100vh; }

.adminThemeDroit {
  width: calc(100% - var(--tc-sidebar));
  max-width: none;
  margin-left: var(--tc-sidebar);
  padding: 0;
  min-height: 100vh;
  background: transparent;
}
.admin-container {
  width: 100%;
  max-width: 1820px;
  margin: 0 auto;
  padding: 24px 30px 70px;
}

/* ===== SIDEBAR ===== */
.sidebarAdmin {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1100;
  width: var(--tc-sidebar);
  height: 100vh;
  padding: 0;
  background: linear-gradient(180deg, #0e1118 0%, #090b10 100%);
  border-right: 1px solid rgba(0,0,0,.55);
  box-shadow: 14px 0 40px rgba(0,0,0,.35);
}
.sidebarAdmin-inner { height: 100%; display: flex; flex-direction: column; padding: 18px 14px; }
.sidebarAdmin-brand { display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 0 4px 18px; color: #fff; text-decoration: none; border-bottom: 1px solid var(--tc-line); }
.sidebarAdmin-logo { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(135deg, var(--tc-pink), #a75dff); box-shadow: 0 8px 22px rgba(223,68,123,.24); font-weight: 800; font-size: 13px; }
.sidebarAdmin-brandText { font-size: 20px; font-weight: 800; letter-spacing: -.4px; }
.sidebarAdmin-brandText span { color: var(--tc-pink); }
.sidebarAdmin-profile { display: flex; align-items: center; gap: 11px; margin: 18px 2px 8px; padding: 12px; border: 1px solid var(--tc-line); border-radius: 14px; background: rgba(255,255,255,.025); }
.sidebarAdmin-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: rgba(139,70,246,.18); color: #c89cff; font-weight: 800; }
.sidebarAdmin-profile strong, .sidebarAdmin-profile span { display: block; }
.sidebarAdmin-profile strong { font-size: 13px; }
.sidebarAdmin-profile span { margin-top: 3px; color: var(--tc-muted); font-size: 11px; }
.sidebarAdmin-scroll { flex: 1; overflow-y: auto; padding: 4px 0 10px; scrollbar-width: thin; scrollbar-color: #343846 transparent; }
.sidebarAdmin-group { margin-top: 21px; }
.sidebarAdmin-group h2 { margin: 0 10px 8px; color: #747b8a; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sidebarAdmin-menu { list-style: none; margin: 0; padding: 0; }
.sidebarAdmin-menu li { margin: 3px 0; }
.sidebarAdmin-link { position: relative; display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 9px 11px; border: 1px solid transparent; border-radius: 10px; color: #aeb4c1; text-decoration: none; font-size: 13px; transition: .2s ease; }
.sidebarAdmin-link:hover { color: #fff; background: rgba(255,255,255,.045); border-color: rgba(255,255,255,.05); transform: translateX(2px); }
.sidebarAdmin-link.active { color: #fff; background: linear-gradient(90deg, rgba(139,70,246,.28), rgba(139,70,246,.10)); border-color: rgba(166,103,255,.22); box-shadow: inset 3px 0 0 var(--tc-purple-2); }
.sidebarAdmin-icon { display: grid; place-items: center; width: 21px; color: #b7bdca; font-size: 17px; }
.sidebarAdmin-link.active .sidebarAdmin-icon { color: #bd8dff; }
.sidebarAdmin-badge { margin-left: auto; min-width: 22px; height: 22px; padding: 0 6px; display: grid; place-items: center; border-radius: 99px; background: var(--tc-danger); color: #fff; font-size: 11px; font-weight: 800; }
.sidebarAdmin-help { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 14px; border: 1px solid rgba(145,76,255,.32); border-radius: 14px; background: linear-gradient(145deg, rgba(139,70,246,.18), rgba(139,70,246,.06)); }
.sidebarAdmin-helpTop { display: flex; gap: 10px; align-items: flex-start; }
.sidebarAdmin-helpIcon { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: rgba(139,70,246,.28); color: #fff; font-weight: 800; }
.sidebarAdmin-help strong { font-size: 12px; }
.sidebarAdmin-help p { margin: 4px 0 0; color: #9b9fb0; font-size: 10px; line-height: 1.45; }
.sidebarAdmin-helpBtn { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.05); color: #e7e3ff; font-size: 11px; font-weight: 700; text-decoration: none; }
.sidebarAdmin-helpBtn:hover { background: rgba(139,70,246,.2); color: #fff; }

/* ===== TOPBAR ===== */
.theme-topbar { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; padding: 6px 2px; }
.theme-topbar .theme-search-box { flex: 1; max-width: none; margin: 0; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.topbar-icon-btn { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--tc-line); border-radius: 12px; background: rgba(18,21,29,.85); color: #c9cdd6; font-size: 18px; cursor: pointer; }
.topbar-icon-btn:hover { color: #fff; border-color: rgba(139,70,246,.4); }
.topbar-icon-btn .dot { position: absolute; top: 11px; right: 12px; width: 7px; height: 7px; border-radius: 50%; background: var(--tc-danger); box-shadow: 0 0 0 3px rgba(255,94,112,.18); }
.topbar-clock { min-width: 86px; text-align: center; font-variant-numeric: tabular-nums; color: #dfe2ea; font-size: 14px; font-weight: 700; letter-spacing: .6px; padding: 0 6px; }
.topbar-member { display: flex; align-items: center; gap: 10px; padding: 5px 13px 5px 5px; border: 1px solid var(--tc-line); border-radius: 12px; background: rgba(18,21,29,.85); }
.topbar-member .avatar { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(135deg, var(--tc-purple), var(--tc-pink)); color: #fff; font-weight: 800; font-size: 13px; }
.topbar-member strong { display: block; font-size: 12px; color: #fff; }
.topbar-member small { display: block; font-size: 11px; color: var(--tc-muted); }

/* ===== HEADER ===== */
.theme-section { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.theme-heading-group { min-width: 0; }
.theme-eyebrow { color: var(--tc-purple-2); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.theme-title { margin: 5px 0 3px; color: #fff; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.05; letter-spacing: -1px; }
.theme-subtitle { margin: 0; color: var(--tc-muted); font-size: 14px; }
.btn-open-theme-modal { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border: 1px solid rgba(177,111,255,.4); border-radius: 11px; background: linear-gradient(135deg, #7130dc, #9a49f5); color: #fff; box-shadow: 0 12px 30px rgba(124,49,226,.28); font-weight: 750; font-size: 14px; cursor: pointer; transition: .2s ease; }
.btn-open-theme-modal:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* ===== STATS ===== */
.theme-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: 14px; margin-bottom: 18px; }
.theme-stat-card { min-height: 92px; display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--tc-line); border-radius: 14px; background: linear-gradient(145deg, rgba(24,27,36,.95), rgba(14,17,24,.95)); box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.theme-stat-icon { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: rgba(139,70,246,.16); color: #b980ff; font-size: 20px; }
.theme-stat-card:nth-child(2) .theme-stat-icon { background: rgba(255,149,31,.14); color: #ff9e2b; }
.theme-stat-card:nth-child(3) .theme-stat-icon { background: rgba(87,190,95,.14); color: #71cf69; }
.theme-stat-card:nth-child(4) .theme-stat-icon { background: rgba(66,157,255,.14); color: #5fb0ff; }
.theme-stat-highlight .theme-stat-icon { background: rgba(226,65,121,.14); color: #f15a8e; }
.theme-stat-card strong, .theme-stat-card span { display:block; }
.theme-stat-card strong { font-size: 25px; line-height: 1; }
.theme-stat-card div span { margin-top: 7px; color: var(--tc-muted); font-size: 11px; }

/* ===== TOOLBAR ===== */
.theme-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.theme-search-box { flex: 1; max-width: 680px; display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 14px; border: 1px solid var(--tc-line); border-radius: 11px; background: rgba(18,21,29,.92); color: #7f8695; }
.theme-search-box:focus-within { border-color: rgba(161,93,255,.62); box-shadow: 0 0 0 4px rgba(139,70,246,.08); }
.theme-search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: #fff; font-size: 13px; }
.theme-search-box input::placeholder { color: #737987; }
.theme-toolbar-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.theme-filter-select { min-height: 44px; padding: 0 38px 0 14px; border: 1px solid var(--tc-line); border-radius: 10px; background: #14171f url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239298a6' stroke-width='2.5'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center; color: #d8dbe4; cursor: pointer; -webkit-appearance: none; appearance: none; font-size: 13px; }
.theme-view-toggle { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--tc-line); border-radius: 11px; background: #14171f; }
.theme-view-toggle button { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 8px; background: transparent; color: #9298a6; cursor: pointer; font-size: 15px; transition: .15s ease; }
.theme-view-toggle button.active { background: rgba(139,70,246,.22); color: #fff; }
.theme-result-count { color: var(--tc-muted); font-size: 12px; white-space: nowrap; }
.theme-result-count strong { color: #fff; }

/* ===== GRID / CARDS ===== */
.theme-table { display: grid; grid-template-columns: repeat(4, minmax(245px,1fr)); gap: 16px; align-items: start; }
.theme-card { overflow: hidden; min-width: 0; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: linear-gradient(180deg, #161922, #10131a); box-shadow: 0 14px 36px rgba(0,0,0,.22); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.theme-card:hover { transform: translateY(-4px); border-color: rgba(150,82,255,.58); box-shadow: 0 20px 45px rgba(0,0,0,.34), 0 0 0 1px rgba(150,82,255,.08); }
.theme-card[hidden] { display: none !important; }

.theme-card-cover { position: relative; height: 168px; display: flex; align-items: flex-end; overflow: hidden; background: radial-gradient(circle at 72% 22%, rgba(221,75,133,.55), transparent 30%), radial-gradient(circle at 25% 88%, rgba(125,70,247,.65), transparent 40%), linear-gradient(135deg,#251d38,#11151d 58%,#202631); }
.theme-card:nth-child(4n+2) .theme-card-cover { background: radial-gradient(circle at 68% 22%, rgba(255,149,31,.48), transparent 30%), radial-gradient(circle at 20% 90%, rgba(114,182,65,.42), transparent 38%), linear-gradient(135deg,#2c2115,#11151b 60%,#24291f); }
.theme-card:nth-child(4n+3) .theme-card-cover { background: radial-gradient(circle at 74% 22%, rgba(66,157,255,.52), transparent 30%), radial-gradient(circle at 17% 84%, rgba(70,197,149,.44), transparent 40%), linear-gradient(135deg,#142638,#10151c 60%,#192c27); }
.theme-card:nth-child(4n) .theme-card-cover { background: radial-gradient(circle at 72% 22%, rgba(236,73,122,.54), transparent 30%), radial-gradient(circle at 18% 88%, rgba(255,173,48,.35), transparent 40%), linear-gradient(135deg,#321827,#11151b 62%,#2a2418); }
.theme-card-cover::before { content:""; position:absolute; z-index:1; inset:0; background: radial-gradient(circle at 60% 30%, rgba(255,255,255,.05), transparent 45%); }
.theme-card-cover::after { content:""; position:absolute; z-index:2; inset:0; background: linear-gradient(180deg, transparent 20%, rgba(6,8,12,.35) 55%, rgba(6,8,12,.9)); }
.theme-card-symbol { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-58%); font-size:82px; font-weight:900; color:rgba(255,255,255,.14); text-shadow:0 10px 35px rgba(0,0,0,.4); }
.theme-card-number { position:absolute; z-index:4; top:12px; left:12px; min-width:30px; height:30px; padding:0 9px; display:grid; place-items:center; border-radius:99px; background:linear-gradient(135deg, var(--tc-purple), var(--tc-purple-2)); color:#fff; font-size:12px; font-weight:800; box-shadow:0 6px 16px rgba(124,49,226,.4); }
.theme-card:nth-child(4n+2) .theme-card-number { background:linear-gradient(135deg,#e07d1c,#ffab3d); box-shadow:0 6px 16px rgba(224,125,28,.4); }
.theme-card:nth-child(4n+3) .theme-card-number { background:linear-gradient(135deg,#2f8f57,#57cf8a); box-shadow:0 6px 16px rgba(47,143,87,.4); }
.theme-card:nth-child(4n) .theme-card-number { background:linear-gradient(135deg,#c53b6e,#ff6aa0); box-shadow:0 6px 16px rgba(197,59,110,.4); }
.theme-card-overlay { position:relative; z-index:3; width:100%; padding:14px 15px; }
.theme-card-label { color:rgba(255,255,255,.72); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.theme-name { margin:4px 0 6px; color:#fff; font-size:21px; line-height:1.15; letter-spacing:-.3px; }
.theme-card-metrics { display:flex; align-items:center; gap:8px; color:#c9cdd6; font-size:11.5px; }
.theme-card-metrics b { color:#fff; font-weight:800; }
.theme-card-metrics .sep { color:rgba(255,255,255,.4); }

.theme-card-body { padding: 14px 15px 15px; }
.theme-progress-row { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.theme-progress { flex:1; height:7px; border-radius:99px; background:rgba(255,255,255,.12); overflow:hidden; }
.theme-progress span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--tc-purple), var(--tc-purple-2)); }
.theme-card:nth-child(4n+2) .theme-progress span { background:linear-gradient(90deg,#e07d1c,#ffab3d); }
.theme-card:nth-child(4n+3) .theme-progress span { background:linear-gradient(90deg,#2f8f57,#57cf8a); }
.theme-card:nth-child(4n) .theme-progress span { background:linear-gradient(90deg,#c53b6e,#ff6aa0); }
.theme-progress-pct { color:#c9cdd6; font-size:12px; font-weight:800; min-width:34px; text-align:right; }

.theme-card-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:9px; }
.theme-card-actions button, .theme-card-actions a { min-height:38px; display:flex; align-items:center; justify-content:center; gap:6px; padding:0 6px; border:1px solid var(--tc-line); border-radius:10px; background:#11141b; color:#c9cdd6; text-decoration:none; font-size:11px; font-weight:700; cursor:pointer; transition:.18s ease; }
.theme-card-actions button:hover, .theme-card-actions a:hover { color:#fff; border-color:rgba(156,91,255,.45); background:rgba(139,70,246,.12); transform:translateY(-1px); }
.theme-card-add { width:100%; min-height:38px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px dashed rgba(156,91,255,.4); border-radius:10px; background:rgba(139,70,246,.07); color:#c6a6ff; text-decoration:none; font-size:11.5px; font-weight:700; cursor:pointer; transition:.18s ease; }
.theme-card-add:hover { background:rgba(139,70,246,.16); color:#fff; border-color:rgba(156,91,255,.7); }

/* liste des sous-thèmes (repliable) */
.theme-sous-wrap { display:none; margin-top:12px; padding-top:2px; border-top:1px solid var(--tc-line); }
.theme-card.sous-open .theme-sous-wrap { display:block; animation:tcFade .2s ease; }
@keyframes tcFade { from { opacity:0; } to { opacity:1; } }
.theme-list-heading { display:flex; justify-content:space-between; align-items:center; padding:10px 0 8px; color:#8f95a4; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sous-theme-list { max-height:230px; overflow-y:auto; list-style:none; margin:0; padding:0 4px 0 0; scrollbar-width:thin; scrollbar-color:#343846 transparent; }
.sous-theme-item { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:38px; padding:8px 2px; border-bottom:1px solid rgba(255,255,255,.065); }
.sous-theme-name { min-width:0; color:#c8ccd5; font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.sous-theme-actions { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.editSousTheme { width:26px; height:26px; display:grid; place-items:center; border-radius:7px; background:rgba(139,70,246,.08); cursor:pointer; }
.edit-icon { width:14px; height:14px; object-fit:contain; filter:brightness(0) saturate(100%) invert(57%) sepia(73%) saturate(3730%) hue-rotate(238deg) brightness(104%); }
.deleteSousTheme { width:26px; height:26px; display:grid; place-items:center; border-radius:7px; color:#ff6277; background:rgba(255,94,112,.07); font-size:20px; cursor:pointer; }
.editSousTheme:hover, .deleteSousTheme:hover { transform:scale(1.05); filter:brightness(1.12); }
.sous-theme-empty { padding:16px 0; color:#717887; font-size:12px; text-align:center; }
.theme-empty, .theme-no-result { grid-column:1/-1; padding:60px 20px; border:1px dashed rgba(255,255,255,.12); border-radius:14px; color:#9298a6; text-align:center; }
.theme-no-result span { display:block; font-size:32px; color:#a96cff; }
.theme-no-result h3 { margin:10px 0 4px; color:#fff; }
.theme-no-result p { margin:0; }

/* ===== VUE LISTE ===== */
.theme-table.is-list { grid-template-columns:1fr; }
.theme-table.is-list .theme-card { display:grid; grid-template-columns:260px 1fr; }
.theme-table.is-list .theme-card-cover { height:100%; min-height:150px; }
@media (max-width: 720px){ .theme-table.is-list .theme-card { grid-template-columns:1fr; } }

/* ===== SUGGESTIONS IA ===== */
.theme-suggestions { display:flex; align-items:center; gap:16px; margin-top:22px; padding:18px 20px; border:1px solid rgba(145,76,255,.28); border-radius:16px; background:linear-gradient(135deg, rgba(139,70,246,.14), rgba(139,70,246,.04)); }
.theme-suggestions-icon { flex:0 0 44px; height:44px; display:grid; place-items:center; border-radius:12px; background:rgba(139,70,246,.24); color:#fff; font-size:20px; }
.theme-suggestions-text strong { display:block; color:#cbb2ff; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.theme-suggestions-text p { margin:4px 0 0; color:var(--tc-muted); font-size:12.5px; }

/* ===== MODALES : TOUJOURS AU CENTRE DE LA FENETRE ===== */
.theme-modal,
.stSug-modal,
.editSousTheme-modal,
.modale-theme-img-overlay {
  display:none;
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  padding:22px !important;
  overflow:auto;
  background:rgba(3,5,9,.78) !important;
  backdrop-filter:blur(8px);
}

.theme-modal-content,
.stSug-modal-content,
.editSousTheme-modal-content,
.modale-theme-img {
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(92vw, 500px) !important;
  max-height:calc(100vh - 44px);
  overflow-y:auto;
  margin:0 !important;
  padding:27px !important;
  border:1px solid rgba(169,91,255,.6) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg, rgba(28,31,42,.98), rgba(15,18,26,.99)) !important;
  color:#fff !important;
  box-shadow:0 30px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(139,70,246,.08), inset 0 1px 0 rgba(255,255,255,.05) !important;
  text-align:left !important;
  animation:tcModalIn .22s ease-out;
}
@keyframes tcModalIn { from { opacity:0; transform:translate(-50%,-47%) scale(.98); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
.theme-modal-close, .stSug-modal-close, .editSousTheme-modal-close, .modale-theme-img-close { position:absolute; top:16px; right:18px; z-index:2; width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:#9da3b2; font-size:24px; line-height:1; cursor:pointer; }
.theme-modal-close:hover, .stSug-modal-close:hover, .editSousTheme-modal-close:hover, .modale-theme-img-close:hover { color:#fff; background:rgba(255,255,255,.06); }
.modal-heading-icon { width:40px; height:40px; display:grid; place-items:center; margin-bottom:13px; border-radius:12px; background:rgba(139,70,246,.16); font-size:20px; }
.theme-modal-content h2, .stSug-modal-content h2, .editSousTheme-modal-content h2, .modale-theme-img h2 { margin:0 38px 6px 0; color:#fff; font-size:22px; }
.modal-description { margin:0 0 22px; color:#969cab; font-size:12px; line-height:1.5; }
.theme-modal-content label, .stSug-modal-content label, .editSousTheme-modal-content label, .modale-theme-img label { display:block; margin:0 0 7px; color:#d8dbe3; font-size:12px; font-weight:700; }
.theme-input, .stSug-input, .editSousTheme-input, .modale-theme-img input[type="text"], .modale-theme-img input[type="file"] { width:100%; min-height:44px; margin:0 0 15px; padding:0 13px; border:1px solid rgba(255,255,255,.11); border-radius:9px; background:#131720; color:#fff; outline:0; font-size:13px; }
.modale-theme-img input[type="file"] { padding:11px; }
.theme-input:focus, .stSug-input:focus, .editSousTheme-input:focus, .modale-theme-img input:focus { border-color:rgba(161,93,255,.72); box-shadow:0 0 0 4px rgba(139,70,246,.09); }
.theme-loader, .loaderModif, .stSug-loader { min-height:58px; display:flex; align-items:center; justify-content:center; margin:5px 0 14px; border:1px solid var(--tc-line); border-radius:9px; background:rgba(255,255,255,.025); }
.theme-loader img, .loaderModif img, .stSug-loader img { width:28px; height:28px; object-fit:contain; }
.theme-error, .themeError, .stSug-error, .editSousTheme-error { margin:0 0 12px; padding:10px 12px; border-radius:8px; background:rgba(255,94,112,.08); color:#ff8494 !important; font-size:12px; }
.theme-submit, .stSug-submit, .editSousTheme-submit, .modale-theme-img-footer { display:flex; justify-content:flex-end; gap:10px; margin-top:10px; }
.btn-theme-add, .stSug-btn, .editSousTheme-btn, .btn-theme-upload { min-height:42px; padding:0 18px; border:0; border-radius:9px; background:linear-gradient(135deg,#7130dc,#9848f4); color:#fff; font-weight:800; cursor:pointer; box-shadow:0 10px 24px rgba(115,44,220,.22); }
.btn-theme-add:hover, .stSug-btn:hover, .editSousTheme-btn:hover, .btn-theme-upload:hover { filter:brightness(1.09); transform:translateY(-1px); }
.btn-theme-cancel { min-height:42px; padding:0 18px; border:1px solid var(--tc-line); border-radius:9px; background:#141821; color:#c6cad4; cursor:pointer; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1500px) {
  .theme-table { grid-template-columns:repeat(3,minmax(245px,1fr)); }
}
@media (max-width: 1160px) {
  :root { --tc-sidebar: 215px; }
  .admin-container { padding:22px 20px 60px; }
  .theme-table { grid-template-columns:repeat(2,minmax(240px,1fr)); }
}
@media (max-width: 820px) {
  :root { --tc-sidebar: 0px; }
  .sidebarAdmin { position:relative; width:100%; height:auto; }
  .sidebarAdmin-inner { padding:12px; }
  .sidebarAdmin-profile, .sidebarAdmin-help, .sidebarAdmin-group h2 { display:none; }
  .sidebarAdmin-scroll { overflow:visible; }
  .sidebarAdmin-group { margin:8px 0 0; }
  .sidebarAdmin-menu { display:flex; gap:7px; overflow-x:auto; padding-bottom:3px; }
  .sidebarAdmin-menu li { flex:0 0 auto; }
  .sidebarAdmin-link { min-height:38px; padding:7px 10px; white-space:nowrap; }
  .sidebarAdmin-brand { padding-bottom:10px; }
  .adminThemeDroit { width:100%; margin-left:0; }
  .theme-section { align-items:flex-start; }
  .theme-topbar .topbar-clock, .theme-topbar .topbar-member small { display:none; }
}
@media (max-width: 680px) {
  .admin-container { padding:18px 14px 45px; }
  .theme-topbar { flex-wrap:wrap; }
  .theme-section, .theme-toolbar { flex-direction:column; align-items:stretch; }
  .btn-open-theme-modal { justify-content:center; }
  .theme-stat-card { min-height:78px; padding:13px; }
  .theme-stat-icon { width:38px; flex-basis:38px; height:38px; }
  .theme-stat-card strong { font-size:20px; }
  .theme-toolbar-actions { justify-content:space-between; }
  .theme-result-count { display:none; }
  .theme-table { grid-template-columns:1fr; }
  .theme-modal, .stSug-modal, .editSousTheme-modal, .modale-theme-img-overlay { padding:12px !important; }
  .theme-modal-content, .stSug-modal-content, .editSousTheme-modal-content, .modale-theme-img { width:calc(100vw - 24px) !important; max-height:calc(100vh - 24px); padding:22px 18px !important; }
}