/* ═══════════════════════════════════════════════════════════════════════════
   NOTRE REFUGE · V58
   Gérer — vrai master/detail
   ═══════════════════════════════════════════════════════════════════════════ */

#app[data-world="settings"] .topbar,
#app[data-world="settings"] .topnav,
#app[data-world="settings"] .footer{
  display:none!important;
}

#world-settings{
  background:var(--paper);
}

.manage-shell--master-detail{
  min-height:100%;
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  background:var(--paper);
}

/* ===== MASTER / PC ===== */
.manage-master{
  position:sticky;
  top:0;
  height:100dvh;
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:18px 14px;
  overflow-y:auto;
  border-right:1px solid color-mix(in srgb,var(--ink) 9%,transparent);
  background:color-mix(in srgb,var(--paper-warm) 94%,var(--paper));
}

.manage-master__header{
  display:grid;
  gap:20px;
}

.manage-master__back{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--paper);
  color:var(--ink);
  cursor:pointer;
}

.manage-master__back span{
  color:var(--wine);
}

.manage-master__back strong{
  font:700 .68rem var(--font-body);
}

.manage-master__title{
  padding:0 8px;
}

.manage-master__title small{
  color:var(--terra);
  font:800 .5rem var(--font-body);
  letter-spacing:.16em;
}

.manage-master__title h2{
  margin:4px 0 0;
  font:500 1.9rem/1 var(--font-display);
}

.manage-master__groups{
  display:grid;
  gap:9px;
}

.manage-master__group{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--paper) 76%,transparent);
}

.manage-master__group-head{
  width:100%;
  min-height:56px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}

.manage-master__group-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--terra-tint);
  color:var(--terra);
}

.manage-master__group-head>span:nth-child(2){
  display:grid;
  gap:2px;
}

.manage-master__group-head strong{
  font:720 .72rem var(--font-body);
}

.manage-master__group-head small{
  color:var(--ink-muted);
  font:.57rem var(--font-body);
}

.manage-master__group-head b{
  color:var(--ink-faint);
  font:400 1rem var(--font-display);
  transition:transform .16s ease;
}

.manage-master__group.is-open{
  background:var(--paper);
  border-color:color-mix(in srgb,var(--terra) 18%,var(--line));
}

.manage-master__group.is-open .manage-master__group-head b{
  transform:rotate(90deg);
}

.manage-master__children{
  display:none;
  padding:0 8px 8px 56px;
}

.manage-master__group.is-open .manage-master__children{
  display:grid;
  gap:3px;
}

.manage-master__children button{
  min-height:34px;
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink-muted);
  text-align:left;
  cursor:pointer;
}

.manage-master__children button span{
  color:var(--terra);
  font-size:.72rem;
}

.manage-master__children button strong{
  font:650 .62rem var(--font-body);
}

.manage-master__children button.is-on{
  background:var(--terra-soft);
  color:var(--terra);
}

.manage-master__device{
  margin-top:auto;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid color-mix(in srgb,var(--gold) 24%,var(--line));
  border-radius:11px;
  background:var(--paper);
  color:var(--ink);
  cursor:pointer;
}

.manage-master__device span{
  color:var(--terra);
  font-size:1rem;
}

.manage-master__device strong{
  font:700 .65rem var(--font-body);
}

/* ===== DETAIL ===== */
.manage-detail{
  min-width:0;
  min-height:100dvh;
  background:var(--paper);
}

.manage-detail__topbar{
  position:sticky;
  top:0;
  z-index:25;
  min-height:58px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 40px;
  align-items:center;
  gap:8px;
  padding:8px clamp(18px,3vw,32px);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);
  background:var(--paper);
}

.manage-detail__back{
  display:none;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper);
  color:var(--wine);
  cursor:pointer;
}

.manage-detail__title{
  min-width:0;
  display:grid;
  gap:1px;
}

.manage-detail__title small{
  color:var(--terra);
  font:800 .48rem var(--font-body);
  letter-spacing:.14em;
}

.manage-detail__title strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:700 .8rem var(--font-body);
}

.manage-detail__home{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper);
  color:var(--terra);
  cursor:pointer;
}

.manage-detail__content{
  width:min(980px,100%);
  margin:0 auto;
  padding:34px clamp(20px,4vw,44px) 76px!important;
  background:transparent!important;
}

/* ===== HUBS / REGLAGES NATIFS ===== */
.settings-group{
  display:grid;
  gap:7px;
}

.settings-group>h4{
  margin:0 0 2px 4px;
  color:var(--ink-muted);
  font:800 .52rem var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.settings-group__rows{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--paper);
}

.settings-row{
  width:100%;
  min-height:68px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}

.settings-row:last-child{
  border-bottom:0;
}

.settings-row:hover{
  background:color-mix(in srgb,var(--paper-warm) 48%,transparent);
}

.settings-row__icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--terra-tint);
  color:var(--terra);
}

.settings-row__copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.settings-row__copy strong{
  font:720 .74rem var(--font-body);
}

.settings-row__copy small{
  color:var(--ink-muted);
  font:.61rem/1.35 var(--font-body);
}

.settings-row em{
  padding:3px 7px;
  border-radius:999px;
  background:var(--sage-soft);
  color:var(--sage-deep);
  font:700 .52rem var(--font-body);
  font-style:normal;
}

.settings-row>b{
  color:var(--ink-ghost);
  font:400 1.05rem var(--font-display);
}

.settings-status-line{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:color-mix(in srgb,var(--paper-warm) 55%,var(--paper));
}

.settings-status-line>span{
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--gold);
}

.settings-status-line.is-ok>span{
  background:var(--sage);
}

.settings-status-line>div{
  display:grid;
  gap:1px;
}

.settings-status-line strong{
  font:700 .7rem var(--font-body);
}

.settings-status-line small{
  color:var(--ink-muted);
  font:.59rem var(--font-body);
}

.settings-add-device,
.settings-connect-cloud{
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
}

.settings-add-device>header{
  margin-bottom:11px;
}

.settings-add-device>header small{
  color:var(--terra);
  font:800 .5rem var(--font-body);
  letter-spacing:.13em;
}

.settings-add-device>header h4{
  margin:4px 0 0;
  font:500 1rem var(--font-display);
}

.settings-connect-cloud{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.settings-connect-cloud>div{
  display:grid;
  gap:2px;
}

.settings-connect-cloud strong{
  font:700 .7rem var(--font-body);
}

.settings-connect-cloud small{
  color:var(--ink-muted);
  font:.59rem var(--font-body);
}

/* ===== MOBILE : UNE LISTE, PUIS LE DETAIL ===== */
@media(max-width:900px){
  #app[data-world="settings"] > .mobilenav{
    display:none!important;
  }

  .manage-shell--master-detail{
    display:block;
    min-height:100%;
  }

  .manage-master{
    position:static;
    height:auto;
    min-height:100dvh;
    padding:14px 12px 34px;
    border-right:0;
    background:var(--paper);
  }

  .manage-master__header{
    gap:20px;
  }

  .manage-master__back{
    width:max-content;
    min-height:40px;
  }

  .manage-master__title{
    padding:0 2px;
  }

  .manage-master__title h2{
    font-size:2rem;
  }

  .manage-master__groups{
    gap:9px;
  }

  .manage-master__group{
    border-radius:15px;
    background:var(--paper);
  }

  .manage-master__group-head{
    min-height:72px;
    grid-template-columns:44px minmax(0,1fr) auto;
    padding:11px 12px;
  }

  .manage-master__group-icon{
    width:44px;
    height:44px;
    border-radius:12px;
  }

  .manage-master__group-head strong{
    font-size:.78rem;
  }

  .manage-master__group-head small{
    font-size:.61rem;
  }

  /* Sur mobile, la liste principale reste fermée : on clique sur une rubrique
     pour ouvrir sa page dédiée, pas de sous-menu imbriqué dans la même page. */
  .manage-master__children{
    display:none!important;
  }

  .manage-master__device{
    margin-top:8px;
    min-height:50px;
  }

  .manage-detail{
    display:none;
  }

  /* Dès qu'une page/rubrique est ouverte, le master disparaît et le detail prend tout. */
  .manage-shell--master-detail:has(.manage-detail__content[data-manage-page]:not([data-manage-page="overview"])) .manage-master{
    display:none;
  }

  .manage-shell--master-detail:has(.manage-detail__content[data-manage-page]:not([data-manage-page="overview"])) .manage-detail{
    display:block;
  }

  .manage-detail__topbar{
    min-height:58px;
    padding:8px 10px;
  }

  .manage-detail__back{
    display:grid;
  }

  .manage-detail__content{
    width:100%;
    padding:18px 11px 42px!important;
  }

  .settings-row{
    min-height:72px;
    grid-template-columns:40px minmax(0,1fr) auto auto;
    padding:11px 12px;
  }

  .settings-row__icon{
    width:40px;
    height:40px;
  }

  .settings-row__copy strong{
    font-size:.76rem;
  }

  .settings-row__copy small{
    font-size:.61rem;
  }

  .settings-add-device,
  .settings-connect-cloud{
    padding:12px;
  }

  .cloud-quick-add__people{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:480px){
  .manage-master,
  .manage-detail__content{
    padding-inline:10px!important;
  }

  .settings-row{
    grid-template-columns:38px minmax(0,1fr) auto;
  }

  .settings-row>b{
    display:none;
  }

  .settings-row em{
    grid-column:2/4;
    width:max-content;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   V56 · TOUTES LES PAGES DE GÉRER
   ═══════════════════════════════════════════════════════════════════════════ */

.settings__page{
  display:grid;
  gap:18px;
}

.settings__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin:0!important;
  padding:0 0 20px;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);
}

.settings__head-copy{
  min-width:0;
  display:grid;
  gap:5px;
}

.settings__head-copy>small{
  color:var(--terra);
  font:800 .54rem var(--font-body);
  letter-spacing:.17em;
}

.settings__head-copy h3{
  margin:0!important;
  font:500 clamp(1.65rem,2.5vw,2.3rem)/1.03 var(--font-display)!important;
}

.settings__head-copy p{
  max-width:70ch;
  margin:0!important;
  color:var(--ink-muted)!important;
  font:.76rem/1.55 var(--font-body)!important;
}

.settings__autosave{
  flex:0 0 auto;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid color-mix(in srgb,var(--sage) 18%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--sage) 5%,var(--paper));
  color:var(--sage-deep);
  font:.6rem var(--font-body);
}

.settings__autosave b{
  font-weight:700;
}

.settings__body{
  display:grid;
  gap:16px;
}

.settings__card{
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ink) 9%,var(--line))!important;
  border-radius:18px!important;
  background:var(--paper)!important;
  box-shadow:none!important;
}

.settings__card-head{
  padding:16px 18px 13px;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  background:color-mix(in srgb,var(--paper-warm) 48%,var(--paper));
}

.settings__card-head h4{
  margin:0!important;
  font:650 .91rem var(--font-body)!important;
}

.settings__card-head p{
  max-width:72ch;
  margin:4px 0 0!important;
  color:var(--ink-muted)!important;
  font:.67rem/1.45 var(--font-body)!important;
}

.settings__card-body{
  padding:17px 18px;
}

.manage-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

/* ---------- Profil ---------- */
.manage-profile-layout{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:14px;
}

.manage-profile-identity{
  grid-row:span 2;
  display:grid;
  align-content:start;
  justify-items:center;
  gap:16px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--terra) 8%,transparent),transparent 45%),
    color-mix(in srgb,var(--paper-warm) 60%,var(--paper));
  text-align:center;
}

.manage-profile-identity__photo{
  display:grid;
  justify-items:center;
  gap:8px;
}

.manage-profile-identity__photo .profile-photo{
  width:132px!important;
  height:132px!important;
}

.manage-profile-identity__photo>span{
  color:var(--ink-faint);
  font:.6rem var(--font-body);
}

.manage-profile-identity__copy{
  display:grid;
  gap:4px;
}

.manage-profile-identity__copy small{
  color:var(--terra);
  font:800 .5rem var(--font-body);
  letter-spacing:.15em;
}

.manage-profile-identity__copy h4{
  margin:0;
  font:500 1.45rem var(--font-display);
}

.manage-profile-identity__copy p{
  margin:0;
  color:var(--ink-muted);
  font:.7rem/1.5 var(--font-body);
}

.field-grid--profile{
  grid-template-columns:1fr 1fr!important;
}

.manage-profile-media{
  min-height:0!important;
}

/* ---------- Notre lien ---------- */
.manage-relationship-summary,
.manage-category-summary,
.manage-calendar-summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:color-mix(in srgb,var(--paper-warm) 62%,var(--paper));
}

.manage-relationship-summary>span,
.manage-category-summary>span,
.manage-calendar-summary>span{
  display:grid;
  min-width:92px;
  gap:1px;
  padding-right:14px;
  border-right:1px solid var(--line);
}

.manage-relationship-summary strong,
.manage-category-summary strong,
.manage-calendar-summary strong{
  color:var(--wine);
  font:500 1.35rem var(--font-display);
}

.manage-relationship-summary small,
.manage-category-summary small,
.manage-calendar-summary small{
  color:var(--ink-muted);
  font:.56rem var(--font-body);
}

.manage-relationship-summary p,
.manage-category-summary p,
.manage-calendar-summary p{
  margin:0;
  color:var(--ink-muted);
  font:.68rem/1.45 var(--font-body);
}

.manage-milestones-list{
  display:grid;
  gap:9px;
}

.manage-milestone{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--paper);
}

.manage-milestone__main{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
}

.manage-milestone__identity{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,190px);
  gap:8px;
}

.manage-milestone__details{
  border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
}

.manage-milestone__details summary{
  padding:9px 13px;
  color:var(--ink-muted);
  font:700 .62rem var(--font-body);
  cursor:pointer;
}

.manage-milestone__details .milestone__options{
  padding:12px 13px 14px;
}

.manage-add-card{
  display:grid;
  gap:13px;
  padding:17px;
  border:1px dashed color-mix(in srgb,var(--gold) 42%,var(--line));
  border-radius:17px;
  background:color-mix(in srgb,var(--gold) 4%,var(--paper));
}

.manage-add-card header{
  display:grid;
  gap:3px;
}

.manage-add-card header small{
  color:var(--terra);
  font:800 .5rem var(--font-body);
  letter-spacing:.15em;
}

.manage-add-card header h4{
  margin:0;
  font:500 1.05rem var(--font-display);
}

.manage-add-card header p{
  margin:0;
  color:var(--ink-muted);
  font:.65rem var(--font-body);
}

/* ---------- Catégories ---------- */
.manage-category-summary{
  grid-template-columns:auto auto minmax(0,1fr);
}

.manage-category-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}

.settings__page--shared .row-list{
  display:grid;
  gap:8px;
}

.settings__page--shared .row--category,
.settings__page--calendar .row--category{
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--paper-warm) 45%,var(--paper));
  padding:10px!important;
}

/* ---------- Calendrier ---------- */
.manage-calendar-summary{
  grid-template-columns:auto auto minmax(0,1fr);
}

.settings-calendar-sources{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:9px!important;
}

.calendar-source{
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:var(--paper)!important;
  padding:10px!important;
}

.calendar-source__color{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
}

/* ---------- Médias ---------- */
.settings__page--media .media-overview{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.settings__page--media .media-stat{
  min-height:90px;
  padding:13px!important;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
}

.settings__page--media .media-toolbar{
  position:sticky;
  top:111px;
  z-index:12;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--paper);
}

.settings__page--media .media-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.settings__page--media .media-card{
  border-radius:15px!important;
  overflow:hidden;
}

/* ---------- Appareils ---------- */
.manage-device-stack{
  display:grid;
  gap:14px;
}

.settings__page--device .pwa-install,
.settings__page--device .device-add,
.settings__page--cloudHub .cloud-quick-add{
  margin:0!important;
  border-radius:18px!important;
}

.device-cloud-list{
  display:grid;
  gap:8px!important;
}

.device-cloud-card{
  min-height:70px!important;
  padding:11px 12px!important;
  border-radius:13px!important;
}

/* ---------- Ambiance ---------- */
.settings__page--appearance .ambience-studio{
  display:grid!important;
  gap:14px!important;
}

.settings__page--appearance .device-adapt{
  margin:0!important;
  border-radius:17px!important;
}

.settings__page--appearance .ambience-studio__hero{
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;
  gap:14px!important;
}

.settings__page--appearance .ambience-studio__intro,
.settings__page--appearance .ambience-lab__stage{
  min-height:300px!important;
  border-radius:17px!important;
}

.settings__page--appearance .ambience-studio__controls{
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr!important;
  gap:10px!important;
}

.settings__page--appearance .ambience-panel{
  margin:0!important;
  border-radius:16px!important;
}

/* ---------- Synchronisation ---------- */
.settings__page--sync .sync-panel,
.settings__page--sync .sync-status,
.settings__page--sync .sync-live-card,
.settings__page--sync .e2e-status{
  border-radius:15px!important;
}

.settings__page--sync .settings__body{
  gap:12px;
}

.settings__page--sync .sync-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.settings__page--sync details{
  border-radius:13px;
}

/* ---------- Sécurité ---------- */
.manage-security-status{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:color-mix(in srgb,var(--paper-warm) 58%,var(--paper));
}

.manage-security-status>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--gold-soft);
  color:var(--gold);
}

.manage-security-status.is-on>span{
  background:var(--sage-soft);
  color:var(--sage-deep);
}

.manage-security-status>div{
  display:grid;
  gap:2px;
}

.manage-security-status small{
  color:var(--ink-faint);
  font:800 .5rem var(--font-body);
  letter-spacing:.14em;
}

.manage-security-status strong{
  font:720 .76rem var(--font-body);
}

.manage-security-status p{
  margin:0;
  color:var(--ink-muted);
  font:.63rem var(--font-body);
}

.manage-security-toggle{
  margin:0!important;
}

.manage-password-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.manage-password-grid .field:first-child{
  grid-column:1/-1;
}

/* ---------- Sauvegardes ---------- */
.settings__page--backups .backup-simple-hero{
  margin:0!important;
  border-radius:18px!important;
}

.settings__page--backups .backup-explain{
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}

.settings__page--backups .backup-import-panel,
.settings__page--backups .backup-secure-box{
  border-radius:16px!important;
}

.settings__page--backups .backup-advanced{
  margin-top:0!important;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--paper);
}

.settings__page--backups .backup-advanced>summary{
  padding:13px 15px;
  font:700 .68rem var(--font-body);
}

/* ---------- commun : contrôles plus confortables ---------- */
.settings__page .control{
  min-height:42px;
}

.settings__page textarea.control{
  min-height:90px;
}

.settings__page .btn{
  min-height:40px;
}

.settings__page .field-grid{
  gap:10px!important;
}

.settings__page .check-line,
.settings__page .source{
  min-height:44px;
}

/* ---------- tablette ---------- */
@media(max-width:1080px){
  .manage-profile-layout{
    grid-template-columns:230px minmax(0,1fr);
  }

  .manage-category-columns{
    grid-template-columns:1fr;
  }

  .settings-calendar-sources{
    grid-template-columns:1fr;
  }

  .settings__page--media .media-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .settings__page--appearance .ambience-studio__controls{
    grid-template-columns:1fr 1fr!important;
  }

  .settings__page--appearance .ambience-panel--presence{
    grid-column:1/-1;
  }
}

/* ---------- MOBILE : chaque page retravaillée ---------- */
@media(max-width:900px){
  .settings__page{
    gap:13px;
  }

  .settings__head{
    display:grid;
    gap:9px;
    padding-bottom:14px;
  }

  .settings__head-copy{
    gap:4px;
  }

  .settings__head-copy h3{
    font-size:1.45rem!important;
  }

  .settings__head-copy p{
    font-size:.7rem!important;
    line-height:1.48;
  }

  .settings__autosave{
    width:max-content;
    min-height:27px;
    padding-inline:8px;
  }

  .settings__autosave b{
    font-size:.56rem;
  }

  .settings__card{
    border-radius:15px!important;
  }

  .settings__card-head{
    padding:13px 14px 10px;
  }

  .settings__card-body{
    padding:13px 14px;
  }

  .manage-profile-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  .manage-profile-identity{
    grid-row:auto;
    grid-template-columns:88px minmax(0,1fr);
    justify-items:start;
    align-items:center;
    gap:14px;
    padding:14px;
    text-align:left;
  }

  .manage-profile-identity__photo .profile-photo{
    width:82px!important;
    height:82px!important;
  }

  .manage-profile-identity__photo>span{
    display:none;
  }

  .field-grid--profile{
    grid-template-columns:1fr!important;
  }

  .manage-relationship-summary,
  .manage-category-summary,
  .manage-calendar-summary{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    padding:11px 12px;
  }

  .manage-category-summary>span:nth-child(2),
  .manage-calendar-summary>span:nth-child(2){
    border-right:0;
  }

  .manage-category-summary p,
  .manage-calendar-summary p{
    grid-column:1/-1;
    padding-top:8px;
    border-top:1px solid var(--line);
  }

  .manage-milestone__main{
    grid-template-columns:44px minmax(0,1fr);
    gap:8px;
  }

  .manage-milestone__identity{
    grid-template-columns:1fr;
  }

  .manage-milestone__main>.badge,
  .manage-milestone__main>[data-ms-delete]{
    grid-column:2;
    justify-self:start;
  }

  .milestone__new{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .milestone__new #ms-new-date,
  .milestone__new #ms-add{
    grid-column:1/-1;
  }

  .manage-category-columns{
    grid-template-columns:1fr;
    gap:10px;
  }

  .settings__page--shared .row--category,
  .settings__page--calendar .row--category{
    grid-template-columns:42px minmax(0,1fr)!important;
  }

  .row--category>.nr-color-field,
  .row--category>.row__actions,
  .row--category>.nr-cat-transfer{
    grid-column:1/-1!important;
  }

  .settings-calendar-sources{
    grid-template-columns:1fr;
  }

  .calendar-source{
    padding:9px!important;
  }

  .settings__page--media .media-overview{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .settings__page--media .media-stat{
    min-height:76px;
  }

  .settings__page--media .media-toolbar{
    position:static;
    padding:9px!important;
  }

  .settings__page--media .media-grid{
    grid-template-columns:1fr!important;
  }

  .device-add__people,
  .cloud-quick-add__people{
    grid-template-columns:1fr!important;
  }

  .device-cloud-card{
    grid-template-columns:42px minmax(0,1fr)!important;
  }

  .device-cloud-card__action{
    grid-column:1/-1!important;
    justify-self:stretch!important;
  }

  .device-cloud-card__action .btn{
    width:100%;
  }

  .settings__page--appearance .ambience-studio__hero{
    grid-template-columns:1fr!important;
  }

  .settings__page--appearance .ambience-studio__intro{
    min-height:0!important;
    padding:15px!important;
  }

  /* Sur mobile l'aperçu reste utile mais beaucoup plus compact. */
  .settings__page--appearance .ambience-lab__stage{
    min-height:210px!important;
  }

  .settings__page--appearance .ambience-studio__controls{
    grid-template-columns:1fr!important;
  }

  .settings__page--appearance .ambience-panel--presence{
    grid-column:auto;
  }

  .settings__page--sync .sync-status,
  .settings__page--sync .sync-live-card{
    grid-template-columns:36px minmax(0,1fr)!important;
  }

  .settings__page--sync .sync-status>strong,
  .settings__page--sync .sync-status>span:last-child,
  .settings__page--sync .sync-live-card>.btn{
    grid-column:1/-1!important;
  }

  .manage-password-grid{
    grid-template-columns:1fr;
  }

  .manage-password-grid .field:first-child{
    grid-column:auto;
  }

  .settings__page--backups .backup-simple-hero{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }

  .settings__page--backups .backup-simple-hero__seal{
    display:none!important;
  }

  .settings__page--backups .backup-simple-hero__actions{
    grid-template-columns:1fr!important;
  }

  .settings__page--backups .backup-explain{
    grid-template-columns:1fr!important;
  }

  .settings__page--backups .backup-modes{
    grid-template-columns:1fr!important;
  }

  .backup-sections{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .settings__card-head,
  .settings__card-body{
    padding-inline:12px;
  }

  .manage-profile-identity{
    grid-template-columns:72px minmax(0,1fr);
  }

  .manage-profile-identity__photo .profile-photo{
    width:68px!important;
    height:68px!important;
  }

  .settings__page--media .media-overview{
    grid-template-columns:1fr 1fr;
  }

  .manage-card-actions .btn,
  .settings__page .sync-actions .btn{
    width:100%;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   V59 · GÉRER — adaptation PC réelle
   Le PC n'est plus une version mobile étirée.
   ═══════════════════════════════════════════════════════════════════════════ */

@media(min-width:901px){
  .manage-shell--master-detail{
    grid-template-columns:264px minmax(0,1fr)!important;
  }

  .manage-master{
    width:264px;
    padding:18px 12px!important;
  }

  /* Sur PC la barre mobile-like au-dessus du contenu n'apporte rien.
     Le titre de la page fait office d'en-tête. */
  .manage-detail__topbar{
    display:none!important;
  }

  .manage-detail{
    min-width:0;
    width:100%;
  }

  /* Utiliser réellement tout l'espace disponible à droite du rail. */
  .manage-detail__content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:42px clamp(34px,3.6vw,66px) 90px!important;
  }

  .settings__page{
    width:100%;
    max-width:1480px;
    margin:0;
  }

  .settings__head{
    min-height:104px;
    align-items:flex-start!important;
    padding:0 0 24px!important;
  }

  .settings__head-copy{
    max-width:880px;
  }

  .settings__head-copy h3{
    font-size:clamp(2rem,2.25vw,2.65rem)!important;
  }

  .settings__head-copy p{
    max-width:78ch!important;
    font-size:.8rem!important;
  }

  .settings__autosave{
    margin-top:6px;
  }

  /* Les cartes et champs ont une densité adaptée à la souris et au grand écran. */
  .settings__card-head{
    padding:17px 20px 14px!important;
  }

  .settings__card-body{
    padding:19px 20px!important;
  }

  .settings__page .control{
    min-height:44px;
  }

  /* PROFIL : vraie fiche + édition côte à côte */
  .manage-profile-layout{
    grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;
    grid-template-areas:
      "identity info"
      "identity media";
    gap:16px!important;
    align-items:start;
  }

  .manage-profile-identity{
    grid-area:identity;
    position:sticky;
    top:34px;
    min-height:430px;
    align-content:center!important;
  }

  .manage-profile-layout>.settings__card:nth-of-type(1){
    grid-area:info;
  }

  .manage-profile-layout>.settings__card:nth-of-type(2){
    grid-area:media;
  }

  /* NOTRE LIEN : repères en deux colonnes au lieu d'une colonne étroite. */
  .settings__page--relationship .manage-milestones-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }

  .settings__page--relationship .manage-milestone{
    min-width:0;
  }

  .settings__page--relationship .manage-add-card{
    margin-top:2px;
  }

  .manage-milestone__main{
    grid-template-columns:54px minmax(0,1fr)!important;
  }

  .manage-milestone__main>.badge,
  .manage-milestone__main>[data-ms-delete]{
    grid-column:2;
    justify-self:start;
  }

  .manage-milestone__identity{
    grid-template-columns:minmax(0,1fr) minmax(150px,185px)!important;
  }

  /* CATÉGORIES : Envies/Horizons côte à côte. */
  .manage-category-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }

  /* CALENDRIER : les sources occupent réellement le grand écran. */
  .settings-calendar-sources{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .settings__page--calendar>.settings__body{
    grid-template-columns:minmax(0,1.5fr) minmax(360px,.8fr);
    align-items:start;
  }

  .settings__page--calendar .manage-calendar-summary{
    grid-column:1/-1;
  }

  /* MÉDIAS : densité desktop plus utile. */
  .settings__page--media .media-overview{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .settings__page--media .media-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  /* APPAREILS : installation/ajout et liste peuvent cohabiter sur PC. */
  .settings__page--device .manage-device-stack{
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
    align-items:start;
    gap:16px!important;
  }

  .settings__page--device .manage-device-stack>.pwa-install,
  .settings__page--device .manage-device-stack>.device-add{
    grid-column:1;
  }

  .settings__page--device .manage-device-stack>.settings__card,
  .settings__page--device .manage-device-stack>.device-cloud-list{
    grid-column:2;
  }

  /* AMBIANCE : aperçu et réglages réellement horizontaux. */
  .settings__page--appearance .ambience-studio__hero{
    grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr)!important;
  }

  .settings__page--appearance .ambience-studio__controls{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  /* SYNCHRONISATION : états à gauche, diagnostic/actions à droite. */
  .settings__page--sync .settings__body{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:14px!important;
  }

  .settings__page--sync .settings__body>.settings__card:first-child,
  .settings__page--sync .settings__body>.sync-panel:first-child{
    grid-column:1/-1;
  }

  /* SÉCURITÉ : statut en pleine largeur puis deux cartes. */
  .settings__page--security .settings__body{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }

  .settings__page--security .manage-security-status{
    grid-column:1/-1;
  }

  /* SAUVEGARDES : export/import côte à côte sur desktop. */
  .settings__page--backups .settings__body{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:14px!important;
  }

  .settings__page--backups .backup-simple-hero{
    grid-column:1/-1;
  }

  .settings__page--backups .backup-advanced{
    grid-column:1/-1;
  }

  /* Hubs desktop : restent simples mais exploitent la largeur. */
  .settings-group__rows{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
  }

  .settings-group__rows .settings-row{
    border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  }

  .settings-group__rows .settings-row:nth-child(odd){
    border-right:1px solid color-mix(in srgb,var(--ink) 7%,transparent);
  }

  .settings-group__rows .settings-row:last-child:nth-child(odd){
    grid-column:1/-1;
    border-right:0;
  }

  /* Appareils & Cloud a des contenus plus complexes : garde une seule colonne. */
  .settings__page--cloudHub .settings-group__rows{
    grid-template-columns:1fr;
  }

  .settings__page--cloudHub .settings-row{
    border-right:0!important;
  }
}

/* Écran PC large : encore un peu plus d'espace et médias 5 colonnes. */
@media(min-width:1500px){
  .manage-detail__content{
    padding-left:58px!important;
    padding-right:58px!important;
  }

  .settings__page--media .media-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  .settings-calendar-sources{
    grid-template-columns:repeat(3,minmax(240px,1fr))!important;
  }
}

/* Petit PC / fenêtre réduite : ne pas forcer les doubles colonnes trop tôt. */
@media(min-width:901px) and (max-width:1180px){
  .manage-shell--master-detail{
    grid-template-columns:230px minmax(0,1fr)!important;
  }

  .manage-master{
    width:230px;
  }

  .manage-detail__content{
    padding:30px 26px 70px!important;
  }

  .settings__page--relationship .manage-milestones-list,
  .settings__page--security .settings__body,
  .settings__page--backups .settings__body,
  .manage-category-columns{
    grid-template-columns:1fr!important;
  }

  .settings-calendar-sources{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .settings__page--media .media-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   V60 · CORRECTION PC — CALENDRIER / CATÉGORIES
   Corrige le débordement visible dans la capture V59.
   ═══════════════════════════════════════════════════════════════════════════ */

@media(min-width:901px){

  /* Le calendrier n'est plus forcé dans une colonne gauche + panneau trop étroit.
     Chaque bloc prend toute la largeur utile, donc aucun formulaire n'est rogné. */
  .settings__page--calendar > .settings__body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    align-items:start!important;
  }

  .settings__page--calendar .manage-calendar-summary,
  .settings__page--calendar > .settings__body > .settings__card{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
  }

  /* Sources automatiques : grille propre 3 colonnes, puis 2 si fenêtre réduite. */
  .settings__page--calendar .settings-calendar-sources{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .settings__page--calendar .calendar-source{
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
  }

  .settings__page--calendar .calendar-source__text{
    min-width:0!important;
  }

  .settings__page--calendar .calendar-source__text strong,
  .settings__page--calendar .calendar-source__text small{
    overflow-wrap:anywhere;
  }

  /* Les catégories ont leur propre layout desktop.
     On ne réutilise plus la grille générique .row qui exigeait ~500 px minimum. */
  .settings__page--calendar .row--category,
  .settings__page--shared .row--category{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) minmax(210px,260px) auto!important;
    gap:12px!important;
    align-items:start!important;
    min-width:0!important;
    width:100%!important;
    padding:13px!important;
  }

  .settings__page--calendar .row--category > *,
  .settings__page--shared .row--category > *{
    min-width:0!important;
  }

  .settings__page--calendar .row--category .nr-color-field.is-inline,
  .settings__page--shared .row--category .nr-color-field.is-inline{
    min-width:0!important;
    width:100%!important;
  }

  .settings__page--calendar .row--category .nr-color-trigger,
  .settings__page--shared .row--category .nr-color-trigger{
    width:100%!important;
    min-width:0!important;
  }

  .settings__page--calendar .row--category .row__actions,
  .settings__page--shared .row--category .row__actions{
    width:auto!important;
    display:flex!important;
    grid-template-columns:none!important;
    justify-content:flex-end!important;
    align-self:center!important;
  }

  .settings__page--calendar .row--category .row__actions .btn,
  .settings__page--shared .row--category .row__actions .btn{
    width:auto!important;
  }

  .settings__page--calendar .row--category .nr-cat-transfer,
  .settings__page--shared .row--category .nr-cat-transfer{
    grid-column:2/-1!important;
    padding-left:0!important;
  }

  /* La page Catégories peut garder Envies/Horizons côte à côte,
     mais ses lignes se replient à l'intérieur de chaque panneau. */
  .manage-category-columns .row--category{
    grid-template-columns:44px minmax(0,1fr)!important;
  }

  .manage-category-columns .row--category > .nr-color-field,
  .manage-category-columns .row--category > .row__actions,
  .manage-category-columns .row--category > .nr-cat-transfer{
    grid-column:2!important;
  }

  .manage-category-columns .row--category > .row__actions{
    justify-content:flex-start!important;
  }

  /* Résumé calendrier : ne jamais pousser le texte hors écran. */
  .manage-calendar-summary{
    grid-template-columns:auto auto minmax(0,1fr)!important;
    min-width:0!important;
  }

  .manage-calendar-summary p{
    min-width:0!important;
    overflow-wrap:anywhere;
  }
}

/* PC intermédiaire : deux sources par ligne, catégories toujours pleine largeur. */
@media(min-width:901px) and (max-width:1250px){
  .settings__page--calendar .settings-calendar-sources{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .settings__page--calendar .row--category{
    grid-template-columns:44px minmax(0,1fr)!important;
  }

  .settings__page--calendar .row--category > .nr-color-field,
  .settings__page--calendar .row--category > .row__actions,
  .settings__page--calendar .row--category > .nr-cat-transfer{
    grid-column:2!important;
  }

  .settings__page--calendar .row--category > .row__actions{
    justify-content:flex-start!important;
  }
}

/* Très large : on limite la longueur visuelle des formulaires sans créer un panneau étroit. */
@media(min-width:1500px){
  .settings__page--calendar > .settings__body > .settings__card{
    max-width:1320px!important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   V61 · GÉRER — lisibilité + vraie composition desktop
   Corrige les pages Appareils, Synchronisation, Sécurité et la typo générale.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---------- lisibilité commune ---------- */
#world-settings{
  --settings-text:15px;
  --settings-small:13px;
  --settings-label:12px;
}

#world-settings .settings__page,
#world-settings .settings__card,
#world-settings .manage-detail,
#world-settings .manage-master{
  font-size:var(--settings-text);
}

#world-settings .settings__head-copy p,
#world-settings .settings__card-head p,
#world-settings .settings-note,
#world-settings .settings-row__copy small,
#world-settings .manage-master__group-head small,
#world-settings .manage-security-status p,
#world-settings .sync-foundation__hero p,
#world-settings .sync-live-card p,
#world-settings .device-add__intro p,
#world-settings .pwa-install__intro p,
#world-settings .device-cloud-card small{
  font-size:var(--settings-small)!important;
  line-height:1.5!important;
}

#world-settings .field label,
#world-settings .field>span,
#world-settings .calendar-source__color>span,
#world-settings .manage-security-status small,
#world-settings .sync-foundation__hero small,
#world-settings .sync-live-card small,
#world-settings .device-add__intro small,
#world-settings .pwa-install__intro>small{
  font-size:var(--settings-label)!important;
}

#world-settings .control,
#world-settings input,
#world-settings select,
#world-settings textarea{
  font-size:15px!important;
}

#world-settings .btn{
  font-size:14px!important;
}

#world-settings .settings__card-head h4{
  font-size:17px!important;
}

#world-settings .settings__head-copy h3{
  font-size:clamp(34px,2.45vw,44px)!important;
}

/* ---------- PC ---------- */
@media(min-width:901px){

  /* Rail plus lisible, mais sans prendre trop de place. */
  .manage-shell--master-detail{
    grid-template-columns:280px minmax(0,1fr)!important;
  }

  .manage-master{
    width:280px!important;
    padding:18px 14px!important;
  }

  .manage-master__title h2{
    font-size:32px!important;
  }

  .manage-master__group-head{
    min-height:66px!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
  }

  .manage-master__group-icon{
    width:42px!important;
    height:42px!important;
  }

  .manage-master__group-head strong{
    font-size:14px!important;
  }

  .manage-master__group-head small{
    font-size:12px!important;
  }

  .manage-master__children{
    padding-left:60px!important;
  }

  .manage-master__children button{
    min-height:38px!important;
  }

  .manage-master__children button strong{
    font-size:12.5px!important;
  }

  /* Le contenu exploite l'écran, mais reste cadré pour garder une lecture nette. */
  .manage-detail__content{
    width:100%!important;
    max-width:none!important;
    padding:42px clamp(34px,3.8vw,72px) 90px!important;
  }

  .settings__page{
    width:100%!important;
    max-width:1420px!important;
    margin:0 auto!important;
  }

  .settings__body{
    gap:18px!important;
  }

  /* ---------------------------------------------------------------
     APPAREILS
     --------------------------------------------------------------- */
  .settings__page--device .manage-device-stack{
    display:grid!important;
    grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }

  .settings__page--device .pwa-install{
    grid-column:1/-1!important;
    width:100%!important;
  }

  .settings__page--device .device-add{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
  }

  .settings__page--device .manage-device-stack>.settings__card,
  .settings__page--device .device-cloud-list{
    grid-column:2!important;
    width:100%!important;
  }

  .settings__page--device .device-add__people{
    gap:12px!important;
  }

  .settings__page--device .device-cloud-card{
    min-height:84px!important;
    padding:14px 15px!important;
  }

  /* ---------------------------------------------------------------
     SYNCHRONISATION
     L'ancienne page restait coincée dans une colonne à gauche.
     On donne ici une vraie grille desktop à ses propres enfants.
     --------------------------------------------------------------- */
  .settings__page--sync .settings__body{
    display:block!important;
  }

  .settings__page--sync .sync-foundation{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }

  .settings__page--sync .sync-foundation__hero,
  .settings__page--sync .sync-live-card{
    grid-column:auto!important;
    min-width:0!important;
    width:100%!important;
    min-height:150px!important;
  }

  .settings__page--sync .sync-conflicts{
    grid-column:1/-1!important;
  }

  .settings__page--sync .sync-foundation>.settings__card,
  .settings__page--sync .sync-foundation>.sync-panel,
  .settings__page--sync .sync-foundation>.e2e-status{
    min-width:0!important;
    width:100%!important;
  }

  .settings__page--sync .settings__card{
    max-width:none!important;
  }

  .settings__page--sync #sync-endpoint{
    min-height:48px!important;
  }

  .settings__page--sync .sync-actions{
    gap:9px!important;
  }

  .settings__page--sync .sync-actions .btn{
    min-height:42px!important;
  }

  /* ---------------------------------------------------------------
     SÉCURITÉ
     --------------------------------------------------------------- */
  .settings__page--security .settings__body{
    display:grid!important;
    grid-template-columns:minmax(330px,.72fr) minmax(560px,1.28fr)!important;
    gap:18px!important;
    align-items:start!important;
  }

  .settings__page--security .manage-security-status{
    grid-column:1/-1!important;
    min-height:78px!important;
  }

  .settings__page--security .settings__card{
    min-width:0!important;
  }

  .settings__page--security .settings__card:nth-of-type(1){
    grid-column:1!important;
  }

  .settings__page--security .settings__card:nth-of-type(2){
    grid-column:2!important;
    grid-row:2 / span 2!important;
  }

  .settings__page--security .settings__card:nth-of-type(3){
    grid-column:1!important;
  }

  .settings__page--security .manage-password-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .settings__page--security .manage-password-grid .field:first-child{
    grid-column:1/-1!important;
  }

  /* ---------------------------------------------------------------
     CALENDRIER / CATÉGORIES
     --------------------------------------------------------------- */
  .settings__page--calendar .settings-calendar-sources{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .settings__page--calendar .calendar-source{
    min-height:180px!important;
  }

  .settings__page--calendar .row--category,
  .settings__page--shared .row--category{
    font-size:14px!important;
  }

  /* ---------------------------------------------------------------
     PROFIL / LIEN / SAUVEGARDES
     --------------------------------------------------------------- */
  .manage-profile-identity__copy p,
  .manage-milestone__details,
  .backup-simple-hero p,
  .backup-explain p{
    font-size:13px!important;
    line-height:1.5!important;
  }
}

/* Fenêtre desktop plus étroite : aucune grille ne doit s'écraser. */
@media(min-width:901px) and (max-width:1280px){
  .manage-shell--master-detail{
    grid-template-columns:250px minmax(0,1fr)!important;
  }

  .manage-master{
    width:250px!important;
  }

  .settings__page--device .manage-device-stack,
  .settings__page--security .settings__body,
  .settings__page--sync .sync-foundation{
    grid-template-columns:1fr!important;
  }

  .settings__page--device .pwa-install,
  .settings__page--device .device-add,
  .settings__page--device .manage-device-stack>.settings__card,
  .settings__page--device .device-cloud-list,
  .settings__page--security .manage-security-status,
  .settings__page--security .settings__card,
  .settings__page--sync .sync-foundation>*{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .settings__page--calendar .settings-calendar-sources{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile : texte lisible sans gonfler inutilement l'interface. */
@media(max-width:900px){
  #world-settings{
    --settings-text:15px;
    --settings-small:13px;
    --settings-label:11px;
  }

  #world-settings .settings__head-copy h3{
    font-size:28px!important;
  }

  #world-settings .settings__card-head h4{
    font-size:16px!important;
  }

  #world-settings .btn,
  #world-settings .control,
  #world-settings input,
  #world-settings select,
  #world-settings textarea{
    font-size:14px!important;
  }
}
