:root{--bg:#121212;--panel:#1a1a19;--line:#2c2b29;--ink:#e8e4dc;--mute:#8f8a80;--gold:#d9b84a;--red:#d8574a;--green:#8fbf6a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.5 'Montserrat',system-ui,sans-serif}
a{color:inherit}
h1{font:400 40px/1.1 'Italiana',serif;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}
h2{font:400 26px/1.1 'Italiana',serif;letter-spacing:.04em;margin:0 0 16px;text-transform:uppercase}
code{background:#000;padding:1px 5px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(18,18,18,.96);z-index:5}
.brand{font:400 24px/1 'Italiana',serif;text-decoration:none;letter-spacing:.08em;color:var(--gold)}
.brand em{font:italic 400 16px 'Cormorant Garamond',serif;color:var(--mute)}
.bar nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.bar nav a,.bar nav button{font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:8px 12px;border-radius:2px;color:var(--mute);background:none;border:0;cursor:pointer;font-family:inherit}
.bar nav a:hover,.bar nav button:hover,.bar nav a.on{color:var(--ink);background:#222}
.inline{display:inline}
.wrap{max-width:1180px;margin:0 auto;padding:36px 32px 120px}
.titlerow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.hint{color:var(--mute);font-size:12.5px;margin:4px 0 18px}
.hint.ok{color:var(--green)}
.msg{padding:12px 16px;margin:0 0 18px;border-left:3px solid;background:var(--panel)}
.msg.ok{border-color:var(--green)}
.msg.err{border-color:var(--red)}
.btn{display:inline-block;padding:10px 18px;border:1px solid var(--line);background:#1d1d1c;color:var(--ink);text-decoration:none;font:500 11px/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.btn:hover{border-color:#555}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#111}
.btn.primary:hover{filter:brightness(1.08)}

/* liste */
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.plist li{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}
.plist li.hidden{opacity:.45}
.plist .thumb{width:56px;height:56px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#262626;overflow:hidden}
.plist .thumb img{width:100%;height:100%;object-fit:cover}
.pt{text-decoration:none;display:grid}
.pt strong{font:400 22px/1.1 'Italiana',serif;letter-spacing:.05em;text-transform:uppercase}
.pt small{color:var(--mute);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:4px}
.acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.acts form{display:flex;gap:4px}
.acts button{background:#1d1d1c;border:1px solid var(--line);color:var(--ink);padding:8px 11px;font:500 11px/1 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.acts button:hover:not(:disabled){border-color:#555}
.acts button:disabled{opacity:.3;cursor:default}
.acts .btn{padding:8px 12px}
.acts .danger{color:var(--red)}
.empty{display:block!important;color:var(--mute);padding:30px 0!important}

/* formulaires */
.form{margin-top:18px}
.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:36px}
.col{display:grid;gap:16px;align-content:start}
label{display:grid;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c9c4ba}
label span{font:italic 400 14px 'Cormorant Garamond',serif;letter-spacing:0;text-transform:none;color:var(--mute)}
input:not([type=checkbox]):not([type=file]),textarea,select{width:100%;background:#0d0d0d;border:1px solid var(--line);color:var(--ink);padding:11px 12px;font:400 14px/1.55 'Montserrat',sans-serif;border-radius:2px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}
textarea{resize:vertical}
.check{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:13.5px;cursor:pointer}
.check.small{font-size:11px;gap:5px}
fieldset{border:1px solid var(--line);padding:16px 18px 18px;margin:0;display:grid;gap:12px;background:var(--panel)}
legend{padding:0 8px;font:400 18px 'Italiana',serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.file{display:inline-flex;width:max-content;position:relative;padding:10px 16px;border:1px dashed #555;cursor:pointer;color:var(--ink)}
.file:hover{border-color:var(--gold)}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cover-prev{display:flex;justify-content:center}
.dia{width:200px;aspect-ratio:1;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);overflow:hidden;display:block}
.dia img{width:100%;height:100%;object-fit:cover}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.gi{display:grid;gap:6px}
.gi img{width:100%;aspect-ratio:1;object-fit:cover;background:#000}
.gi input[type=number]{padding:5px 8px;font-size:12px}
.newprev{display:flex;flex-wrap:wrap;gap:8px}
.newprev:empty{display:none}
.newprev img{width:72px;height:72px;object-fit:cover;outline:2px solid var(--gold)}
.pimg{width:100%;max-height:200px;object-fit:cover}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.three{display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px}
.savebar{position:sticky;bottom:0;margin-top:28px;padding:16px 0;background:linear-gradient(transparent,var(--bg) 30%);display:flex;gap:10px}
.pw{margin-top:60px;padding-top:30px;border-top:1px solid var(--line);max-width:620px;display:grid;gap:16px}

/* connexion */
.login{max-width:380px;margin:14vh auto;padding:0 24px;display:grid;gap:14px}
.login h1{font-size:64px;color:var(--gold);margin:0}
.login form{display:grid;gap:14px}
.back{color:var(--mute);font-size:12px;text-decoration:none;margin-top:14px}

@media (max-width:860px){
  .cols{grid-template-columns:1fr}
  .plist li{grid-template-columns:48px 1fr}
  .plist .thumb{width:44px;height:44px}
  .acts{grid-column:1/-1;justify-content:flex-start}
  .wrap{padding:24px 18px 100px}
  .bar{padding:12px 18px}
  .three{grid-template-columns:1fr}
}
.mi{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.mi-prev video{width:150px;aspect-ratio:16/9;background:#000;object-fit:contain}
.mi-prev audio{width:150px}
.mi-f{display:grid;gap:6px;min-width:0}
.mi-f small{color:var(--mute);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mi-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mi-row input[type=number]{width:64px;padding:5px 8px;font-size:12px}
.file.small{padding:5px 10px;font-size:10px}
.newnames{font-size:12px;color:var(--gold)}
.newnames:empty{display:none}
.uploading{position:fixed;inset:0;z-index:20;background:rgba(10,10,10,.85);display:grid;place-items:center;font:400 28px 'Italiana',serif;letter-spacing:.1em;color:var(--gold)}
.langtabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:-4px}
.langtabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--mute);padding:10px 18px;font:500 11px/1 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.langtabs button.on{color:var(--gold);border-bottom-color:var(--gold)}
.langtabs .todo{color:var(--red);font-style:normal}
.lang-pane{display:grid;gap:16px}
.lang-pane[hidden]{display:none}
