:root{
  --bg:#f7f8fa;--card:#fff;--ink:#16202a;--muted:#66727d;--line:#e4e8ed;
  --gold:#f6c344;--gold-2:#ffdc7a;--gold-dark:#8a6200;--green:#1f9d55;--red:#e53935;
  --navy:#162532;--shadow:0 8px 24px rgba(18,31,43,.08);--radius:18px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}.app-shell{max-width:760px;margin:0 auto;min-height:100vh;background:var(--bg)}
.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:12px}
.header-logo{width:112px;height:48px;object-fit:contain}.header-title{flex:1}.header-title strong{display:block;font-size:17px}.header-title span{font-size:12px;color:var(--muted)}
.icon-btn{border:0;background:#f0f3f5;border-radius:12px;width:40px;height:40px;cursor:pointer}.main{padding:18px 16px 100px}.hero{background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #f2dfac;border-radius:24px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.hero h1{margin:4px 0 6px;font-size:26px}.hero p{margin:0;color:var(--muted)}
.section-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 10px}.section-title h2{font-size:19px;margin:0}.section-title small{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.session-card{padding:14px 15px;margin-bottom:10px;display:flex;align-items:center;gap:12px;cursor:pointer}.session-accent{width:5px;align-self:stretch;border-radius:8px;background:var(--green)}.session-card.special .session-accent{background:#ef6f6c}.session-main{flex:1}.session-main strong{display:block}.session-main span{font-size:13px;color:var(--muted)}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#edf0f3;padding:4px;border-radius:13px;margin-bottom:14px}.segmented button{border:0;background:transparent;padding:9px;border-radius:10px;cursor:pointer;font-weight:700}.segmented button.active{background:var(--gold)}
.table-card{margin-bottom:10px;overflow:hidden;display:flex;cursor:pointer}.table-color{width:64px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff}.table-body{padding:13px 14px;flex:1}.table-body .top{display:flex;justify-content:space-between;gap:8px}.table-body strong{display:block}.table-body .game{font-size:13px;margin-top:2px}.table-body .players{font-size:13px;color:var(--muted);margin-top:5px}.free{color:var(--green);font-weight:800}.chev{align-self:center;padding-right:14px;color:var(--muted)}
.btn{border:0;border-radius:13px;padding:13px 16px;font-weight:850;cursor:pointer;width:100%}.btn-primary{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#2b250e}.btn-secondary{background:#fff;border:1px solid #cad2d9;color:var(--ink)}.btn-danger{background:#fff2f1;color:#b42318;border:1px solid #fecdca}.btn + .btn{margin-top:9px}
.detail-head{padding:16px;text-align:center;border-radius:18px 18px 0 0;color:white;font-size:22px;font-weight:900}.detail-grid{padding:16px}.info-block{padding:13px 0;border-bottom:1px solid var(--line)}.info-block:last-child{border-bottom:0}.info-block label{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:5px}.player-row{display:flex;align-items:center;gap:10px;padding:7px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#e8edf1;display:grid;place-items:center;font-weight:900}.player-row .meta{flex:1}.player-row small{color:var(--muted)}
.form-card{padding:16px}.field{margin-bottom:14px}.field label{display:block;font-weight:800;font-size:13px;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7de;background:white;border-radius:11px;padding:11px 12px;outline:none}.field textarea{min-height:90px;resize:vertical}.hint{font-size:11px;color:var(--muted);margin-top:5px}.required{color:#d92d20}
.select-list{max-height:470px;overflow:auto}.game-row{display:flex;align-items:center;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.game-row:last-child{border-bottom:0}.game-row:hover{background:#fff9e8}.game-icon{width:32px;height:32px;border-radius:8px;background:#eef1f3;display:grid;place-items:center;margin-right:10px}.search{margin-bottom:12px}.search input{width:100%;border:1px solid #cfd7de;border-radius:12px;padding:12px}
.confirm{padding:28px 20px;text-align:center}.check{width:76px;height:76px;border-radius:50%;background:#eaf8ef;color:var(--green);display:grid;place-items:center;margin:0 auto 12px;font-size:42px;font-weight:900}.confirm h2{margin:0 0 8px}.summary{margin:18px 0;text-align:left;background:#f8fafb;border:1px solid var(--line);border-radius:14px;padding:14px}.summary div{margin:8px 0}.mail-ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px;padding:12px;font-size:13px;margin:14px 0}
.admin-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#edf0f3;padding:4px;border-radius:12px;margin-bottom:14px}.admin-tabs button{border:0;background:transparent;padding:9px;border-radius:9px;font-weight:800}.admin-tabs button.active{background:var(--gold)}.admin-row{display:flex;gap:8px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-row span{flex:1}.mini-btn{border:0;background:#f2f4f6;width:34px;height:34px;border-radius:9px;cursor:pointer}
.empty{padding:24px;text-align:center;color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef1f3;font-size:11px;font-weight:800}.footer-note{margin-top:16px;color:var(--muted);font-size:12px;text-align:center}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;background:#17212b;color:#fff;padding:11px 15px;border-radius:11px;box-shadow:var(--shadow);transition:.25s;z-index:50;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;background:rgba(22,32,42,.35);z-index:40;display:grid;place-items:end center}.modal{width:min(760px,100%);background:#fff;border-radius:22px 22px 0 0;padding:18px 16px 24px;max-height:90vh;overflow:auto}.modal h3{margin-top:0}
@media(min-width:700px){.main{padding-left:24px;padding-right:24px}.modal{border-radius:22px;margin-bottom:20px}}
.admin-link{display:block;text-align:center;text-decoration:none;margin-top:9px}
.admin-version{font-size:11px;color:var(--muted);text-align:center;margin-top:16px}
.status-box{padding:12px;border-radius:12px;margin-bottom:14px;font-size:13px}
.status-ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.status-error{background:#fff1f0;border:1px solid #fda29b;color:#b42318}

/* V1.8 — tables ouvertes */
.open-badge{margin-left:6px;background:#fff4cc;color:#795900;border:1px solid #ead27b;vertical-align:middle}
.open-callout{padding:11px 12px;border-radius:12px;background:#fff8dc;border:1px solid #ead27b;color:#5d4a00;font-size:13px;line-height:1.4;margin-top:8px}
[hidden]{display:none!important}
