/* Espace client MAG Studio — même direction que la vitrine (A « Première ») : noir chaud, ivoire, un seul accent ambre. */
:root{
  --noir:#0E0C0B; --noir-2:#171412; --noir-3:#1F1B18; --ligne:#2A2522; --ivoire:#F2EDE4; --fumee:#9C948A; --ambre:#E8A33D;
  --vert:#7FB77E; --rouge:#E0715A;
  --serif:"Instrument Serif",Georgia,serif; --sans:"Inter Tight",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}   /* un display:flex d'une classe ne doit jamais réafficher un élément caché */
html,body{margin:0}
body{background:var(--noir);color:var(--ivoire);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit}
button,input{font:inherit;color:inherit}
.logo{font:600 14px var(--sans);letter-spacing:.32em;text-transform:uppercase;text-decoration:none}
.logo b{color:var(--ambre);font-weight:600}
h1{font:400 clamp(38px,5vw,56px)/1 var(--serif);letter-spacing:-.01em;margin:0 0 10px}
h1 em{color:var(--ambre)}
h2{font:400 30px/1.1 var(--serif);margin:0 0 6px}
.sous{color:var(--fumee);margin:0 0 28px}
.petit{font-size:13px;color:var(--fumee)}

/* Champs et boutons */
label{display:block;font:500 13px var(--sans);color:var(--fumee);margin:0 0 6px}
input[type=email],input[type=password],input[type=text]{width:100%;background:var(--noir-2);border:1px solid var(--ligne);border-radius:10px;padding:13px 14px;outline:none;transition:border-color .15s}
input:focus{border-color:var(--ambre)}
.champ{margin:0 0 18px}
.btn{font:600 15px var(--sans);border:0;border-radius:999px;padding:13px 24px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-or{background:var(--ambre);color:#1a1209}
.btn-or:hover{filter:brightness(1.07)}
.btn-or:disabled{opacity:.55;cursor:default}
.btn-ligne{background:transparent;border:1px solid var(--ligne)}
.btn-ligne:hover{border-color:var(--fumee)}
.btn-mini{font:500 13px var(--sans);padding:7px 14px;border-radius:999px;background:transparent;border:1px solid var(--ligne);cursor:pointer}
.btn-mini:hover{border-color:var(--fumee)}
.msg{font-size:14px;margin:0 0 16px;min-height:1.4em}
.msg.erreur{color:var(--rouge)}
.msg.ok{color:var(--vert)}

/* Connexion */
.connexion{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.connexion .cote{position:relative;overflow:hidden;background:#000}
.connexion .cote video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.connexion .cote::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,var(--noir))}
.connexion .cote p{position:absolute;left:48px;bottom:44px;z-index:1;font:400 34px/1.1 var(--serif);max-width:12em;margin:0}
.connexion .cote p em{color:var(--ambre)}
.connexion .forme{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(24px,7vw,96px)}
.connexion form{max-width:400px;width:100%}
.connexion .logo{margin-bottom:56px;display:inline-block}
@media (max-width:820px){.connexion{grid-template-columns:1fr}.connexion .cote{display:none}}

/* Poste client */
.barre{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(16px,4vw,48px);border-bottom:1px solid var(--ligne)}
.barre nav{display:flex;gap:6px;align-items:center}
.barre nav a{font:500 14px var(--sans);text-decoration:none;color:var(--fumee);padding:8px 14px;border-radius:999px}
.barre nav a[aria-current]{color:var(--ivoire);background:var(--noir-3)}
.qui{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--fumee)}
.qui b{color:var(--ivoire);font-weight:500}
main.poste{max-width:1040px;margin:0 auto;padding:44px clamp(16px,4vw,48px) 80px}
.carte{background:var(--noir-2);border:1px solid var(--ligne);border-radius:18px;padding:24px}

.zone{border:1.5px dashed #3a332e;border-radius:18px;padding:52px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--noir-2)}
.zone:hover,.zone.survol{border-color:var(--ambre);background:#1b1612}
.zone .grand{font:400 28px/1.1 var(--serif);margin:12px 0 6px}
.zone svg{color:var(--ambre)}
.quota{display:flex;align-items:center;gap:14px;margin:18px 0 36px;font-size:13px;color:var(--fumee)}
.quota .jauge{flex:1;height:6px;background:var(--noir-3);border-radius:99px;overflow:hidden}
.quota .jauge i{display:block;height:100%;background:var(--ambre);border-radius:99px}

.liste{display:flex;flex-direction:column;gap:10px}
.fichier{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;background:var(--noir-2);border:1px solid var(--ligne);border-radius:14px;padding:14px 16px}
.fichier .ic{width:44px;height:44px;border-radius:10px;background:var(--noir-3);display:grid;place-items:center;color:var(--fumee)}
.fichier .nom{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fichier .info{font-size:13px;color:var(--fumee);margin-top:2px}
.fichier .barre-prog{height:4px;background:var(--noir-3);border-radius:99px;margin-top:8px;overflow:hidden}
.fichier .barre-prog i{display:block;height:100%;width:0;background:var(--ambre);transition:width .25s}
.fichier.recu .ic{color:var(--vert)}
.fichier.recu .barre-prog{display:none}
.fichier.pause .barre-prog i{background:var(--fumee)}
.etat{font:500 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--noir-3);color:var(--fumee);white-space:nowrap}
.etat.recu{color:var(--vert)}
.etat.envoi{color:var(--ambre)}
.vide{color:var(--fumee);text-align:center;padding:28px;font-size:14px}

.grille-compte{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.logo{white-space:nowrap}
@media (max-width:760px){
  .grille-compte{grid-template-columns:1fr}
  .barre{flex-wrap:wrap;row-gap:14px}
  .barre nav{order:3;width:100%}
  .barre nav a{flex:1;text-align:center}
  .qui span{display:none}
  .fichier{grid-template-columns:1fr auto}.fichier .ic{display:none}
}

/* Administration */
main.poste.large{max-width:1240px}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 36px}
.chiffre{background:var(--noir-2);border:1px solid var(--ligne);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:2px}
.chiffre b{font:400 38px/1 var(--serif);color:var(--ivoire)}
.chiffre span{font-size:14px}
.chiffre small{font-size:12px;color:var(--fumee)}
.admin{display:grid;grid-template-columns:minmax(300px,.8fr) 1.4fr;gap:28px;align-items:start}
.entete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.entete h2{margin:0}
.clients{display:flex;flex-direction:column;gap:8px}
.client{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;background:var(--noir-2);border:1px solid var(--ligne);border-radius:14px;padding:14px 16px;transition:border-color .15s}
.client:hover{border-color:#3a332e}
.client.choisi{border-color:var(--ambre)}
.client .nom{font-weight:500}
.client .info{font-size:13px;color:var(--fumee)}
.client .btn-mini{align-self:flex-start;margin-top:6px}
.etat.attente{color:var(--ambre);font-size:11px;padding:3px 8px}
.invit{margin:0 0 14px}
.lien-invit{margin-top:18px}
.copier{display:flex;gap:8px}
.copier input{font-size:13px}
@media (max-width:900px){.admin{grid-template-columns:1fr}.chiffres{grid-template-columns:1fr 1fr}}

/* Demandes de projet */
textarea,select{width:100%;background:var(--noir-2);border:1px solid var(--ligne);border-radius:10px;padding:12px 14px;outline:none;font:inherit;color:inherit;resize:vertical}
textarea:focus{border-color:var(--ambre)}
input[type=date]{width:100%;background:var(--noir-2);border:1px solid var(--ligne);border-radius:10px;padding:12px 14px;outline:none;color-scheme:dark}
.opt{color:#6f675f;font-weight:400}
.projet-form{margin:24px 0 28px}
.projet-form h2{margin-bottom:18px}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.choix{display:flex;flex-wrap:wrap;gap:8px}
.puce{margin:0;cursor:pointer;position:relative}
.puce input{position:absolute;opacity:0;pointer-events:none}
.puce span{display:inline-block;font:500 14px var(--sans);color:var(--fumee);padding:9px 14px;border:1px solid var(--ligne);border-radius:999px;transition:all .15s}
.puce input:checked+span{color:var(--ivoire);border-color:var(--ambre);background:#2a1f12}
.puce input:focus-visible+span{outline:2px solid var(--ambre);outline-offset:2px}
.joints{display:flex;flex-direction:column;gap:6px}
.joint{display:flex;align-items:center;gap:12px;margin:0;padding:10px 14px;background:var(--noir);border:1px solid var(--ligne);border-radius:10px;cursor:pointer;color:var(--ivoire);font-size:14px}
.joint .nom{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.joint input{accent-color:var(--ambre);width:16px;height:16px}
.demande h2{font-size:26px;margin:0}
.demande .objectif{white-space:pre-wrap;margin:0 0 12px;line-height:1.5}
.demande.a-traiter{border-color:#5a4220}
.note{margin:14px 0 4px;padding:12px 14px;border-left:3px solid var(--ambre);background:var(--noir-3);border-radius:0 10px 10px 0;font-size:14px}
.note b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ambre);margin-bottom:2px}
.note.refus{border-left-color:var(--rouge)}
.note.refus b{color:var(--rouge)}
.etat.refus{color:var(--rouge)}
.ambre{color:var(--ambre);font-weight:500}
.decision{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.joints-admin{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}
.joints-admin .btn-mini{text-decoration:none}
.chiffre.alerte{border-color:#5a4220}
.chiffre.alerte b{color:var(--ambre)}
.entete .btn{flex-shrink:0}
@media (max-width:760px){.deux{grid-template-columns:1fr}.entete{flex-wrap:wrap}}

/* Aperçus : vignettes et visionneuse */
.vignettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 4px}
.vignette{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0}
.vignette .cadre{position:relative;display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--noir-3);border:1px solid var(--ligne);transition:border-color .15s}
.vignette:hover .cadre,.vignette:focus-visible .cadre{border-color:var(--ambre)}
.vignette img,.vignette video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vignette .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(14,12,11,.65);display:grid;place-items:center;color:var(--ivoire);backdrop-filter:blur(4px)}
.vignette .sans-apercu{display:none;position:absolute;inset:0;place-items:center;font-size:12px;color:var(--fumee)}
.vignette.illisible .sans-apercu{display:grid}
.vignette.illisible img,.vignette.illisible video,.vignette.illisible .play{display:none}
.vignette .legende{display:flex;flex-direction:column;min-width:0;font-size:13px}
.vignette .legende .nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fichier.avec-vignette{grid-template-columns:96px 1fr auto}
.fichier.avec-vignette .vignette .legende{display:none}
.fichier.avec-vignette .vignette .cadre{aspect-ratio:16/10;width:96px}
.fichier.avec-vignette .vignette .play{width:28px;height:28px}
.fichier.avec-vignette .ic{width:96px;height:60px}
.visionneuse{position:fixed;inset:0;z-index:100;background:rgba(6,5,4,.94);display:flex;flex-direction:column;backdrop-filter:blur(6px)}
.v-haut{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(14px,3vw,28px)}
.v-titre{display:flex;flex-direction:column;min-width:0}
.v-titre b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-titre span{font-size:13px;color:var(--fumee)}
.v-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.v-actions .btn-mini{text-decoration:none}
.v-fermer{width:40px;height:40px;border-radius:50%;border:1px solid var(--ligne);background:transparent;color:var(--ivoire);font-size:24px;line-height:1;cursor:pointer}
.v-fermer:hover{border-color:var(--fumee)}
.v-scene{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 clamp(8px,2vw,24px) 24px}
.v-scene video,.v-scene img{max-width:100%;max-height:100%;border-radius:8px;background:#000;min-width:0}
.v-nav{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--ligne);background:rgba(23,20,18,.8);color:var(--ivoire);font-size:26px;line-height:1;cursor:pointer}
.v-nav:hover{border-color:var(--ambre)}
.v-illisible{max-width:440px;text-align:center;background:var(--noir-2);border:1px solid var(--ligne);border-radius:16px;padding:28px}
.v-illisible p{margin:0 0 10px}
@media (max-width:760px){.fichier.avec-vignette{grid-template-columns:72px 1fr}.fichier.avec-vignette .vignette .cadre{width:72px}.fichier.avec-vignette > div:last-child{grid-column:1/-1}.v-nav{position:absolute;bottom:20px}.v-prec{left:20px}.v-suiv{right:20px}}

/* Production et livraison */
.production{margin-top:18px;padding-top:18px;border-top:1px solid var(--ligne);display:flex;flex-direction:column;gap:14px}
.titre-bloc{font:500 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ambre);margin:0 0 8px}
.a-approuver,.deposer-version,.livraison,.retouche-form{display:flex;flex-direction:column;gap:10px}
.a-approuver{background:#1d1710;border:1px solid #5a4220;border-radius:14px;padding:16px}
.vignettes.un{grid-template-columns:minmax(0,360px)}
.vignettes.un .vignette .cadre{aspect-ratio:16/9}
.historique .vignettes{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.v-hist{display:flex;flex-direction:column;gap:4px}
.v-hist.rejetee .cadre{opacity:.45}
.note.retour{border-left-color:var(--ambre)}
.attente{color:var(--fumee)} .ok-client{color:var(--vert)}
.livraison{margin-top:16px;padding:16px;border:1px solid #5a4220;border-radius:14px;background:#1d1710}
.lecteur-livraison{background:#000;border-radius:10px;display:flex;justify-content:center}
.lecteur-livraison video{display:block;max-width:100%;max-height:70vh;width:auto;border-radius:10px}
