*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--noir: #0d0d0d;--blanc: #F3F4F7;--gris-clair: #F3F4F7;--gris-mid: #9398A3;--gris-texte: #565C68;--accent: #08506d;--accent-deep: #063c52;--accent-warm: #d65a30;--accent-soft: #e6eef2;--border: #E3E5EB;--radius: 6px;--font-serif: "Newsreader", Georgia, serif;--font-sans: "Archivo", system-ui, sans-serif}html,body,#root{height:100%;font-family:var(--font-sans);font-size:16px;background:var(--blanc);color:var(--noir);-webkit-font-smoothing:antialiased}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-left{background:var(--noir);color:var(--blanc);display:flex;flex-direction:column;justify-content:space-between;padding:3.5rem 4rem}.login-brand{font-family:var(--font-serif);font-size:2.2rem;letter-spacing:.08em}.brand-d{color:var(--accent)}.brand-yva{color:var(--blanc)}.login-tagline{font-size:1.35rem;font-weight:300;line-height:1.55;color:#fafaf8b8;max-width:340px;margin-top:auto;margin-bottom:3rem}.login-stats{display:flex;align-items:center;gap:2rem;border-top:.5px solid rgba(250,250,248,.18);padding-top:2rem}.stat{display:flex;flex-direction:column;gap:4px}.stat-n{font-family:var(--font-serif);font-size:2.4rem;color:var(--accent);line-height:1}.stat-label{font-size:.78rem;font-weight:300;color:#fafaf88c;line-height:1.3;text-transform:uppercase;letter-spacing:.05em}.stat-sep{width:.5px;height:48px;background:#fafaf82e}.login-right{display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.login-form-wrap{width:100%;max-width:360px}.login-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:.4rem}.login-sub{font-size:.9rem;color:var(--gris-texte);margin-bottom:2.5rem}.login-form{display:flex;flex-direction:column;gap:1.2rem}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.82rem;font-weight:500;color:var(--gris-texte);letter-spacing:.03em;text-transform:uppercase}.field input{height:44px;border:1px solid var(--border);border-radius:var(--radius);padding:0 14px;font-family:var(--font-sans);font-size:.95rem;color:var(--noir);background:#fff;outline:none;transition:border-color .15s}.field input::placeholder{color:var(--gris-mid)}.field input:focus{border-color:var(--noir)}.login-error{font-size:.85rem;color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--radius);padding:10px 14px}.btn-login{height:48px;background:var(--noir);color:var(--blanc);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;margin-top:.4rem}.btn-login:hover:not(:disabled){background:#2a2a2a}.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{width:18px;height:18px;border:2px solid rgba(250,250,248,.35);border-top-color:var(--blanc);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--noir);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:1.8rem;font-size:.85rem;color:var(--gris-texte);text-align:center}.login-footer a{color:var(--noir);text-decoration:underline;text-underline-offset:3px}.workspace-page{min-height:100vh;display:flex;flex-direction:column}.ws-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2.5rem;border-bottom:.5px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.ws-brand{font-family:var(--font-serif);font-size:1.4rem;letter-spacing:.08em}.ws-user{display:flex;align-items:center;gap:12px}.ws-email{font-size:.85rem;color:var(--gris-texte)}.ws-badge{font-size:.72rem;font-weight:500;background:var(--noir);color:var(--blanc);padding:3px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.btn-logout{font-size:.82rem;color:var(--gris-texte);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:5px 12px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s,color .15s}.btn-logout:hover{border-color:var(--noir);color:var(--noir)}.ws-main{flex:1;padding:3rem 2.5rem;max-width:1000px;margin:0 auto;width:100%}.ws-welcome{margin-bottom:2.5rem}.ws-welcome h1{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:.4rem}.ws-welcome p{color:var(--gris-texte);font-size:.95rem}.ws-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}.ws-card{background:#fff;border:.5px solid var(--border);border-radius:10px;padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:10px}.ws-card--new{border-color:var(--noir)}.ws-card-icon{font-size:1.6rem;margin-bottom:4px}.ws-card h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:400}.ws-card p{font-size:.85rem;color:var(--gris-texte);line-height:1.45;flex:1}.btn-primary{height:38px;background:var(--noir);color:var(--blanc);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;margin-top:6px}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{height:38px;background:transparent;color:var(--noir);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;margin-top:6px}.btn-secondary:hover:not(:disabled){border-color:var(--noir)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.login-page{grid-template-columns:1fr}.login-left{padding:2rem 1.8rem;min-height:40vh}}.ws-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem}.ws-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:.3rem}.ws-sub{font-size:.9rem;color:var(--gris-texte)}.btn-new{height:40px;background:var(--noir);color:var(--blanc);border:none;border-radius:var(--radius);padding:0 1.2rem;font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap}.btn-new:hover{background:#2a2a2a}.ws-success{background:#edf7f1;border:1px solid #b6e0c8;color:#1a5c38;border-radius:var(--radius);padding:12px 16px;font-size:.88rem;margin-bottom:1.5rem}.ws-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;border-radius:var(--radius);padding:10px 14px;font-size:.85rem}.ws-form-card{background:#fff;border:.5px solid var(--border);border-radius:10px;padding:2rem;margin-bottom:2rem}.ws-form-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;margin-bottom:1.5rem}.ws-form{display:flex;flex-direction:column;gap:1.2rem}.ws-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field textarea{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-family:var(--font-sans);font-size:.95rem;color:var(--noir);background:#fff;outline:none;resize:vertical;transition:border-color .15s;width:100%}.field textarea:focus{border-color:var(--noir)}.field select{height:44px;border:1px solid var(--border);border-radius:var(--radius);padding:0 14px;font-family:var(--font-sans);font-size:.95rem;color:var(--noir);background:#fff;outline:none;width:100%;cursor:pointer}.field select:focus{border-color:var(--noir)}.btn-launch{height:48px;background:var(--accent);color:var(--blanc);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-launch:hover:not(:disabled){background:var(--accent-deep)}.btn-launch:disabled{opacity:.6;cursor:not-allowed}.ws-productions{display:flex;flex-direction:column;gap:1rem}.ws-loading{display:flex;justify-content:center;padding:3rem}.ws-empty{text-align:center;padding:4rem 2rem;color:var(--gris-texte);display:flex;flex-direction:column;align-items:center;gap:1.2rem}.prod-card{background:#fff;border:.5px solid var(--border);border-radius:10px;padding:1.4rem 1.6rem;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.prod-card:hover{border-color:#b0ada6}.prod-card-top{display:flex;align-items:center;justify-content:space-between}.prod-meta{display:flex;gap:8px;align-items:center}.prod-type{font-size:.78rem;font-weight:500;background:var(--gris-clair);color:var(--gris-texte);padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.prod-diffuseur{font-size:.78rem;color:var(--gris-texte);background:var(--gris-clair);padding:3px 10px;border-radius:99px}.prod-status{font-size:.82rem;font-weight:500}.prod-brief{font-size:.9rem;color:var(--noir);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prod-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.prod-date{font-size:.8rem;color:var(--gris-texte)}.prod-drive{font-size:.82rem;color:var(--accent);text-decoration:none;font-weight:500}.prod-drive:hover{text-decoration:underline}.steps-bar{display:flex;align-items:center;margin-bottom:2.5rem}.step-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gris-texte)}.step-item.active{color:var(--noir);font-weight:500}.step-item.done{color:#1a7a4a}.step-num{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:500;flex-shrink:0}.step-item.active .step-num{border-color:var(--noir);background:var(--noir);color:var(--blanc)}.step-item.done .step-num{border-color:#1a7a4a;background:#1a7a4a;color:#fff}.step-line{flex:1;height:.5px;background:var(--border);margin:0 12px;min-width:24px}.form-step{display:flex;flex-direction:column;gap:0}.step-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;margin-bottom:1rem}.step-hint{font-size:.88rem;color:var(--gris-texte);margin-bottom:1.2rem;line-height:1.5}.genre-grid{display:flex;flex-wrap:wrap;gap:8px}.genre-pill{background:transparent;border:1px solid var(--border);border-radius:99px;padding:8px 16px;font-family:var(--font-sans);font-size:.88rem;cursor:pointer;color:var(--noir);transition:border-color .15s,background .15s}.genre-pill:hover{border-color:var(--noir)}.genre-pill.selected{border-color:var(--noir);background:var(--noir);color:var(--blanc)}.genre-pill-special{border-style:dashed;border-color:var(--accent);color:var(--accent)}.genre-pill-special.selected{background:var(--accent);color:var(--blanc);border-style:solid}.format-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.format-card{border:1px solid var(--border);border-radius:10px;padding:1.2rem;cursor:pointer;text-align:center;transition:border-color .15s}.format-card:hover{border-color:var(--noir)}.format-card.selected{border-color:var(--noir);border-width:2px}.format-icon{font-size:1.6rem;margin-bottom:6px}.format-name{font-weight:500;font-size:.92rem}.format-desc{font-size:.8rem;color:var(--gris-texte);margin-top:2px}.pills-row{display:flex;flex-wrap:wrap;gap:8px}.radio-pill{background:transparent;border:1px solid var(--border);border-radius:99px;padding:6px 14px;font-family:var(--font-sans);font-size:.85rem;cursor:pointer;color:var(--noir)}.radio-pill.selected{background:var(--noir);color:var(--blanc);border-color:var(--noir)}.duree-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.duree-pill{border:1px solid var(--border);border-radius:10px;padding:1rem;cursor:pointer;text-align:center;transition:border-color .15s}.duree-pill:hover{border-color:var(--noir)}.duree-pill.selected{border-color:var(--noir);border-width:2px}.duree-min{font-family:var(--font-serif);font-size:1.3rem;color:var(--noir)}.duree-label{font-size:.75rem;color:var(--gris-texte);margin-top:2px}.brief-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-family:var(--font-sans);font-size:.95rem;color:var(--noir);resize:vertical;outline:none;transition:border-color .15s;line-height:1.6}.brief-textarea:focus{border-color:var(--noir)}.brief-count{font-size:.78rem;color:var(--gris-texte);text-align:right;margin-top:4px}.step-nav{display:flex;justify-content:space-between;margin-top:2rem}.btn-back{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:0 1.2rem;height:44px;font-family:var(--font-sans);font-size:.88rem;cursor:pointer;color:var(--gris-texte)}.btn-back:hover{border-color:var(--noir);color:var(--noir)}.diffuseur-groups{display:flex;flex-direction:column;gap:1.2rem;max-height:360px;overflow-y:auto;padding-right:4px}.diff-groupe-label{font-size:.75rem;font-weight:500;color:var(--gris-texte);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.diff-pills{display:flex;flex-wrap:wrap;gap:6px}.diff-pill{background:transparent;border:1px solid var(--border);border-radius:99px;padding:6px 14px;font-family:var(--font-sans);font-size:.83rem;cursor:pointer;color:var(--noir);transition:border-color .15s}.diff-pill:hover{border-color:var(--noir)}.diff-pill.selected{background:var(--noir);color:var(--blanc);border-color:var(--noir)}.recap-card{background:var(--gris-clair);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:12px}.recap-row{display:flex;justify-content:space-between;font-size:.9rem}.recap-row span{color:var(--gris-texte)}.recap-brief{display:flex;flex-direction:column;gap:4px;font-size:.9rem;border-top:.5px solid var(--border);padding-top:12px}.recap-brief span{color:var(--gris-texte)}.recap-brief p{line-height:1.5}.brief-field{display:flex;flex-direction:column;gap:6px;margin-bottom:1.2rem}.brief-field label{font-size:.82rem;font-weight:500;color:var(--noir);letter-spacing:.02em}.brief-field textarea{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-family:var(--font-sans);font-size:.92rem;color:var(--noir);resize:vertical;outline:none;transition:border-color .15s;width:100%;line-height:1.6}.brief-field textarea:focus{border-color:var(--noir)}.hint{font-size:.78rem;color:var(--gris-texte);line-height:1.4}.label-opt{font-weight:400;color:var(--gris-texte);font-size:.78rem}.options-list{display:flex;flex-direction:column;gap:0;border:.5px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:.5rem}.option-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:.5px solid var(--border)}.option-row:last-child{border-bottom:none}.option-name{font-size:.9rem;font-weight:500;margin-bottom:3px}.option-desc{font-size:.78rem;color:var(--gris-texte);line-height:1.4}.toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;margin-left:1rem}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:22px;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.toggle input:checked+.toggle-slider{background:var(--noir)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.livrables-card{background:var(--gris-clair);border-radius:var(--radius);padding:1.2rem;margin-bottom:1.2rem}.livrables-title{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--gris-texte);margin-bottom:10px}.livrables-list{display:flex;flex-direction:column;gap:6px}.livrable{display:flex;align-items:center;gap:8px;font-size:.88rem}.livrable-check{color:#1a7a4a;font-size:1rem}.btn-reco{background:transparent;border:1.5px dashed var(--gris-mid);border-radius:var(--radius);padding:10px 16px;font-family:var(--font-sans);font-size:.85rem;color:var(--gris-texte);cursor:pointer;margin-bottom:1.2rem;display:flex;align-items:center;gap:8px;transition:border-color .15s}.btn-reco:hover:not(:disabled){border-color:var(--noir);color:var(--noir)}.reco-zone{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:8px}.reco-title{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--gris-texte);margin-bottom:4px}.reco-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:border-color .15s}.reco-card:hover{border-color:var(--noir)}.reco-card.selected{border-color:var(--accent);border-width:2px}.reco-label{font-weight:500;font-size:.92rem;margin-bottom:3px}.reco-raison{font-size:.82rem;color:var(--gris-texte);line-height:1.4}.profile-page{max-width:680px;margin:0 auto;padding:2rem 1rem}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.page-header h1{margin:0;font-size:1.5rem}.btn-back{background:none;border:1px solid #444;color:#ccc;padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-back:hover{border-color:#aaa;color:#fff}.profile-form{display:flex;flex-direction:column;gap:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:#aaa}.profile-form input,.profile-form textarea{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.6rem .8rem;color:#fff;font-size:.95rem;font-family:inherit;resize:vertical}.profile-form input:focus,.profile-form textarea:focus{outline:none;border-color:#666}.form-msg{font-size:.9rem;padding:.5rem;border-radius:6px;background:#1a1a1a}.page-loading{text-align:center;padding:4rem;color:#666}.detail-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.5rem}.detail-card{background:#111;border:1px solid #222;border-radius:10px;padding:1.4rem}.detail-card h2{margin:0 0 1rem;font-size:1rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.brief-text{color:#ddd;line-height:1.6;margin:0}.info-list{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.info-list dt{color:#666;font-size:.85rem}.info-list dd{color:#ddd;font-size:.85rem;margin:0}.info-list code{font-size:.75rem;color:#888}.status-badge{padding:.3rem .8rem;border-radius:20px;font-size:.8rem;color:#fff;font-weight:600}.btn-profile{background:none;border:1px solid #333;color:#aaa;padding:.35rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-profile:hover{border-color:#666;color:#fff}.prod-link{font-size:.8rem;color:#666}.llm-editor{margin-top:2rem;border:1px solid #222;border-radius:10px;overflow:hidden}.editor-tabs{display:flex;border-bottom:1px solid #222;background:#0d0d0d}.editor-tab{background:none;border:none;border-right:1px solid #222;padding:.7rem 1.2rem;color:#666;cursor:pointer;font-size:.9rem}.editor-tab:hover{color:#ccc;background:#151515}.editor-tab.active{color:#fff;background:#1a1a1a;border-bottom:2px solid #fff}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:#111;border-bottom:1px solid #1a1a1a}.editor-chars{font-size:.75rem;color:#555}.editor-actions{display:flex;align-items:center;gap:.8rem}.editor-msg{font-size:.85rem;color:#aaa}.btn-save{background:#222;border:1px solid #333;color:#ccc;padding:.35rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-save:hover:not(:disabled){background:#2a2a2a;color:#fff}.editor-loading{padding:3rem;text-align:center;color:#555;background:#111}.editor-textarea{width:100%;min-height:420px;background:#111;border:none;color:#ddd;font-family:Georgia,serif;font-size:.95rem;line-height:1.7;padding:1.2rem;resize:vertical;box-sizing:border-box;outline:none}.regen-zone{background:#0d0d0d;border-top:1px solid #1a1a1a;padding:1rem}.regen-label{font-size:.8rem;color:#666;margin-bottom:.5rem}.regen-instructions{width:100%;background:#151515;border:1px solid #252525;border-radius:6px;color:#ccc;padding:.6rem .8rem;font-size:.85rem;font-family:inherit;resize:none;box-sizing:border-box;outline:none}.regen-footer{display:flex;align-items:center;gap:1rem;margin-top:.7rem}.btn-regen{background:var(--noir);border:1px solid #2a2a5a;color:#88f;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.btn-regen:hover:not(:disabled){background:#22224a;color:#aaaaf0}.btn-regen:disabled{opacity:.5;cursor:not-allowed}.regen-stats{font-size:.75rem;color:#555}.admin-page{max-width:1100px;margin:0 auto;padding:2rem 1rem}.admin-tabs{display:flex;border-bottom:1px solid #222;margin:1.5rem 0}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;padding:.6rem 1rem;color:#666;border-bottom:1px solid #222;font-weight:500}.admin-table td{padding:.6rem 1rem;border-bottom:1px solid #111;color:#ccc}.admin-table tr:hover td{background:#111}
