.edit-fab{position:fixed;left:16px;bottom:16px;z-index:90;display:none;align-items:center;gap:8px;padding:12px 16px;border-radius:99px;background:#1b1b1b;border:1px solid var(--line);font-family:var(--mono);font-size:11.5px;text-transform:uppercase;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.edit-fab i{width:8px;height:8px;border-radius:50%;background:#555;font-style:normal}
body.wl-admin .edit-fab{display:flex}
body.menu-open .edit-fab{display:none}
body.editing .edit-fab i{background:var(--accent)}
body.editing [data-k]{outline:1px dashed rgba(13,27,196,.8);outline-offset:4px;border-radius:2px;cursor:text}
body.editing [data-k]:focus{outline:2px solid var(--accent);background:rgba(13,27,196,.12)}
body.editing [data-img]{position:relative}
.imgbtn{display:none}
body.editing .imgbtn{display:flex;position:absolute;top:8px;left:8px;z-index:5;padding:7px 10px;border-radius:99px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;gap:6px;align-items:center}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:95;background:#111;border-left:1px solid var(--line);transform:translateX(100%);transition:transform .5s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;font-family:var(--disp)}
body.drawer-open .drawer{transform:none}
.drawer header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.drawer header b{font-size:18px}
.drawer .tabs{display:flex;gap:6px;padding:12px 20px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.drawer .tabs button{padding:8px 12px;border-radius:99px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;white-space:nowrap}
.drawer .tabs button.on{background:var(--fg);color:var(--bg)}
.drawer .body{flex:1;overflow:auto;padding:16px 20px 40px}
.drawer .card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;background:#151515}
.drawer .card .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}
.drawer .card .hd .ops{display:flex;gap:4px}
.drawer .card .hd .ops button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.drawer label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--mute);margin:8px 0 4px}
.drawer input,.drawer textarea,.drawer select{width:100%;background:#0b0b0b;border:1px solid var(--line);border-radius:8px;color:var(--fg);padding:9px 10px;font:14px/1.4 var(--disp)}
.drawer textarea{min-height:70px;resize:vertical}
.drawer .thumb{display:flex;gap:10px;align-items:center}
.drawer .thumb img{width:54px;height:54px;object-fit:cover;border-radius:8px;background:#222}
.drawer .sbtn{padding:9px 12px;border-radius:99px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase}
.drawer .sbtn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.drawer .note{font-size:13px;line-height:1.5;color:var(--mute);margin-bottom:14px}
.drawer .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
/* status de salvamento (topo do editor) */
.drawer .dsave{margin-left:auto;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.drawer .dsave[data-s="saved"]{color:#7fd492}
.drawer .dsave[data-s="error"]{color:#ff7a7a}
/* login (Supabase Auth) */
.wl-login{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.72);font-family:var(--disp)}
.wl-login[hidden]{display:none}
.wl-login .box{width:min(400px,100%);background:#111;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.wl-login .box>b{display:block;font-size:20px;margin-bottom:6px}
.wl-login .note{font-size:13px;line-height:1.5;color:var(--mute);margin:0 0 6px}
.wl-login [hidden]{display:none}
.wl-login label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--mute);margin:12px 0 4px}
.wl-login input{width:100%;background:#0b0b0b;border:1px solid var(--line);border-radius:8px;color:var(--fg);padding:11px 12px;font:16px/1.3 var(--disp)}
.wl-login input:focus-visible,.wl-login button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wl-login .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.wl-login .sbtn{padding:11px 16px;border-radius:99px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;min-height:44px}
.wl-login .sbtn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.wl-login .sbtn:disabled{opacity:.6}
.wl-login .msg{min-height:1.2em;margin:10px 0 0;font-size:13px;color:#ff8a8a}
.wl-login .msg.ok{color:var(--mute)}
.wl-login .lnk{margin-top:14px;font-size:13px;color:var(--mute);text-decoration:underline;min-height:44px}
/* --- antes injetado pelo app.js --- */
.drawer .body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#444 transparent}
.drawer .body::-webkit-scrollbar{width:8px}.drawer .body::-webkit-scrollbar-thumb{background:#444;border-radius:8px}
body.editing #heroTitle{outline:1px dashed rgba(184,164,255,.8);outline-offset:4px;cursor:text}
.drawer .rng{width:100%;accent-color:var(--accent);padding:0;border:0;background:none}
body.editing .about .photo img{cursor:grab}
.drawer .apx{display:grid;grid-template-columns:70px 1fr 44px;align-items:center;gap:8px;font:12px var(--mono);color:var(--mute);margin-top:8px}
