:root{--bg:#090d12;--panel:#111720;--panel2:#0d131b;--line:#25303d;--text:#f3f6f8;--muted:#8d9aaa;--accent:#d7ff43;--cyan:#6ed7ff;--danger:#ff6f78}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 0,#13202c 0,transparent 30%),var(--bg);color:var(--text);font:15px/1.5 Inter,Segoe UI,Arial,sans-serif}header{height:74px;border-bottom:1px solid #18212b;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1180px)/2));background:#0a0f15cc;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;font-size:18px}.logo b,.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent);color:#0b0f13;font-size:13px}.version,.eyebrow,small{color:var(--muted);font-size:12px}.wrap{max-width:1180px;margin:auto;padding:70px 28px}.narrow{max-width:1000px}.hero{max-width:760px;margin-bottom:46px}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.13em}.hero h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-.055em;margin:14px 0 24px}.hero h1 span{color:#9aa7b4}.hero>p:last-child{font-size:18px;color:#a9b4c0;max-width:660px}.grid{display:grid;grid-template-columns:1.5fr .8fr;gap:22px}.panel{background:linear-gradient(145deg,#121923,#0d131b);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 60px #0003}.panel-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:28px}.panel-head h2,.panel h2{margin:0 0 4px;font-size:22px}.panel-head p{margin:0;color:var(--muted)}.step{font:700 12px monospace;border:1px solid #394552;border-radius:20px;padding:5px 9px;color:var(--accent)}label{display:block;font-weight:650;margin:0 0 16px}label small{font-weight:400}input,textarea{width:100%;margin-top:7px;background:#090f16;border:1px solid #303b49;border-radius:10px;color:#fff;padding:13px 14px;font:inherit;outline:none}input:focus,textarea:focus{border-color:#738238;box-shadow:0 0 0 3px #d7ff4312}fieldset{border:0;padding:0;margin:0 0 18px}legend{font-weight:650;margin-bottom:8px}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.types label{margin:0}.types input{position:absolute;opacity:0;pointer-events:none}.types span{min-height:78px;border:1px solid #2d3845;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:2px;color:#aeb8c2;cursor:pointer}.types b{color:#fff}.types small{font-weight:400}.types input:checked+span{border-color:var(--accent);background:#d7ff430b;color:var(--accent)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary,.secondary,.ghost,.actions button,.actions a{border:0;border-radius:10px;padding:13px 17px;font-weight:800;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block}.primary{width:100%;background:var(--accent);color:#0a0e12;display:flex;justify-content:space-between;margin-top:4px}.secondary,.actions button,.actions a,.ghost{background:#1b2531;color:#fff;border:1px solid #344151}.secondary{width:100%}.manage-box{align-self:start;position:sticky;top:96px}.rule{height:1px;background:var(--line);margin:26px 0}.muted{color:var(--muted)}.mini-list{display:grid;gap:10px;margin-top:22px}.mini-list span{border-top:1px solid #202b36;padding-top:10px;color:#c3ccd5}.status{margin-top:14px;padding:10px 12px;border-radius:8px;background:#38191d;color:#ffb4b8}.status.ok{background:#102b20;color:#77e6aa}.hidden{display:none!important}.result{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.warning{background:#2a250b;border:1px solid #635812;color:#ffe66b;padding:12px;border-radius:9px;margin-bottom:18px}.result-grid,.qr-admin{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center}.result img,.qr-admin img{width:190px;background:#fff;border-radius:14px;padding:10px}.result code,.qr-admin code{display:block;overflow:auto;background:#090f16;border:1px solid #2d3946;padding:11px;border-radius:8px;margin:5px 0 13px;color:#dbe6ef}.actions{display:flex;gap:8px;flex-wrap:wrap}.back{color:var(--muted)}.admin-title{font-size:46px;margin:10px 0 0}.login{max-width:560px;margin-top:40px}.admin-top{display:flex;justify-content:space-between;align-items:start}.admin-top h2{font-size:30px;margin-top:8px}.pill{display:inline-block;border:1px solid #5c2930;color:#ff8c93;border-radius:20px;padding:3px 8px;font-size:11px}.pill.on{border-color:#245c3d;color:#5fe39a}.grow{min-width:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.stats div{border:1px solid #293542;border-radius:12px;padding:18px}.stats strong{display:block;font-size:24px}.stats span{color:var(--muted);font-size:12px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.public-page{min-height:100vh;display:grid;place-items:center;padding:24px}.public-card{width:min(620px,100%);background:#111720;border:1px solid #273442;border-radius:20px;padding:40px}.public-card h1{font-size:40px;margin:18px 0 6px}.lead{color:#aab6c1}.avatar{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#101418;font-weight:900;font-size:22px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.contact-actions a{background:#1b2531;color:#fff;text-decoration:none;border:1px solid #344151;padding:13px;border-radius:9px;text-align:center}.content-text{white-space:normal;font-size:18px;color:#d6dde4}.note{border-top:1px solid var(--line);padding-top:20px}.public-foot{margin-top:35px;color:#697786;font-size:12px}footer{max-width:1180px;margin:0 auto;padding:0 28px 50px;color:#596674;font-size:12px}@media(max-width:800px){.grid{grid-template-columns:1fr}.manage-box{position:static}.types{grid-template-columns:1fr}.two{grid-template-columns:1fr}.result-grid,.qr-admin{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero h1{font-size:52px}.wrap{padding-top:45px}}
select{width:100%;background:#0c1119;color:#eef3f8;border:1px solid #303b4d;border-radius:10px;padding:13px}.trap{position:absolute!important;left:-99999px!important;opacity:0!important}details{border:1px solid #293446;border-radius:12px;padding:14px;margin:14px 0}summary{cursor:pointer;font-weight:800;color:#b7e43d}input[type=color]{height:48px;padding:4px}.hero h1 span{color:#b7e43d}.version{color:#b7e43d;font-weight:800}.primary{background:#b7e43d!important;color:#0b0f14!important}.step{color:#b7e43d!important}.logo b{background:#b7e43d!important;color:#0b0f14!important}

.wifi-qr{display:block;width:min(280px,80%);margin:24px auto;background:#fff;padding:12px;border-radius:14px}.contact-actions button,.rescue{background:#1b2531;color:#fff;text-decoration:none;border:1px solid #344151;padding:13px;border-radius:9px;text-align:center;font:inherit;font-weight:700;cursor:pointer}.analytics-box{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.analytics-box b{color:var(--text)}.legal h2{margin-top:30px}.legal-mini{margin-top:22px}footer a{color:var(--muted)}.admin-load{align-self:end;margin-bottom:16px}.table-wrap{overflow:auto;margin-top:24px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:12px}td button{background:#2b171a;color:#ff9ba2;border:1px solid #5b2c32;border-radius:7px;padding:7px 10px;cursor:pointer}

.info-card{border:1px solid var(--line);border-radius:14px;padding:18px;margin:22px 0}.info-card small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;margin-top:12px}.info-card small:first-child{margin-top:0}.password-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.password-row code{font-size:18px;word-break:break-all;flex:1}.password-row button{background:#1b2531;color:#fff;border:1px solid #344151;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}
.logo-editor{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.danger-zone{margin-top:32px;padding:20px;border:1px solid #5b2c32;border-radius:12px;background:#241316}.danger-zone h3{margin-top:0}.danger-btn{background:#3a171b;color:#ffb0b5;border:1px solid #75343c;border-radius:9px;padding:11px 14px;font-weight:800;cursor:pointer}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(520px,100%);background:#111720;border:1px solid #394554;border-radius:18px;padding:28px;box-shadow:0 30px 90px #0008}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}

.preset-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.preset,.preset-create{background:#151e28;color:#dce5ed;border:1px solid #334150;border-radius:999px;padding:8px 11px;cursor:pointer}.readability{padding:10px 12px;border-radius:9px;margin:8px 0 16px;font-weight:750}.readability.good{background:#102b20;color:#77e6aa}.readability.warn{background:#31280d;color:#ffe279}.readability.bad{background:#38191d;color:#ffb4b8}.modal-open{overflow:hidden}.preview-shell{position:relative;width:min(92vw,900px);height:min(92vh,900px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0c121acc;border:1px solid #3b4856;border-radius:22px;padding:28px;backdrop-filter:blur(20px);box-shadow:0 35px 120px #000}.preview-shell img{max-width:min(76vw,720px);max-height:72vh;background:white;border-radius:16px;box-shadow:0 18px 70px #0008}.preview-close{position:absolute;right:16px;top:12px;width:42px;height:42px;border-radius:50%;border:1px solid #3b4856;background:#151e28;color:#fff;font-size:25px;cursor:pointer}.primary-download{background:var(--accent);color:#0b0f14;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:900}.preview-actions{display:flex;justify-content:center}@media(max-width:600px){.preview-shell{width:100vw;height:100vh;border-radius:0}.preview-shell img{max-width:90vw;max-height:75vh}}

/* Beta 2.6 — moderation / reports */
.terms-check{margin:14px 0}.terms-check a{font-weight:700}.admin-stats{grid-template-columns:repeat(5,minmax(110px,1fr))}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;min-width:230px}.admin-actions button{padding:8px 10px}.warning-btn{border:1px solid #d8a900;background:rgba(216,169,0,.12);color:#f4cf4f}.state-bad{color:#ff7474;font-weight:800}.state-warn{color:#f4cf4f;font-weight:800}.moderation-bad{background:rgba(255,70,70,.14)!important;color:#ff7777!important;border-color:rgba(255,70,70,.35)!important}.report-card form{text-align:left}.report-card textarea{resize:vertical}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.public-foot a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:850px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-actions{min-width:170px}}

/* Beta 2.7 — UX refresh */
a{color:#c9f24a;text-decoration:none;text-underline-offset:4px;transition:color .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}a:hover{color:#e4ff86}.legal a,.terms-check a,.public-foot a,footer a{color:#b7e43d;text-decoration:none;border-bottom:1px solid #b7e43d55}.legal a:hover,.terms-check a:hover,.public-foot a:hover,footer a:hover{border-bottom-color:#b7e43d;color:#dcff68}.nav-home{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #2c3947;border-radius:999px;background:#121a24;color:#cbd5df;font-weight:750;font-size:14px}.nav-home span{font-size:18px;color:var(--accent)}.nav-home:hover{background:#1a2531;border-color:#536272;color:#fff}.accent-action{background:var(--accent)!important;color:#0b0f14!important;border-color:transparent!important}.manage-toolbar{position:sticky;top:78px;z-index:20;margin:-12px -12px 24px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#101720e8;border:1px solid #2c3947;border-radius:14px;backdrop-filter:blur(18px);box-shadow:0 12px 35px #0005}.save-state{display:flex;align-items:center;gap:9px;color:#aeb9c4;font-size:13px;font-weight:750}.save-state #saveDot{width:9px;height:9px;border-radius:50%;background:#58d68d;box-shadow:0 0 0 4px #58d68d12}.save-state #saveDot.saving{background:#e7c84b}.save-state #saveDot.dirty{background:#d8a900}.save-state #saveDot.error{background:#ff6f76}.toolbar-actions{display:flex;gap:8px}.toolbar-save,.toolbar-delete{border-radius:9px;padding:9px 13px;font-weight:800;cursor:pointer}.toolbar-save{background:var(--accent);color:#0a0e12;border:1px solid transparent}.toolbar-delete{background:#211417;color:#ff9da4;border:1px solid #5b2c32}.manage-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.qr-live{position:sticky;top:160px}.qr-live-card{border:1px solid #2b3744;background:#0b1118;border-radius:16px;padding:16px;text-align:center}.qr-live-card img{display:block;width:100%;height:auto;background:#fff;border-radius:13px;padding:9px}.qr-live-card p{font-size:11px;line-height:1.45;color:#738292;margin:12px 3px 2px}.live-label{display:block;text-align:left;color:var(--accent);font-size:10px;letter-spacing:.12em;font-weight:850;margin:0 0 10px}.manage-content{min-width:0}.qr-admin-info{display:block}.back-to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;border:1px solid #405061;background:#151f2aeb;color:var(--accent);font-size:23px;font-weight:900;cursor:pointer;z-index:35;box-shadow:0 12px 35px #0007;backdrop-filter:blur(12px);opacity:0;transform:translateY(14px);pointer-events:none;transition:.2s ease}.back-to-top.show{opacity:1;transform:none;pointer-events:auto}.back-to-top:hover{background:var(--accent);color:#0b0f14}.result .actions{align-items:center}
@media(max-width:800px){.manage-toolbar{top:68px}.manage-layout{grid-template-columns:1fr}.qr-live{position:sticky;top:140px;z-index:12}.qr-live-card{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;text-align:left;background:#0b1118f2;backdrop-filter:blur(14px)}.qr-live-card .live-label{grid-column:1/-1;margin-bottom:0}.qr-live-card img{width:110px}.qr-live-card p{margin:0}.toolbar-actions .toolbar-save{padding-inline:11px}.back-to-top{right:16px;bottom:16px}}

/* Beta 2.8 — contrôles cohérents avec la charte */
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid #53616f;border-radius:5px;background:#0b1219;display:inline-grid;place-content:center;vertical-align:-3px;cursor:pointer;transition:.16s}
input[type="checkbox"]::before{content:"";width:9px;height:5px;border-left:2px solid #071007;border-bottom:2px solid #071007;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:.12s}
input[type="checkbox"]:checked{background:#b9ed32;border-color:#b9ed32;box-shadow:0 0 0 3px rgba(185,237,50,.10)}
input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}
input[type="checkbox"]:focus-visible{outline:2px solid #b9ed32;outline-offset:3px}
.logo-file-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.logo-dropzone{border:1.5px dashed #62717e;border-radius:14px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;background:rgba(185,237,50,.025);transition:.18s;padding:20px}
.logo-dropzone:hover,.logo-dropzone.dragover{border-color:#b9ed32;background:rgba(185,237,50,.075);box-shadow:inset 0 0 0 1px rgba(185,237,50,.12)}
.logo-dropzone .drop-icon{width:36px;height:36px;border-radius:10px;background:#b9ed32;color:#071007;display:grid;place-items:center;font-size:22px;font-weight:900}
.logo-dropzone span,.logo-dropzone small{color:#91a6c4}.logo-dropzone strong{color:#f4f7fb}
.custom-select{position:relative}.custom-select>select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.select-trigger{width:100%;min-height:46px;border:1px solid #344351;border-radius:11px;background:#0b1219;color:#f5f7fb;display:flex;align-items:center;justify-content:space-between;padding:0 14px;cursor:pointer;text-align:left;font:inherit}
.select-trigger:after{content:"⌄";color:#b9ed32;font-size:18px}
.select-trigger:hover,.custom-select.open .select-trigger{border-color:#687887;background:#0e1720}
.select-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);padding:6px;background:#111a23;border:1px solid #344351;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.42);display:none;max-height:260px;overflow:auto}
.custom-select.open .select-menu{display:block}
.select-option{padding:10px 12px;border-radius:8px;color:#e9eef5;cursor:pointer}
.select-option:hover{background:#1b2732}.select-option.selected{background:rgba(185,237,50,.12);color:#c9f94d}
.manage-toolbar{justify-content:flex-start!important}

/* Beta 2.8.1 corrective */
.live-save-state{font-size:12px;color:#8fa4b8;margin:5px 0 10px;display:flex;align-items:center;gap:7px}.live-save-state span{width:8px;height:8px;border-radius:50%;background:#55e5a0;box-shadow:0 0 0 4px rgba(85,229,160,.1)}
.password-save{margin-top:12px;width:100%}.custom-select,.select-trigger,.select-menu,.select-option{pointer-events:auto!important}

/* Beta 2.8.2 — correction régression */
.manage-toolbar{display:none!important}
.live-save-state{display:flex;align-items:center;justify-content:flex-start;gap:7px;margin:6px 0 12px;font-size:12px;color:#8fa4b8;text-align:left}
.live-save-state span{width:8px;height:8px;border-radius:50%;background:#55e5a0;box-shadow:0 0 0 4px rgba(85,229,160,.10);flex:0 0 auto}
.live-save-state b{font-weight:650;color:#8fa4b8}
.live-save-state.saving span,.live-save-state.dirty span{background:#e7c84b;box-shadow:0 0 0 4px rgba(231,200,75,.10)}
.live-save-state.error span{background:#ff6f76;box-shadow:0 0 0 4px rgba(255,111,118,.10)}
.password-save{width:100%;margin-top:12px}
.field-help{font-size:12px;color:#8fa4b8;font-weight:400;margin-left:4px}

/* Beta 2.8.3 admin preview */
.preview-btn{background:#17222d!important;color:#dce7ef!important;border:1px solid #3a4856!important}.preview-btn:hover{border-color:#b9ed32!important;color:#dfff7a!important}.admin-preview-card{position:relative;width:min(760px,96vw)}.admin-preview-grid{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}.admin-preview-grid img{width:100%;background:#fff;border-radius:14px;padding:10px}.admin-preview-grid small{display:block;color:#8fa4b8;font-size:11px;letter-spacing:.06em;margin:0 0 5px}.admin-preview-grid strong,.admin-preview-grid code{display:block;margin-bottom:18px}.preview-content{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#0b1219;border:1px solid #2d3a47;border-radius:10px;max-height:240px;overflow:auto;margin-bottom:18px}@media(max-width:650px){.admin-preview-grid{grid-template-columns:1fr}.admin-preview-grid img{max-width:260px;margin:auto}}

/* Beta 2.8.4 — UX corrective */
html{overflow-y:scroll;scrollbar-gutter:stable}
.check{cursor:default}
.check input[type="checkbox"]{cursor:pointer;flex:0 0 auto}
.check-text{cursor:default;user-select:text}
.terms-check .check-text{display:inline}
.admin-open-public{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:9px;background:var(--accent);color:#0b0f14!important;border:1px solid transparent;font-weight:850;text-decoration:none!important}
.admin-open-public:hover{filter:brightness(1.06)}
@media(min-width:851px){
  .table-wrap{overflow-x:clip}
  .admin-actions{min-width:0!important;flex-wrap:nowrap}
  #reportRows td:nth-child(4){white-space:normal;min-width:180px;max-width:360px;overflow-wrap:anywhere}
}
@media(max-width:850px){
  .table-wrap{overflow-x:auto}
}
