    html,body{height:100%;overflow:hidden;background:var(--bg)}
    /* ── LOGIN ── */
    .login-screen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:var(--app-vh, 100vh);background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:200}
    .login-screen.hidden{display:none}
    .login-box{background:#fff;border:0.5px solid var(--border);border-radius:18px;padding:32px 36px;width:310px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08)}
    [data-theme="dark"] .login-box{background:#1a1611;border:1px solid var(--gold);box-shadow:0 8px 32px rgba(0,0,0,.4)}
    [data-theme="dark"] .pwd-title{color:var(--gold) !important}
    [data-theme="dark"] .pwd-sub{color:#9a8f7a !important}
    [data-theme="dark"] .pwd-footer{color:#9a8f7a !important}
    [data-theme="dark"] .login-village{color:var(--gold) !important;opacity:.8}
    [data-theme="dark"] .login-input{background:#2a241c !important;border-color:var(--gold) !important;color:var(--gold) !important}
    [data-theme="dark"] .login-input::placeholder{color:#7a705c !important}
    [data-theme="dark"] .login-input:focus{box-shadow:0 0 0 3px rgba(201,168,74,.15) !important}
    .login-logo{font-size:52px;margin-bottom:10px;line-height:1}
    .login-title{font-size:20px;font-weight:500;color:var(--text);margin-bottom:3px}
    .login-village{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text3);margin-bottom:16px}
    .login-lang{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
    .ll-btn{background:#fff;border:0.5px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11px;cursor:pointer;color:var(--text2);font-family:inherit;transition:all .1s}
    .ll-btn.active{background:var(--gold-bg);border-color:var(--gold);color:var(--gold-text);font-weight:500}
    .login-field{margin-bottom:10px;text-align:left}
    .login-field label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:4px}
    .login-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;letter-spacing:.03em}
    .login-input::placeholder{color:var(--text3)}
    .login-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(138,117,96,.12)}
    .login-err{font-size:11px;color:var(--danger);min-height:16px;margin-top:4px;text-align:center}
    .login-btn{width:100%;margin-top:4px;padding:11px;background:var(--text);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s}
    .login-btn:hover{opacity:.85}
    .login-btn:disabled{opacity:.35;cursor:not-allowed}
    /* ── HUB ── */
    .hub-page{width:100%;height:var(--app-vh, 100vh);background:var(--bg);position:relative;overflow:hidden;display:none}
    .hub-page.visible{display:block}
    .header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:11px 24px;z-index:10;background:var(--topbar-bg);border-bottom:2px solid var(--topbar-line)}
    .brand-wrap{display:flex;align-items:center;gap:11px}
    .brand-col{width:30px;height:30px;flex-shrink:0}
    .brand-text{display:flex;flex-direction:column;line-height:1.1}
    .brand-name{font-size:15px;font-weight:500;letter-spacing:.16em;color:#f5edd8}
    .brand-sub{font-size:9px;letter-spacing:.18em;color:var(--topbar-text);text-transform:uppercase;margin-top:2px}
    .site-name{font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--text3);text-transform:uppercase}
    .right-header{display:flex;align-items:center;gap:9px}
    .clock-time{font-size:21px;font-weight:500;color:#f5edd8;text-align:right;line-height:1}
    .clock-date{font-size:10px;color:#9a8f7a;margin-top:3px;text-align:right}
    .theme-toggle{width:30px;height:30px;border-radius:8px;background:rgba(201,168,74,.12);border:0.5px solid var(--topbar-text);color:var(--topbar-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .15s;padding:0}
    .theme-toggle:hover{background:rgba(201,168,74,.25)}
    .go-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border:0.5px solid #d0cac0;border-radius:20px;background:var(--gold-bg);cursor:pointer;height:30px;transition:background .1s}
    .go-badge:hover{background:#e8e0d4}
    .go-avatar{width:18px;height:18px;border-radius:50%;background:var(--gold);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .go-name{font-size:11px;font-weight:500;color:var(--gold-text)}
    .lang-wrap{position:relative;z-index:20}
    .lang-btn{background:#fff;border:0.5px solid #d0cac0;border-radius:8px;cursor:pointer;padding:4px 8px;font-size:12px;display:flex;align-items:center;gap:3px;color:var(--text);font-family:inherit;height:30px}
    .lang-btn:hover{background:var(--bg2)}
    .lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:100;display:none;min-width:130px}
    .lang-dropdown.open{display:block}
    .lang-opt{padding:8px 12px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--text);background:#fff;font-family:inherit}
    .lang-opt:hover{background:var(--bg)}
    .lang-opt.active{font-weight:500;color:var(--gold)}
    .params-btn{background:#fff;border:0.5px solid #d0cac0;border-radius:9px;color:var(--text2);font-size:15px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .15s}
    .params-btn:hover{color:var(--gold)}
    /* Stats wrapper */
    .stats-block{position:absolute;top:108px;left:0;right:0;z-index:2;display:flex;flex-direction:column;gap:0}
    .stats-row{display:flex;align-items:center;justify-content:center;padding:0 30px}
    .stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
    .stat-num{font-size:26px;font-weight:500;color:var(--text);line-height:1}
    .stat-num.gold{color:var(--gold)}
    .stat-lbl{font-size:10px;letter-spacing:.1em;color:var(--text3);text-transform:uppercase}
    .stat-sep{width:1px;height:26px;background:var(--border);flex-shrink:0}
    /* Indicateurs opérationnels (2e ligne) */
    .indic-row{display:flex;align-items:center;justify-content:center;padding:8px 30px 0;margin-top:8px;border-top:0.5px solid var(--border)}
    .indic-item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;cursor:default}
    .indic-num{font-size:18px;font-weight:500;color:var(--text);line-height:1}
    .indic-num.warn{color:var(--warn)}
    .indic-num.danger{color:var(--danger)}
    .indic-num.info{color:#3a7bd5}
    .indic-lbl{font-size:9px;letter-spacing:.08em;color:var(--text3);text-transform:uppercase;white-space:nowrap}
    .indic-sep{width:1px;height:18px;background:var(--border);flex-shrink:0}
    .booklet-wrap{position:absolute;top:238px;left:50%;transform:translateX(-50%);z-index:2}
    .booklet-pill{display:flex;align-items:center;gap:8px;background:var(--surface);border:0.5px solid var(--border);border-radius:50px;padding:4px 11px}
    .bk-label{font-size:9px;letter-spacing:.1em;color:var(--text3);text-transform:uppercase;padding:0 2px}
    .bk-input{background:var(--bg2);border:0.5px solid var(--border);border-radius:6px;font-size:15px;font-weight:500;color:var(--text);width:42px;text-align:center;font-family:inherit;padding:1px 3px}
    .bk-input:focus{outline:1px solid var(--gold)}
    .bk-input::placeholder{color:var(--text3)}
    .pill-btn{background:var(--gold-bg);border:0.5px solid var(--border2);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--gold);cursor:pointer}
    .pill-btn:hover{background:var(--border)}
    .center-text{position:absolute;top:300px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;user-select:none;z-index:0}
    [data-theme="dark"] .center-text img{opacity:.28!important;filter:brightness(1.6)}
    /* ── Correctifs mode sombre : panneau paramètres (roue dentée) ── */
    /* Force les fonds blancs en dur à devenir sombres dans le modal paramètres */
    [data-theme="dark"] #params-step .modal,
    [data-theme="dark"] #params-step [style*="background:#fff"],
    [data-theme="dark"] #params-step [style*="background: #fff"]{ background:var(--surface) !important; }
    /* Champs de saisie (textarea, input) du panneau : fond sombre + texte clair lisible */
    [data-theme="dark"] #params-step textarea,
    [data-theme="dark"] #params-step input[type="text"],
    [data-theme="dark"] #params-step input[type="number"],
    [data-theme="dark"] #params-step input:not([type]){
      background:#2a241c !important; color:var(--text) !important; border-color:var(--border) !important;
    }
    [data-theme="dark"] #params-step textarea::placeholder,
    [data-theme="dark"] #params-step input::placeholder{ color:#7a705c !important; }
    .center-clubmed{font-size:76px;font-weight:500;color:#e2ddd6;letter-spacing:.04em;line-height:1;white-space:nowrap}
    .center-reception{font-size:14px;font-weight:500;letter-spacing:.35em;color:var(--text3);text-transform:uppercase;margin-top:12px;white-space:nowrap;text-indent:.35em}
    .arc-zone{position:absolute;bottom:0;left:0;right:0;height:290px;z-index:2}
    /* ── Barre de recherche du hub ── */
    #hsearch-host{position:absolute;top:62%;left:52%;transform:translate(-50%,-50%);width:min(560px,90vw);z-index:6}
    #hsearch-wrap{display:flex;align-items:center;gap:10px;background:var(--surface,#fff);border:0.5px solid var(--border2,#d0cac0);border-radius:50px;padding:13px 20px;transition:box-shadow .15s,border-color .15s}
    #hsearch-wrap.focused{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-bg)}
    .hsearch-loupe{font-size:19px;color:var(--text3)}
    .hsearch-grip{font-size:16px;color:var(--text3);cursor:grab;opacity:.5;transition:opacity .15s}
    .hsearch-grip:hover{opacity:1}
    .hsearch-grip:active{cursor:grabbing}
    #hsearch-input{flex:1;border:none;background:transparent;outline:none;font-size:15px;color:var(--text);font-family:inherit}
    #hsearch-input::placeholder{color:var(--text3)}
    #hsearch-clear{font-size:17px;color:var(--text3);cursor:pointer;display:none}
    #hsearch-clear:hover{color:var(--text)}
    #hsearch-results{display:none;margin-top:12px;background:var(--surface,#fff);border:0.5px solid var(--border);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.12);max-height:min(420px,52vh);overflow-y:auto}
    .hsr-count{font-size:11px;color:var(--text3);padding:10px 16px 4px;font-weight:500}
    .hsr-loading,.hsr-empty{padding:20px 16px;text-align:center;color:var(--text3);font-size:14px}
    .hsr-item{display:flex;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;border-top:0.5px solid var(--border)}
    .hsr-item:hover{background:var(--bg)}
    .hsr-ic{width:34px;height:34px;border-radius:9px;background:var(--gold-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold-text);font-size:16px}
    .hsr-main{flex:1;min-width:0}
    .hsr-top{font-size:14px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .hsr-room{color:var(--gold-text)}
    .hsr-dim{color:var(--text2)}
    .hsr-sub{font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
    .hsr-arrow{font-size:15px;color:var(--text3);flex-shrink:0}
    #hsearch-results mark{background:var(--gold-bg);color:var(--gold-text);padding:0 1px;border-radius:2px}
    @media (max-width:640px){ #hsearch-host{display:none} }
    .arc-btn{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;background:none;border:none;text-decoration:none;color:inherit;transform:translateX(-50%);transition:transform .18s}
    .arc-btn:hover{transform:translateX(-50%) translateY(-5px)}
    .arc-icon{width:62px;height:62px;border-radius:16px;background:var(--surface);border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:26px;transition:border-color .15s}
    .arc-btn:hover .arc-icon{border-color:#b0a89880}
    .arc-label{font-size:13px;font-weight:500;color:var(--text2);text-align:center;max-width:96px;line-height:1.3}
    .arc-key{font-size:10px;color:var(--text3);background:var(--bg2);border-radius:4px;padding:1px 5px;margin-top:-3px}
    .arc-count{position:absolute;top:-5px;right:calc(50% - 38px);min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#8a3a4a;color:#fff;border:2px solid var(--bg);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(0,0,0,.18)}
    /* Overlay */
    .overlay{display:none;position:fixed;inset:0;background:rgba(244,242,238,.93);z-index:150;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
    .overlay.active{display:flex}
    /* Séminaires */
    .sem-overlay{display:none;position:fixed;inset:0;z-index:180;background:rgba(24,20,17,.58);backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:20px}
    .sem-overlay.open{display:flex}
    .sem-modal{width:min(760px,100%);max-height:min(780px,92vh);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.28);display:flex;flex-direction:column}
    .sem-head{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
    .sem-kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a3a4a;font-weight:700;margin-bottom:5px}
    .sem-title{font-size:21px;font-weight:600;color:var(--text)}
    .sem-sub{font-size:12px;color:var(--text3);margin-top:4px}
    .sem-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;font-size:17px}
    .sem-list{padding:18px 22px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
    .sem-empty{padding:42px 24px;text-align:center;border:1px dashed var(--border);border-radius:14px;color:var(--text3);font-size:13px}
    .sem-card{border:1px solid var(--border);border-radius:15px;background:var(--bg2);padding:15px 16px;display:grid;grid-template-columns:1fr auto;gap:12px 16px}
    .sem-card.is-now{border-color:#8a3a4a;background:color-mix(in srgb,#8a3a4a 7%,var(--surface))}
    .sem-card-title{font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .sem-status{font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:20px;background:#eee8df;color:#6b625a;font-weight:700}
    .sem-status.now{background:#8a3a4a;color:#fff}
    .sem-date{font-size:12px;color:var(--text2);margin-top:5px;display:flex;align-items:center;gap:6px}
    .sem-meta{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}
    .sem-chip{font-size:11px;color:var(--text2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px}
    .sem-note{grid-column:1/-1;font-size:12px;line-height:1.55;color:var(--text2);padding-top:10px;border-top:1px solid var(--border);white-space:pre-wrap}
    .sem-pdf{align-self:start;border:none;border-radius:9px;background:#8a3a4a;color:#fff;padding:9px 12px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}
    .sem-pdf:disabled{background:var(--border);color:var(--text3);cursor:default}
    .mega-editor{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface);display:flex;flex-direction:column;gap:9px}
    .mega-editor-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
    .mega-editor-grid.details{grid-template-columns:1fr 1fr 1fr}
    .mega-editor input,.mega-editor textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:7px 9px;font-size:12px;font-family:inherit;color:var(--text);background:var(--bg2)}
    .mega-editor textarea{min-height:58px;resize:vertical}
    .mega-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .mega-archive{font-size:10px;color:var(--text3);margin-left:auto}
    @media(max-width:700px){
      html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
      .hub-page{height:auto;min-height:var(--app-vh, 100vh);overflow:visible;padding-bottom:24px}
      .header{position:fixed;padding:8px 10px;height:58px;box-sizing:border-box}
      .brand-wrap{gap:7px}.brand-col{width:28px;height:28px}.brand-name{font-size:13px}.brand-sub{font-size:7px}
      .right-header{gap:5px}.right-header>div:first-child{display:none}
      .go-badge{height:29px;padding:3px 8px}.go-avatar{width:19px;height:19px}.go-name{font-size:10px;max-width:62px;overflow:hidden;text-overflow:ellipsis}
      .theme-toggle,.lang-btn,.params-btn{width:29px;height:29px;padding:0;justify-content:center}.lang-btn{font-size:10px}
      #guide-btn{display:none!important}
      .stats-block{position:relative;top:auto;padding-top:102px;gap:0}
      .stats-row{padding:0 10px}.stat-num{font-size:22px}.stat-lbl{font-size:8px;letter-spacing:.06em}.stat-sep{height:25px}
      .indic-row{padding:9px 8px 0;margin-top:9px}.indic-num{font-size:16px}.indic-lbl{font-size:7px;letter-spacing:.02em;white-space:normal;text-align:center;line-height:1.2}.indic-sep{height:22px}
      .booklet-wrap{position:relative;top:auto;left:auto;transform:none;display:flex;justify-content:center;margin-top:20px}
      .booklet-pill{padding:5px 11px}.bk-input{font-size:14px}
      .center-text{display:none}
      .arc-zone{position:relative;inset:auto;height:auto;margin:26px auto 0;padding:0 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 8px;max-width:480px;box-sizing:border-box}
      .arc-btn{position:relative!important;left:auto!important;top:auto!important;transform:none!important;gap:6px;width:100%;min-width:0}
      .arc-btn:hover{transform:none!important}.arc-icon{width:54px;height:54px;border-radius:15px;font-size:23px}.arc-label{font-size:11px;max-width:100%;min-height:28px;display:flex;align-items:flex-start;justify-content:center}.arc-key{display:none}.arc-count{right:calc(50% - 35px);top:-6px}
      #online-menu{position:relative!important;inset:auto!important;transform:none!important;display:flex;justify-content:center;margin:18px auto 0;width:max-content}
      #online-btn{padding:7px 13px;font-size:11px}#online-count{font-size:11px!important}#online-list{position:absolute;right:0;bottom:calc(100% + 6px);margin:0!important}
      .postit-tab{position:relative!important;inset:auto!important;margin:14px auto 0;justify-content:center;pointer-events:auto}
      .postit-trigger{position:relative!important;inset:auto!important}
      .sem-card{grid-template-columns:1fr}.sem-pdf{grid-row:auto}.mega-editor-grid,.mega-editor-grid.details{grid-template-columns:1fr}.sem-head,.sem-list{padding-left:15px;padding-right:15px}
    }
    @media(max-width:370px){
      .brand-sub,.go-name{display:none}.arc-zone{padding:0 8px;gap:15px 4px}.arc-icon{width:50px;height:50px}.arc-label{font-size:10px}
    }
    /* Sync dot */
    .sync-dot{position:fixed;bottom:12px;left:12px;width:8px;height:8px;border-radius:50%;background:var(--success);z-index:99;transition:background .3s;display:none}
    .hub-page.visible ~ .sync-dot{display:block}
  
  /* Modal création mot de passe */
  .pwd-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:var(--app-vh, 100vh);background:rgba(42,37,32,0.55);z-index:500;align-items:center;justify-content:center}
  .pwd-overlay.open{display:flex}
  .pwd-modal{background:#fff;border-radius:16px;width:100%;max-width:380px;overflow:hidden;margin:16px}
  .pwd-modal-body{padding:28px}
  .pwd-icon{width:48px;height:48px;border-radius:14px;background:#f5ede0;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:22px}
  .pwd-title{font-size:18px;font-weight:500;color:#2a2520;margin-bottom:6px}
  .pwd-sub{font-size:13px;color:#6a6058;margin-bottom:22px;line-height:1.5}
  .pwd-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
  .pwd-field label{font-size:11px;font-weight:500;color:#6a6058;text-transform:uppercase;letter-spacing:.06em}
  .pwd-input-wrap{position:relative}
  .pwd-input-wrap input{width:100%;padding:10px 40px 10px 12px;border:0.5px solid #d8d2c8;border-radius:8px;font-size:14px;background:#f4f2ee;color:#2a2520;font-family:inherit;outline:none}
  .pwd-input-wrap input:focus{border-color:#2a2520;background:#fff}
  .pwd-input-wrap input.ok{border-color:#6fcb9a;background:#f6fbf8}
  .pwd-input-wrap input.err{border-color:#f09595;background:#fff5f5}
  .pwd-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6a6058;font-size:15px;padding:0;display:flex}
  .pwd-match{display:none;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:12px;margin-bottom:14px}
  .pwd-match.ok{display:flex;background:#e6f4ea;border:0.5px solid #6fcb9a;color:#0f6e56}
  .pwd-match.err{display:flex;background:#fff1f0;border:0.5px solid #f09595;color:#a32d2d}
  .pwd-submit{width:100%;padding:12px;background:#2a2520;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}
  .pwd-submit:hover{opacity:.85}
  .pwd-submit:disabled{opacity:.4;cursor:default}
  .pwd-footer{font-size:11px;color:#6a6058;text-align:center;margin-top:10px;line-height:1.5}

