/*
 * Ludwig Portfolio V18.1.0 — Control Center Refresh
 * ADMIN/CONTROL ONLY. This file never changes the public header or page layout.
 */

.v181-control-refreshed .v6-control-panel{
  width:min(96vw,1680px)!important;
  max-width:none!important;
  height:min(94vh,1060px)!important;
}

.v181-control-refreshed [data-v6-section="global"]{
  padding:0!important;
}

.v181-control-shell{
  --v181-sidebar:230px;
  display:grid;
  gap:0;
  min-height:100%;
  color:var(--ink);
}

.v181-control-topbar{
  position:sticky;
  top:0;
  z-index:40;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,520px);
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  backdrop-filter:blur(18px);
}

.v181-control-title{
  min-width:0;
  display:grid;
  gap:4px;
}
.v181-control-title strong{
  font:800 15px/1.1 'IBM Plex Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v181-control-title span{
  color:var(--grey);
  font:500 10px/1.45 'IBM Plex Mono',monospace;
}
.v181-control-title b{
  color:var(--accent2,var(--accent));
  font-weight:700;
}

.v181-control-search{
  position:relative;
  display:grid;
  gap:5px;
}
.v181-control-search label{
  color:var(--grey);
  font:700 8px/1 'IBM Plex Mono',monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.v181-control-search input{
  width:100%;
  min-height:42px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--paper2,var(--paper));
  color:var(--ink);
  padding:0 13px;
  outline:none;
}
.v181-control-search input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);
}

.v181-control-layout{
  display:grid;
  grid-template-columns:var(--v181-sidebar) minmax(0,1fr);
  min-height:0;
}

.v181-control-sidebar{
  position:sticky;
  top:80px;
  align-self:start;
  display:grid;
  gap:6px;
  padding:18px 14px;
  border-right:1px solid var(--line);
  background:color-mix(in srgb,var(--paper2,var(--paper)) 86%,transparent);
}

.v181-nav-label{
  margin:4px 8px 8px;
  color:var(--grey);
  font:700 8px/1 'IBM Plex Mono',monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.v181-control-nav{
  display:grid;
  gap:5px;
}
.v181-control-nav button{
  width:100%;
  min-height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--grey);
  padding:0 10px;
  text-align:left;
  cursor:pointer;
  font:700 10px/1.2 'IBM Plex Mono',monospace;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.v181-control-nav button:hover{
  color:var(--ink);
  background:color-mix(in srgb,var(--accent) 6%,transparent);
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
}
.v181-control-nav button.is-active{
  color:var(--ink);
  border-color:color-mix(in srgb,var(--accent) 48%,var(--line));
  background:color-mix(in srgb,var(--accent) 10%,transparent);
}
.v181-control-nav button small{
  min-width:24px;
  height:22px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--grey);
  font:700 8px/1 'IBM Plex Mono',monospace;
}
.v181-control-nav button.is-active small{
  border-color:color-mix(in srgb,var(--accent) 44%,var(--line));
  color:var(--accent2,var(--accent));
}

.v181-sidebar-note{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--grey);
  background:color-mix(in srgb,var(--paper) 72%,transparent);
  font:500 9px/1.55 'IBM Plex Mono',monospace;
}
.v181-sidebar-note strong{display:block;margin-bottom:5px;color:var(--ink);font-size:9px}

.v181-control-workspace{
  min-width:0;
  padding:18px 20px 28px;
}

.v181-category-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:0 2px 14px;
  border-bottom:1px solid var(--line);
}
.v181-category-head h3{
  margin:0;
  color:var(--ink);
  font:800 clamp(18px,2vw,26px)/1 'IBM Plex Mono',monospace;
  letter-spacing:-.035em;
}
.v181-category-head p{
  max-width:720px;
  margin:7px 0 0;
  color:var(--grey);
  font-size:11px;
  line-height:1.55;
}
.v181-category-head span{
  flex:0 0 auto;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--grey);
  font:700 8px/1 'IBM Plex Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.v181-quick{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 16px;
}
.v181-quick button{
  min-height:34px;
  border:1px solid var(--line);
  border-radius:999px;
  background:transparent;
  color:var(--grey);
  padding:0 11px;
  cursor:pointer;
  font:700 8px/1 'IBM Plex Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.v181-quick button:hover{
  color:var(--ink);
  border-color:color-mix(in srgb,var(--accent) 40%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,transparent);
}

.v181-control-stage{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.v181-control-stage>*{min-width:0}
.v181-control-stage>.v11-control-dashboard,
.v181-control-stage>.v11-1-suite,
.v181-control-stage>.v15-control-hub,
.v181-control-stage>.v17-control-panel,
.v181-control-stage>.v18-control-panel,
.v181-control-stage>.v114-control,
.v181-control-stage>.v12-unified-control,
.v181-control-stage>[data-v181-wide="true"]{
  grid-column:1/-1;
}

.v181-control-stage details.v11-1-panel,
.v181-control-stage details.v16-control-panel,
.v181-control-stage details.v62-control-group,
.v181-control-stage .v6-control-card{
  margin:0!important;
  border-color:color-mix(in srgb,var(--line) 88%,transparent)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--paper2,var(--paper)) 94%,transparent)!important;
  box-shadow:none!important;
}

.v181-control-stage details.v11-1-panel>summary,
.v181-control-stage details.v16-control-panel>summary{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:0 15px!important;
  color:var(--ink)!important;
  font:800 10px/1.25 'IBM Plex Mono',monospace!important;
  letter-spacing:.025em;
  text-transform:none!important;
}
.v181-control-stage .v11-1-panel-body{padding:14px 15px 16px!important}

.v181-control-stage .v15-control-commandbar{
  grid-template-columns:minmax(180px,.75fr) minmax(220px,1fr) auto;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--paper) 80%,transparent);
}
.v181-control-stage .v15-control-commandbar strong{font-size:10px}
.v181-control-stage .v15-control-commandbar span{font-size:9px}
.v181-control-stage .v15-quick-actions{gap:6px}

.v181-control-stage .v17-control-tabs{
  position:sticky;
  top:82px;
  z-index:8;
  padding:6px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  backdrop-filter:blur(14px);
}

.v181-category-hidden,
.v181-search-hidden{
  display:none!important;
}

.v181-empty{
  display:none;
  grid-column:1/-1;
  padding:28px;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--grey);
  text-align:center;
  font:600 10px/1.5 'IBM Plex Mono',monospace;
}
.v181-empty.is-visible{display:block}

/* Le champ de recherche V11 reste fonctionnel mais devient secondaire : la
   recherche V18.1 en haut pilote toute la catégorie active. */
.v181-control-refreshed .v11-1-command [data-v11-search]{display:none!important}
.v181-control-refreshed .v11-1-command{flex-wrap:wrap;gap:7px}

/* Enlever le bruit visuel des anciens modes sans supprimer leurs fonctions. */
.v181-control-refreshed .v15-mode-switch{opacity:.78}

html[data-v9-theme=day] .v181-control-topbar,
html[data-v12-theme=day] .v181-control-topbar{
  background:rgba(250,248,253,.94);
}

@media(max-width:1180px){
  .v181-control-shell{--v181-sidebar:190px}
  .v181-control-stage{grid-template-columns:1fr}
  .v181-control-stage>*{grid-column:1!important}
  .v181-control-stage .v15-control-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
  .v181-control-refreshed .v6-control-panel{width:100vw!important;height:100dvh!important;border-radius:0!important}
  .v181-control-topbar{position:relative;grid-template-columns:1fr;padding:14px}
  .v181-control-layout{grid-template-columns:1fr}
  .v181-control-sidebar{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .v181-nav-label,.v181-sidebar-note{display:none}
  .v181-control-nav{display:flex;overflow:auto;scrollbar-width:thin;padding-bottom:2px}
  .v181-control-nav button{width:auto;min-width:max-content;grid-template-columns:auto auto}
  .v181-control-workspace{padding:14px}
  .v181-category-head{display:block}
  .v181-category-head span{display:inline-block;margin-top:10px}
  .v181-control-stage .v15-control-commandbar{grid-template-columns:1fr}
  .v181-control-stage .v15-control-grid{grid-template-columns:1fr}
}
