.quote-card-detailed { gap: 0; padding: 0; overflow: hidden; background: linear-gradient(145deg, #17151a, #111720); }
.quote-card-detailed > header { padding: 20px 22px 18px; border-bottom: 1px solid #b68a3e66; }
.quote-card-detailed > header small, .quote-timing small { display: block; margin-bottom: 7px; color: #dfb965; font-size: 11px; letter-spacing: .16em; }
.quote-card-detailed > header h3 { margin: 0; color: #fff; font: 25px/1.15 Georgia, serif; }
.quote-scopes { display: grid; grid-template-columns: 1fr 1fr; }
.quote-scope { padding: 20px 22px; }
.quote-scope + .quote-scope { border-left: 1px solid #ffffff1c; }
.quote-scope h4 { margin: 0 0 13px; color: #dfb965; font-size: 13px; letter-spacing: .12em; }
.quote-scope ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.quote-scope li { position: relative; padding-left: 18px; line-height: 1.35; }
.quote-scope li::before { position: absolute; left: 0; color: #dfb965; }
.quote-scope.included li::before { content: "✓"; }
.quote-scope.excluded { color: #c7c9cc; }
.quote-scope.excluded li::before { content: "—"; color: #8d929a; }
.quote-summary { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding: 18px 22px; border-top: 1px solid #ffffff1c; background: #0e1218; }
.quote-timing b { font-size: 18px; }
.quote-price { text-align: right; }
.quote-price strong, .quote-price small { display: block; }
.quote-price-breakdown { display: block; margin-bottom: 7px; color: #dfb965; font-size: 13px; }
.quote-tax-breakdown { display: block; margin-bottom: 7px; color: #dfb965; font-size: 14px; }
.quote-price strong { color: #fff; font: 34px Georgia, serif; }
.quote-price small { margin-top: 4px; color: #c7c9cc; }
.quote-card-detailed > button { margin: 0 22px 22px; border-color: #e4b95f; background: #c8922e; color: #111; font-weight: 700; letter-spacing: .04em; }
.quote-card-detailed > button:hover { background: #e0ad4a; }
@media (max-width: 700px) {
  .quote-scopes { grid-template-columns: 1fr; }
  .quote-scope + .quote-scope { border-top: 1px solid #ffffff1c; border-left: 0; }
  .quote-summary { align-items: start; flex-direction: column; }
  .quote-price { text-align: left; }
}
.message > div { white-space: pre-line; }

/* Des lignes plus courtes sans réduire les fenêtres : les échanges restent
   centrés dans leur espace, tandis que devis et autres cartes gardent toute
   la largeur disponible. */
.conversation .messages > .message,
.project-history .history-item {
  width: 68%;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 760px) {
  .conversation .messages > .message,
  .project-history .history-item {
    width: 100%;
  }
}
.history-scope-card { margin: 14px 0; padding: 0; overflow: hidden; border: 1px solid #b68a3e88; background: linear-gradient(145deg, #17151a, #111720); }
.history-scope-card > small { display: block; padding: 16px 18px 0; color: #dfb965; letter-spacing: .13em; }
.history-scope-card > p { margin: 0; padding: 10px 18px 16px; line-height: 1.45; }
.history-scope-columns { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #ffffff1c; }
.history-scope-card > .quote-scope { border-top: 1px solid #ffffff1c; }
.history-scope-card .quote-scope.optional li::before { content: "+"; color: #dfb965; }
@media (max-width: 700px) { .history-scope-columns { grid-template-columns: 1fr; } }
.payment-choices { display:grid; gap:.65rem; padding:1rem 2rem 1.5rem; border-top:1px solid rgba(213,160,48,.35); }
.payment-choices p { margin:0; color:#e8c266; }
.payment-choices > button { width:100%; transition:background-color .18s,color .18s,border-color .18s; }
.payment-choices > button:hover,.payment-choices > button:focus-visible,.payment-choices > button.payment-selected { background:#d5a030; color:#10141c; border-color:#f0c96a; }
.payment-final-confirm { font-weight:800; background:#d5a030!important; color:#10141c!important; }
.payment-choices > button:disabled { opacity:.45; cursor:not-allowed; }
.wallet-topups { display:flex; flex-wrap:wrap; align-items:stretch; gap:.5rem; }
.wallet-topups button { min-height:2.6rem; font-size:.78rem; padding:.55rem .85rem; }
.wallet-topups .wallet-amount-choice.selected { background:#c9962b; color:#10151d; }
.wallet-topups input { width:8rem; min-height:2.6rem; padding:.45rem .65rem; border:1px solid #c9962b; background:#0d1219; color:#f3eee8; font:inherit; }
.wallet-topups input:focus { outline:1px solid #e8c266; border-color:#e8c266; }
.wallet-topups .wallet-recharge-submit { font-weight:600; }
.client-wallet { margin:0 0 1.25rem; padding:1.25rem; border:1px solid #c9962b; background:#10151d; color:#f3eee8; }
.client-wallet > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.client-wallet > div:first-child strong { color:#e8c266; letter-spacing:.08em; }
.client-wallet > div:first-child b { color:#e8c266; font:2rem Georgia,serif; }
.client-wallet > small { display:block; margin:.35rem 0 1rem; color:#b9bcc2; white-space:pre-line; line-height:1.55; }
.client-wallet details { margin-top:1rem; border-top:1px solid #333943; padding-top:.75rem; }
.client-wallet details p { margin:.45rem 0; color:#c9ccd1; }
.wallet-pay-as-you-go { margin-top:.75rem; color:#9da1a8; font-size:.74rem; line-height:1.45; }
.wallet-pay-as-you-go strong { color:#aeb2b8; font-weight:600; }
.wallet-pay-as-you-go span { margin-left:.2rem; color:#9da1a8; }
.detail-grid { grid-template-columns:minmax(0,1fr) 190px; gap:1rem; }
.detail-grid > aside { min-width:0; align-self:start; align-content:start; grid-auto-rows:max-content; overflow-wrap:anywhere; }
.detail-navigation { align-content:start; grid-auto-rows:2.75rem; gap:.35rem; }
.detail-navigation button { height:2.75rem; padding:.62rem .75rem; text-align:left; font-size:.72rem; letter-spacing:.06em; }
.detail-navigation button.active { background:#c9962b; color:#10151d; }
.client-space aside > h3 { margin:0 0 .2rem; font-size:.68rem; letter-spacing:.08em; }
.client-space aside > p { margin:0 0 .75rem; }
.project-overview > header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #ffffff22; }
.project-overview > header small { color:#dfb965; letter-spacing:.12em; }
.project-overview > header h3 { margin:.3rem 0 0; font:1.65rem Georgia,serif; }
.overview-scope { margin-top:1rem; border:1px solid #ffffff22; }
.overview-scope > h4 { margin:0; padding:1rem 1.1rem; color:#dfb965; font-size:.76rem; letter-spacing:.12em; }
.overview-scope > p { margin:0; padding:0 1.1rem 1rem; line-height:1.45; }
.overview-empty,.documents-help { color:#b9bcc2; line-height:1.5; }
.project-history .history-item small { display:block; margin-bottom:.35rem; color:#dfb965; letter-spacing:.08em; }
.project-history .history-item p { margin:0; white-space:pre-line; line-height:1.45; }
.file-group { margin:1rem 0; border-top:1px solid #ffffff22; padding-top:.85rem; }
.file-group > h4 { margin:0 0 .75rem; color:#dfb965; font-size:.76rem; letter-spacing:.1em; }
.project-file-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid #ffffff16; }
.project-file-row strong,.project-file-row small { display:block; }
.project-file-row small { margin-top:.25rem; color:#9da1a8; }
.file-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.file-actions button,.file-actions .download { padding:.45rem .55rem; font-size:.67rem; }
.project-document-upload { display:grid; grid-template-columns:1fr auto; gap:.55rem; margin-top:1.25rem; padding:1rem; border:1px solid #b68a3e66; }
.project-document-upload label,.project-document-upload small { grid-column:1/-1; }
.project-document-upload label { color:#dfb965; font-size:.76rem; letter-spacing:.08em; }
.project-document-upload input { min-width:0; color:#c9ccd1; }
.production-timeline { margin:1rem 0; padding:1rem 1.1rem; border:1px solid #b68a3e66; background:#0e131b; color:#b9bcc2; }
.production-timeline > small { display:block; margin-bottom:.65rem; color:#dfb965; font-size:.72rem; letter-spacing:.11em; }
.production-events { display:grid; gap:.45rem; padding-right:.45rem; }
.production-events p { position:relative; margin:0; padding-left:1rem; font-size:.82rem; line-height:1.45; }
.production-events p::before { content:"·"; position:absolute; left:0; color:#777f89; }
.production-events p.done { color:#8e949d; }
.production-events p.current { color:#d7d9dc; }
.production-events p.current::before { color:#dfb965; }
.production-events p.production-detail { padding-left:1.35rem; font-size:.78rem; color:#aeb3bb; }
.production-events p.production-detail::before { content:"—"; color:#7d838c; }
.production-timeline > small::after { content:"◆"; display:inline-block; margin-left:.7rem; color:#dfb965; animation:atelier-turn 2.4s linear infinite; transform-origin:center; }
.waiting-diamond-row { display:grid; place-items:center; min-height:2.4rem; margin:.25rem 0 .8rem; }
.waiting-diamond { width:.72rem; height:.72rem; display:block; background:#dfb965; transform:rotate(45deg); animation:waiting-diamond 1.35s ease-in-out infinite; box-shadow:0 0 0 1px #dfb96555; }
.payment-confirmed { margin:0; color:#dfb965; }
.production-timeline.production-interrupted > small::after { content:none; }
.production-interruption-note { margin:.85rem 0 .65rem!important; padding:.8rem!important; border-left:2px solid #dfb965; color:#d7d9dc!important; background:#171c25; }
.production-interruption-note::before { content:none!important; }
.retry-production { width:max-content; padding:.72rem 1rem; border:1px solid #b68a3e; background:#c9962b; color:#10151d; font-weight:700; cursor:pointer; }
.retry-status { display:block; margin-top:.5rem; color:#aeb3bb; }
.visual-selector { margin-top:.8rem; padding:.9rem; border:1px solid #b68a3e88; background:#111720; }
.visual-selector > header { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:.7rem; color:#dfb965; font-size:.72rem; letter-spacing:.09em; }
.visual-creative-review { margin:.5rem 0 .9rem; padding:.7rem .8rem; border:1px solid #dfb96555; color:#e5e2da; }
.visual-creative-review summary { cursor:pointer; color:#dfb965; font-size:.72rem; letter-spacing:.06em; }
.visual-creative-review p { white-space:pre-line; line-height:1.5; max-height:18rem; overflow:auto; }
.visual-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.visual-choice { position:relative; min-width:0; padding:0; overflow:hidden; border:1px solid #ffffff25; background:#090d12; color:#fff; cursor:pointer; }
.visual-choice img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.visual-choice span { display:block; padding:.42rem .3rem; font-size:.58rem; letter-spacing:.06em; }
.visual-choice.selected { border:2px solid #dfb965; }
.visual-choice.selected span { background:#c9962b; color:#10151d; font-weight:700; }
.visual-choice-actions { display:flex; justify-content:space-between; gap:.6rem; margin-top:.75rem; }
.visual-choice-actions button { padding:.65rem .8rem; border:1px solid #b68a3e; background:transparent; color:#dfb965; cursor:pointer; }
.visual-choice-actions .visual-confirm { background:#c9962b; color:#10151d; font-weight:700; }
.visual-choice-actions button:disabled { opacity:.45; cursor:default; }
.visual-feedback { width:100%; display:grid; gap:.6rem; }
.visual-feedback p { margin:0; color:#d7d9dc; }
.visual-feedback textarea { min-height:4.5rem; resize:vertical; padding:.7rem; border:1px solid #b68a3e88; background:#0b1017; color:#f4f0e8; font:inherit; }
.visual-feedback.incomplete textarea:invalid { border-color:#dfb965; box-shadow:0 0 0 1px #dfb965; }
.conversation { width:min(1280px,calc(100vw - 32px)); height:min(900px,calc(100dvh - 24px)); max-height:calc(100dvh - 24px); overflow:hidden; }
.conversation[open] { display:flex; flex-direction:column; }
.conversation > header,.conversation > .reply-form { flex:none; }
.conversation .messages { flex:1 1 auto; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; }
.conversation .reply-form { grid-template-columns:auto minmax(0,1fr) auto; gap:.5rem; align-items:end; }
.conversation .reply-form .attachment-input { display:none; }
.conversation .reply-form .attachment-trigger { max-width:12rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.conversation .reply-form .reply-attachment-list { grid-column:1/-1; color:#dfb965; overflow-wrap:anywhere; }
.conversation .reply-form textarea { min-width:0; max-height:30vh; resize:vertical; }
.visual-selector,.visual-choice-grid,.visual-selection-board { max-height:none; overflow:visible; }
.studio-storyboard { margin:1.2rem 0; padding:1rem; border:1px solid rgba(160,135,107,.4); }
.studio-storyboard-page { margin:1rem 0 1.5rem; }
.studio-storyboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.studio-storyboard-card { display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.studio-storyboard-central { display:flex; align-items:center; gap:1rem; margin:1rem 0; padding:.8rem; border:1px solid #dfb965; color:#dfb965; }
.studio-storyboard-central img { width:min(220px,40%); max-height:150px; object-fit:contain; }
.studio-storyboard-central p { margin:0; }
.studio-storyboard-badge { color:#dfb965; font-size:.8rem; font-weight:700; }
.studio-storyboard-card > img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.studio-storyboard-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; margin:1rem 0 1.5rem; max-height:none; overflow:visible; }
.studio-storyboard-choices[hidden] { display:none; }
.studio-storyboard-choice { position:relative; min-width:0; padding:0; border:1px solid #b68a3e; background:#0b1017; cursor:pointer; }
.studio-storyboard-choice img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; }
.studio-storyboard-choice:hover,.studio-storyboard-choice:focus-visible { z-index:2; outline:2px solid #dfb965; }
.studio-storyboard-choice:hover img,.studio-storyboard-choice:focus-visible img { transform:scale(1.5); background:#0b1017; box-shadow:0 12px 28px #000c; }
.studio-storyboard-choices > button:not(.studio-storyboard-choice) { min-height:3rem; }
@media (max-width:700px) { .studio-storyboard-grid { grid-template-columns:1fr; } .studio-storyboard-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } .studio-storyboard-choice:hover img,.studio-storyboard-choice:focus-visible img { transform:none; } }
.client-space { max-height:100dvh; overflow-y:auto; }
.client-space > section,.client-space .project-detail { max-height:none; overflow:visible; }
.open-deliverables { width:max-content; margin-top:.5rem; padding:.72rem 1rem; border:1px solid #b68a3e; background:#c9962b; color:#10151d; font-weight:700; cursor:pointer; }
.overview-completion { margin-top:1rem; padding:1.1rem; border:1px solid #b68a3e; background:#0e131b; }
.overview-completion h4 { margin:0 0 .75rem; color:#dfb965; letter-spacing:.12em; }
.overview-completion p { margin:0 0 1rem; font:1.15rem/1.45 Georgia,serif; }
.overview-completion dl { display:grid; grid-template-columns:7rem 1fr; gap:.45rem .8rem; margin:0 0 1rem; }
.overview-completion dt { color:#9298a1; }
.overview-completion dd { margin:0; color:#e1e3e6; overflow-wrap:anywhere; }
.continuation-panel { margin-top:1rem; padding:1.1rem; border:1px solid #ffffff22; background:#0e131b; }
.continuation-panel > h4 { margin:0 0 .5rem; color:#dfb965; letter-spacing:.12em; }
.continuation-panel > p { margin:.25rem 0 1rem; color:#b9bec6; }
.continuation-list { display:grid; gap:.75rem; }
.continuation-card { display:grid; grid-template-columns:minmax(10rem,.8fr) minmax(14rem,1.5fr) auto; align-items:center; gap:.65rem 1rem; padding:.85rem; border:1px solid #b68a3e88; }
.continuation-card h5, .continuation-card p { margin:0; }
.continuation-card h5 { color:#dfb965; font-size:1rem; }
.continuation-card small { grid-column:2; color:#aeb4bd; }
.continuation-yes { grid-column:3; grid-row:1 / span 2; min-width:5.5rem; padding:.7rem 1rem; border:1px solid #b68a3e; background:#c9962b; color:#10151d; font-weight:800; cursor:pointer; }
.continuation-yes:disabled { border-color:#62666c; background:#3a3d42; color:#92979d; cursor:not-allowed; }
@media (max-width:760px) { .continuation-card { grid-template-columns:1fr; } .continuation-card small, .continuation-yes { grid-column:1; grid-row:auto; } }
@keyframes atelier-turn { to { transform:rotate(360deg); } }
@keyframes waiting-diamond { 0%,100% { opacity:.35; transform:rotate(45deg) scale(.68); } 50% { opacity:1; transform:rotate(225deg) scale(1); } }
@media (prefers-reduced-motion:reduce) { .production-timeline > small::after,.waiting-diamond { animation:none; } }
.project-production-timeline { margin-top:1rem; }
.project-production-timeline .production-events { max-height:none; overflow:visible; padding-right:0; }
@media (max-width:700px) { .detail-grid { display:block; } .detail-navigation { grid-template-columns:repeat(4,1fr); margin-bottom:1rem; } .detail-navigation button { text-align:center; } .project-file-row { align-items:flex-start; flex-direction:column; } .file-actions { justify-content:flex-start; } .visual-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
