/* Édition « La Villa Gold Événementiel » : charte du logo (bleu nuit et or) sur fond clair, pour la lisibilité. */
html[data-edition="villa"]{--vg-navy:#1a237e;--vg-navy-2:#0f1557;--vg-gold:#c9a24a;--vg-gold-2:#e6c97a;--vg-gold-ink:#7a5a12;--vg-cream:#fbf7ec;--vg-side:#fffdf7;--studio-accent:#c9a24a}
html[data-edition="villa"] body:has(.shell){background:var(--vg-cream);color:#1f2340}
/* Barre latérale claire : textes bleu nuit, filet doré */
html[data-edition="villa"] .shell aside{background:var(--vg-side)!important;border-right:3px solid var(--vg-gold)!important;color:var(--vg-navy)!important}
html[data-edition="villa"] .shell aside nav button,html[data-edition="villa"] .shell aside nav button *,html[data-edition="villa"] .shell aside nav :is(h3,h4,summary,small,span,.nav-group-title),html[data-edition="villa"] .shell aside .brand small,html[data-edition="villa"] .shell aside .brand .edition-name{color:var(--vg-navy)!important}
html[data-edition="villa"] .shell aside nav button:hover{background:#f7ecd0!important;color:var(--vg-navy-2)!important}
html[data-edition="villa"] .shell aside nav button.active,html[data-edition="villa"] .shell aside nav button.active:hover{background:linear-gradient(90deg,var(--vg-gold),var(--vg-gold-2))!important;box-shadow:none!important}
html[data-edition="villa"] .shell aside nav button.active,html[data-edition="villa"] .shell aside nav button.active *{color:var(--vg-navy-2)!important;font-weight:650}
html[data-edition="villa"] .shell aside footer,html[data-edition="villa"] .shell aside footer *{color:#4a5070!important}
html[data-edition="villa"] .shell aside footer a{color:var(--vg-gold-ink)!important}
html[data-edition="villa"] .shell aside :is(strong,span,small,button){color:var(--vg-navy)}
html[data-edition="villa"] .shell aside .aside-switch{color:var(--vg-navy)!important;border-color:var(--vg-gold)!important;background:#fff!important}
html[data-edition="villa"] .shell aside .aside-switch:hover{background:#f7ecd0!important}
html[data-edition="villa"] .shell aside .brand .edition-name{background:#f7ecd0!important;border:1px solid var(--vg-gold)}
html[data-edition="villa"] .shell .logo img.vg-side-logo{filter:none!important;width:100%;max-width:150px;height:auto;border-radius:6px;display:block}
html[data-edition="villa"] .shell .logo:has(.vg-side-logo){width:auto;height:auto;background:none;padding:0}
/* Bandeau d'accueil clair */
html[data-edition="villa"] .shell .hero{background:linear-gradient(115deg,#fffdf6,#f7ecd0)!important;border:1px solid var(--vg-gold)!important;box-shadow:none}
html[data-edition="villa"] .shell .hero h1{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500;color:var(--vg-navy)!important}
html[data-edition="villa"] .shell .hero :is(p,span,small,blockquote,em,div,.eyebrow){color:#3a3f5c!important}
html[data-edition="villa"] .shell .hero .eyebrow{color:var(--vg-gold-ink)!important;letter-spacing:2px}
html[data-edition="villa"] .shell .hero :is(blockquote,.quote,p:first-of-type){border-left-color:var(--vg-gold)!important}
html[data-edition="villa"] .shell .hero:after{border-color:#c9a24a66}
/* Titres, chiffres, étiquettes */
html[data-edition="villa"][data-activity-theme] .shell h2,html[data-edition="villa"][data-activity-theme] .shell h3{color:var(--vg-navy)}
html[data-edition="villa"][data-activity-theme] .shell .stat{border-top:3px solid var(--vg-gold)}
html[data-edition="villa"][data-activity-theme] .shell .home-stats .stat:nth-child(n){background:#fffdf6;border-color:#ead9a8}
html[data-edition="villa"][data-activity-theme] .shell .stat strong{color:var(--vg-gold-ink)}
html[data-edition="villa"][data-activity-theme] .shell .tag{background:#f7ecd0;color:var(--vg-gold-ink);border-color:#e6cf92}
/* Boutons dorés, texte bleu nuit */
html[data-edition="villa"][data-activity-theme] .shell .primary,html[data-edition="villa"][data-activity-theme] dialog .primary,html[data-edition="villa"] dialog button[type=submit]{background:linear-gradient(180deg,var(--vg-gold-2),var(--vg-gold));color:var(--vg-navy-2);border-color:var(--vg-gold);font-weight:650}
html[data-edition="villa"][data-activity-theme] .shell .primary:hover,html[data-edition="villa"][data-activity-theme] dialog .primary:hover{background:var(--vg-gold);color:var(--vg-navy-2)}
html[data-edition="villa"][data-activity-theme] .shell .secondary,html[data-edition="villa"][data-activity-theme] dialog .secondary{background:#fff;color:var(--vg-navy);border-color:#d9c690}
html[data-edition="villa"][data-activity-theme] .shell .secondary:hover{background:#fbf3dd;border-color:var(--vg-gold)}
html[data-edition="villa"][data-activity-theme] .shell .home-link{color:var(--vg-gold-ink)!important}
/* Calendrier de la villa : réservé = or clair, option = crème hachurée */
html[data-edition="villa"] .venue-day.is-booked{background:#f3dfa6!important;color:var(--vg-navy-2)!important;border-color:var(--vg-gold)!important}
html[data-edition="villa"] .venue-day.is-booked :is(small,span,strong){color:var(--vg-navy-2)!important}
html[data-edition="villa"] .venue-day.is-option{background:repeating-linear-gradient(135deg,#fffaf0,#fffaf0 6px,#f7ecd0 6px,#f7ecd0 8px)!important;border:1px dashed var(--vg-gold)!important}
html[data-edition="villa"] .venue-day.is-today{outline:2px solid var(--vg-navy)}
html[data-edition="villa"] .venue-lg-booked{color:var(--vg-gold)}html[data-edition="villa"] .venue-lg-option{color:#e6cf92}
/* Écran de connexion clair */
html[data-edition="villa"] .auth-screen{background:radial-gradient(circle at 15% 10%,#f7ecd0 0,transparent 50%),linear-gradient(160deg,#fffdf7,#f3e7c8)}
html[data-edition="villa"] .auth-card{border-color:var(--vg-gold);box-shadow:0 30px 80px #7a5a1226}
html[data-edition="villa"] .auth-card .eyebrow{color:var(--vg-gold-ink);letter-spacing:3px}
html[data-edition="villa"] .auth-card h1{font-family:Georgia,'Times New Roman',serif;color:var(--vg-navy)}
html[data-edition="villa"] .auth-card button.primary,html[data-edition="villa"] .auth-card button[type=submit]{background:linear-gradient(180deg,var(--vg-gold-2),var(--vg-gold));color:var(--vg-navy-2);border-color:var(--vg-gold)}
/* Barre mobile claire */
html[data-edition="villa"] .mobile-top{background:var(--vg-side)!important;color:var(--vg-navy)!important;border-bottom:2px solid var(--vg-gold)}
html[data-edition="villa"] .mobile-dock button.active{color:var(--vg-gold-ink)!important}
/* Module Contrats */
.vg-list{display:grid;gap:12px}.vg-steps{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.vg-step{font-size:12px;padding:2px 9px;border-radius:20px;background:#eceff5;color:#4a5068}
.vg-step.is-ok{background:#e3f4e8;color:#1b5e33}.vg-step.is-wait{background:#f7ecd0;color:#7a5a12}
.vg-link{word-break:break-all;background:#f6f1e1;border:1px dashed #c9a24a;padding:8px;border-radius:8px;font-size:13px}
/* Document imprimé (même mise en page que le contrat papier) */
.vg-doc{font-family:Georgia,'Times New Roman',serif;color:#111;max-width:760px;margin:0 auto;line-height:1.45;font-size:12.5px}
.vg-doc img.vg-logo{width:140px;height:auto;display:block}.vg-doc h1{text-align:center;font-size:20px;margin:16px 0 14px;letter-spacing:.3px}
.vg-doc h2{font-size:15px;margin:18px 0 6px}.vg-doc h3{font-size:13px;margin:10px 0 2px}.vg-doc p{margin:0 0 6px;text-align:justify}
.vg-doc table{width:100%;border-collapse:collapse;margin:6px 0}.vg-doc td,.vg-doc th{border:1px solid #888;padding:4px 6px;text-align:center}.vg-doc td:first-child,.vg-doc th:first-child{text-align:left}
.vg-doc .vg-red{color:#c00}.vg-doc .vg-box{background:#e6e6e6;padding:8px 10px;margin:10px 0}.vg-doc .vg-box p{color:#c00}
.vg-doc .vg-field{display:flex;gap:8px;flex-wrap:wrap;margin:3px 0}.vg-doc .vg-field span{background:#e8e8e8;padding:0 8px;flex:1;min-width:160px}
.vg-doc ul{margin:4px 0 8px 18px;padding:0}.vg-doc .vg-foot{font:10px system-ui,sans-serif;color:#444;border-top:1px solid #ccc;margin-top:14px;padding-top:4px;display:flex;justify-content:space-between}
.vg-doc .vg-sigs{display:flex;justify-content:space-between;gap:16px;margin-top:16px}.vg-doc .vg-sigs>div{flex:1}.vg-doc .vg-sigs img{max-width:220px;max-height:90px}
.vg-doc .vg-break{break-before:page;border:0;margin:0;height:0}
@media print{.vg-doc{font-size:10.5pt}.vg-doc h2,.vg-doc h3{break-after:avoid}.vg-doc table,.vg-doc .vg-box,.vg-doc .vg-sigs{break-inside:avoid}#print-document .vg-doc p{white-space:normal}}
.vg-pagefoot{display:none}@media print{.vg-doc .vg-pagefoot{display:block;position:fixed;bottom:-9mm;right:0;font:8pt system-ui,sans-serif;color:#555}}
.vg-preview .vg-doc{background:#fff;padding:16px;border:1px solid #e5dcc0;border-radius:8px;max-height:60vh;overflow:auto}
html[data-edition="villa"] .shell aside .brand{font-size:0;line-height:0}
html[data-edition="villa"] .shell aside .brand .edition-name,html[data-edition="villa"] .shell aside .brand small{font-size:12px;line-height:1.4}
html[data-edition="villa"] .shell aside .brand .logo{margin-bottom:8px}
.vg-doc .vg-red,.vg-doc .vg-box p{color:#c00!important}
dialog:has(.vg-preview){width:min(920px,96vw);max-width:none}
.vg-preview .vg-doc{max-height:70vh}
/* Agenda */
.vg-ag-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:10px 0}
.vg-ag-day{background:#fff;border:1px solid #ead9a8;border-radius:10px;padding:6px;min-height:150px;display:flex;flex-direction:column;gap:5px}
.vg-ag-day.is-today{border:2px solid #c9a24a;background:#fffdf6}.vg-ag-day.is-past{opacity:.7}
.vg-ag-dayhead{display:flex;justify-content:space-between;align-items:baseline;background:none;border:0;padding:2px 4px;color:#1a237e;cursor:pointer;text-transform:capitalize;font-size:12px}
.vg-ag-dayhead strong{font-size:18px}
.vg-ag-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;border:0;border-left:4px solid;border-radius:6px;padding:5px 7px;font-size:12px;cursor:pointer;width:100%;color:#1f2340}
.vg-ag-item strong{font-size:11px}.vg-ag-item small{color:#4a5070}
.vg-ag-visite{background:#e9ecfb;border-color:#1a237e}.vg-ag-rdv{background:#f7ecd0;border-color:#c9a24a}.vg-ag-perso{background:#eef0f3;border-color:#8a90a6}
.vg-ag-booking{background:repeating-linear-gradient(135deg,#fff8e6,#fff8e6 6px,#f3dfa6 6px,#f3dfa6 8px);border-color:#7a5a12}
.vg-ag-item.is-annulé,.vg-ag-item.is-absent{opacity:.55;text-decoration:line-through}.vg-ag-item.is-fait{opacity:.75}
.vg-ag-add{margin-top:auto;background:none;border:1px dashed #d9c690;border-radius:6px;color:#7a5a12;cursor:pointer;padding:2px}
.vg-ag-list{display:grid;gap:6px;max-width:640px}.vg-ag-list h3{margin:12px 0 2px;text-transform:capitalize}
@media(max-width:900px){.vg-ag-week{grid-template-columns:1fr}.vg-ag-day{min-height:auto}}
/* Sous le logo de la villa : logo MyBusinessTools à la place de « Événementiel » */
html[data-edition="villa"] .shell aside .brand .edition-name{font-size:0!important;color:transparent!important;background:url(logo-v2.svg) left center/contain no-repeat!important;border:0!important;border-radius:0!important;padding:0!important;display:block;width:140px;height:32px;margin:6px 0 2px}
.vg-ag-nav{text-transform:none!important}.vg-ag-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vg-ag-key{border-left:4px solid;border-radius:4px;padding:1px 8px;font-size:12px;color:#1f2340}
/* Plus de bleu ciel : onglets, sous-menus, bordures et encadrés en or et crème */
html[data-edition="villa"] .section-subnav,html[data-edition="villa"] .shell .calendar-views{background:#fffaf0!important;border-color:#ead9a8!important}
html[data-edition="villa"] .section-tab,html[data-edition="villa"] .section-subnav-title{color:var(--vg-navy)!important;font-weight:700!important}
html[data-edition="villa"] .section-tab:hover{background:#f7ecd0!important}
html[data-edition="villa"] .section-tab.active{background:linear-gradient(180deg,var(--vg-gold-2),var(--vg-gold))!important;color:var(--vg-navy-2)!important;border-color:var(--vg-gold)!important}
html[data-edition="villa"] .shell :is(aside,header,.home-panel,.card,.home-row,th,td,.daily-motivation,.client-card,.stat,.finance-table th,.finance-table td){border-color:#ead9a8!important}
html[data-edition="villa"] .shell .daily-motivation{background:#fffaf0!important}
html[data-edition="villa"] .shell .notice,html[data-edition="villa"] .shell .message-preview{background:#fffaf0!important;border-color:#e6cf92!important;color:#5a4410!important}
html[data-edition="villa"] .shell .finance-table th{background:#f7ecd0!important;color:var(--vg-navy)!important}
html[data-edition="villa"] .shell aside{border-right:3px solid var(--vg-gold)!important}
html[data-edition="villa"] .shell :is(input,select,textarea):focus{outline-color:var(--vg-gold)!important;border-color:var(--vg-gold)!important}
/* Menus en gras */
html[data-edition="villa"] .shell aside nav button,html[data-edition="villa"] .shell aside nav button *,html[data-edition="villa"] .shell aside nav :is(summary,.nav-group-title,.nav-section-button){font-weight:700!important}
html[data-edition="villa"] .mobile-dock button{font-weight:700!important}
/* Logo MyBusinessTools au-dessus du logo de la villa */
html[data-edition="villa"] .shell aside .brand{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px}
html[data-edition="villa"] .shell aside .brand .edition-name{order:-1;margin:0 0 2px!important}
.vg-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vg-quick small{flex-basis:100%;color:#5a4410;font-weight:600}.vg-quick button{padding:6px 10px!important;font-weight:700}
.vg-quick-panel{margin:12px 0}.vg-quick-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.vg-quick-row>div:first-child{display:flex;flex-direction:column}
/* Pas de slogan sous le logo de la villa */
html[data-edition="villa"] .shell aside .brand small{display:none!important}
/* Mes clients et champs : plus de bleu ciel */
html[data-edition="villa"][data-activity-theme] .alphabet-nav button[aria-pressed=true]{background:linear-gradient(180deg,var(--vg-gold-2),var(--vg-gold))!important;color:var(--vg-navy-2)!important;border-color:var(--vg-gold)!important;font-weight:700}
html[data-edition="villa"][data-activity-theme] .alphabet-nav button:hover{background:#f7ecd0!important;border-color:var(--vg-gold)!important}
html[data-edition="villa"][data-activity-theme] .contact-directory .contact-tile{border-color:#ead9a8!important}
html[data-edition="villa"][data-activity-theme] .contact-directory .contact-tile:hover{background:#fffaf0!important}
html[data-edition="villa"][data-activity-theme] .contact-directory .contact-tile[aria-pressed=true]{background:#f7ecd0!important;border-color:var(--vg-gold)!important;box-shadow:inset 3px 0 var(--vg-gold)!important}
html[data-edition="villa"][data-activity-theme] :is(.shell,dialog) :is(input,select,textarea){border-color:#d9c690!important}
html[data-edition="villa"][data-activity-theme] .shell :is(.calendar-day-header.is-today strong,.month-today .month-day-number){background:#f3dfa6!important;color:var(--vg-navy-2)!important}
html[data-edition="villa"][data-activity-theme] .mobile-dock button.active{background:#f7ecd0!important;color:var(--vg-navy-2)!important}
.vg-caution{border-left:5px solid #c9a24a!important}.vg-caution.is-late{border-left-color:#c62828!important}.vg-caution.is-closed{border-left-color:#2e7d32!important;opacity:.9}.vg-caution.is-wait{border-left-color:#8a90a6!important}
.vg-stat-alert{border-top-color:#c62828!important}.vg-stat-alert strong{color:#c62828!important}
.vg-caution details{margin-top:6px}.vg-caution summary{cursor:pointer;color:#7a5a12;font-weight:600}
/* Pied de page : logo MyBusinessTools centré, aux couleurs de la villa (or) */
html[data-edition="villa"] .shell .bottom{font-size:0!important;color:transparent!important;display:flex!important;justify-content:center;align-items:center;padding:18px 0 22px!important;border-top:1px solid #ead9a8;margin-top:24px}
html[data-edition="villa"] .shell .bottom::before{content:"";display:block;width:150px;height:34px;background-color:#a8842f;-webkit-mask:url(logo-v2.svg) center/contain no-repeat;mask:url(logo-v2.svg) center/contain no-repeat}
/* Mobile : barre du bas, bouton d'aide et boutons dorés aux couleurs de la villa */
html[data-edition="villa"] .mobile-dock{background:var(--vg-side)!important;border-top:2px solid var(--vg-gold)!important;box-shadow:0 -6px 20px #7a5a1222!important}
html[data-edition="villa"] .mobile-dock button,html[data-edition="villa"] .mobile-dock button *{color:var(--vg-navy)!important;background-color:transparent!important;border-color:transparent!important;font-weight:700!important}
html[data-edition="villa"] .mobile-dock button svg{stroke:var(--vg-navy)!important}
html[data-edition="villa"] .mobile-dock button.active{background:linear-gradient(180deg,var(--vg-gold-2),var(--vg-gold))!important;border-color:var(--vg-gold)!important}
html[data-edition="villa"] .mobile-dock button.active,html[data-edition="villa"] .mobile-dock button.active *{color:var(--vg-navy-2)!important}
html[data-edition="villa"] .mobile-dock button.active svg{stroke:var(--vg-navy-2)!important}
html[data-edition="villa"] .connected-assistant-launcher{background:var(--vg-navy)!important;color:var(--vg-gold-2)!important;border:2px solid var(--vg-gold)!important}
html[data-edition="villa"] :is(.shell,dialog) .primary,html[data-edition="villa"] :is(.shell,dialog) .primary *{color:var(--vg-navy-2)!important}
html[data-edition="villa"] :is(.shell,dialog,.auth-card) :is(.primary,.section-tab.active,.alphabet-nav button[aria-pressed=true]),html[data-edition="villa"] .mobile-dock button{--surface-text:#0f1557;--interface-text:#0f1557}
html[data-edition="villa"] body .mobile-dock button.active{background-image:linear-gradient(180deg,#e6c97a,#c9a24a)!important;background-color:#c9a24a!important;border-radius:14px}
/* Haut de la barre latérale : seul le logo de la villa (MyBusinessTools est en pied de page) */
html[data-edition="villa"] .shell aside .brand .edition-name{display:none!important}
/* Journal sur mobile : chaque ligne devient une carte lisible */
@media(max-width:760px){html[data-edition="villa"] .vg-jtable table,html[data-edition="villa"] .vg-jtable tbody,html[data-edition="villa"] .vg-jtable tr,html[data-edition="villa"] .vg-jtable td{display:block;width:100%!important}
html[data-edition="villa"] .vg-jtable thead,html[data-edition="villa"] .vg-jtable tr:first-child:has(th){display:none}
html[data-edition="villa"] .vg-jtable tr{background:#fff;border:1px solid #ead9a8;border-radius:12px;margin:0 0 10px;padding:6px 10px}
html[data-edition="villa"] .vg-jtable td{border:0!important;padding:4px 0!important;text-align:left!important;white-space:normal!important}
html[data-edition="villa"] .vg-jtable td[data-l]:not([data-l=""])::before{content:attr(data-l)" : ";font-weight:700;color:#7a5a12}
html[data-edition="villa"] .vg-jtable{overflow:visible!important}}
/* Planning : statut de paiement */
html[data-edition="villa"] .venue-day.pay-soldee{background:#dff1e3!important;border-color:#2e7d32!important;color:#14321b!important}
html[data-edition="villa"] .venue-day.pay-acompte{background:#f3dfa6!important;border-color:#c9a24a!important}
html[data-edition="villa"] .venue-day.pay-aucun{background:repeating-linear-gradient(135deg,#fffaf0,#fffaf0 6px,#f3e7c8 6px,#f3e7c8 8px)!important;border:1px dashed #c9a24a!important}
html[data-edition="villa"] .venue-day.is-dim{opacity:.25}
html[data-edition="villa"] .venue-day em.venue-pay{display:block;font-style:normal;font-size:10px;font-weight:700;margin-top:2px}
html[data-edition="villa"] .venue-day.pay-soldee em.venue-pay{color:#2e7d32!important}html[data-edition="villa"] .venue-day.pay-acompte em.venue-pay{color:#7a5a12!important}html[data-edition="villa"] .venue-day.pay-aucun em.venue-pay{color:#a33!important}
.venue-key{display:inline-block;border-radius:6px;padding:1px 8px;margin-right:6px;font-size:12px;border:1px solid}
.venue-key.pay-soldee,.vg-ag-key.pay-soldee{background:#dff1e3;border-color:#2e7d32}.venue-key.pay-acompte,.vg-ag-key.pay-acompte{background:#f3dfa6;border-color:#c9a24a}.venue-key.pay-aucun,.vg-ag-key.pay-aucun{background:#fffaf0;border-color:#c9a24a;border-style:dashed}
.venue-pay-tag.pay-soldee{background:#dff1e3!important;color:#1b5e20!important}.venue-pay-tag.pay-acompte{background:#f3dfa6!important;color:#5a4410!important}.venue-pay-tag.pay-aucun{background:#fdecea!important;color:#a33!important}
.vg-ag-booking.pay-soldee{background:#dff1e3!important;border-color:#2e7d32!important}.vg-ag-booking.pay-acompte{background:#f3dfa6!important;border-color:#c9a24a!important}.vg-ag-booking.pay-aucun{background:repeating-linear-gradient(135deg,#fff8e6,#fff8e6 6px,#f3e7c8 6px,#f3e7c8 8px)!important;border-color:#a33!important}
.venue-payfilter,.vg-ag-filter{flex-wrap:wrap}
/* Fidélisation */
.vg-badge{display:inline-block;background:#f3dfa6;color:#5a4410;border:1px solid #c9a24a;border-radius:20px;padding:2px 10px;font-weight:700;font-size:13px}
.vg-ref-box{display:grid;gap:6px;margin:6px 0 10px;padding:8px 10px;border:1px dashed #d9c690;border-radius:10px;background:#fffaf0}.vg-ref-box:empty{display:none}
.vg-ref-reward span{font-weight:700;color:#5a4410}
.sp-ok{color:#1b5e20;font-weight:700}
.vg-wa-text{white-space:pre-wrap;background:#e7f6ec;border-radius:10px;padding:8px 10px;color:#14321b}
.vg-wa-card{border-left:5px solid #25d366!important}
/* Écran de connexion : logo de la villa (remplacement fiable, même avant le script) */
html[data-edition="villa"] img.auth-logo{content:url(villa-logo.jpg);width:160px!important;height:auto!important;filter:none!important;border-radius:6px;margin-bottom:6px}
/* Avenants */
.vg-av-row{border:1px solid #ead9a8;border-radius:10px;padding:8px 10px;margin:6px 0;background:#fffaf0;display:grid;gap:4px}
.vg-av-table{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 10px}.vg-av-table td,.vg-av-table th{border:1px solid #ead9a8;padding:4px 6px;text-align:left}.vg-av-table th{background:#f7ecd0}
.vg-client-extra{display:grid;gap:4px;margin:6px 0}.vg-person{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0;align-items:center}.vg-person input,.vg-person select{min-width:110px;flex:1}.vg-person button{padding:4px 10px;flex:0 0 auto}
/* Panel de tests 14/11 : menu mobile aux couleurs de la charte, grille A–Z masquée sur téléphone, personnes supplémentaires lisibles */
html[data-edition="villa"] .mobile-menu{background:#fffaf0!important;border-color:#e6d3a3!important}
html[data-edition="villa"] .mobile-menu-grid button{background:#fff!important;border-color:#ecdcb4!important;color:#0f1557!important}
@media(max-width:760px){html[data-edition="villa"] .alphabet-nav{display:none!important}}
html[data-edition="villa"] .vg-person button{min-width:44px;min-height:44px}
html[data-edition="villa"] .vg-person-head{display:flex;gap:6px;font-size:12px;color:#5b5f7a;margin:6px 0 2px}
html[data-edition="villa"] .vg-pf{display:flex;flex-direction:column;gap:2px;margin:0}html[data-edition="villa"] .vg-pf small{font-size:11px;color:#5b5f7a;font-weight:600}
html[data-edition="villa"] .vg-person{align-items:flex-end}html[data-edition="villa"] .vg-person .vg-pf{flex:1;min-width:110px}
/* Contrat Villa, version 2 : titres en Didot / Bodoni (élégance), texte en sans-serif lisible, or et bleu nuit de la charte */
.vg-doc.vg-v2{--vg2-gold:#b8913a;--vg2-gold-l:#f6eedb;--vg2-navy:#0f1557;--vg2-ink:#1d2033;--vg2-muted:#6b6f85;font-family:"Avenir Next","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--vg2-ink);font-size:13.5px;line-height:1.6;max-width:780px;margin:0 auto}
.vg-v2 .vg2-part{padding:6px 0 4px}.vg-v2 .vg2-part+.vg2-part{border-top:2px dashed #e3d6b4;margin-top:28px;padding-top:26px}
.vg-v2 .vg2-head{text-align:center;margin-bottom:18px}.vg-v2 .vg2-head img.vg-logo{width:120px;height:auto;margin:0 auto 6px;display:block}
.vg-v2 h1{font-family:Didot,"Bodoni 72","Bodoni MT","Playfair Display",Georgia,serif;font-weight:600;font-size:25px;letter-spacing:.06em;text-transform:uppercase;color:var(--vg2-navy);margin:4px 0 2px;text-align:center}
.vg-v2 .vg2-sub{color:var(--vg2-gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0;text-align:center}
.vg-v2 .vg2-head:after{content:"";display:block;width:90px;height:2px;background:var(--vg2-gold);margin:12px auto 0}
.vg-v2 h2{font-family:Didot,"Bodoni 72","Bodoni MT",Georgia,serif;font-size:17px;font-weight:600;color:var(--vg2-navy);border-bottom:1px solid #e3d6b4;padding-bottom:3px;margin:22px 0 8px}
.vg-v2 h3{font-size:13.5px;font-weight:700;color:var(--vg2-navy);margin:12px 0 3px}
.vg-v2 p{margin:0 0 7px;text-align:left}.vg-v2 .vg2-lead{font-style:italic;color:var(--vg2-muted)}
.vg-v2 .vg2-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vg-v2 .vg2-party{background:#fffaf0;border:1px solid #ecdcb4;border-top:3px solid var(--vg2-gold);border-radius:8px;padding:10px 12px}
.vg-v2 .vg2-party h3{margin-top:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vg2-gold)}.vg-v2 .vg2-name{font-weight:700;font-size:15px;color:var(--vg2-navy);margin-bottom:4px}
.vg-v2 .vg2-note{color:var(--vg2-muted);font-size:12px;font-style:italic}.vg-v2 .vg2-miss{color:#a0a3b5;font-style:italic}
.vg-v2 table{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:13px}
.vg-v2 .vg2-kv th{width:38%;text-align:left;font-weight:600;color:var(--vg2-muted);padding:5px 10px 5px 0;border:0;border-bottom:1px solid #eee5cf;vertical-align:top}
.vg-v2 .vg2-kv td{text-align:left;padding:5px 0;border:0;border-bottom:1px solid #eee5cf}.vg-v2 .vg2-mini th{width:42%}
.vg-v2 .vg2-strong{font-weight:700;color:var(--vg2-navy)}
.vg-v2 .vg2-table th{background:var(--vg2-navy);color:#fff;font-weight:600;padding:6px 8px;border:1px solid var(--vg2-navy);text-align:left}
.vg-v2 .vg2-table td{padding:6px 8px;border:1px solid #e3d6b4;text-align:left}.vg-v2 .vg2-table td:nth-child(n+2){text-align:right}.vg-v2 .vg2-table th:nth-child(n+2){text-align:right}
.vg-v2 .vg2-total td{background:var(--vg2-gold-l);font-weight:700}
.vg-v2 .vg2-list{margin:4px 0 10px 20px;padding:0}.vg-v2 .vg2-list li{margin:2px 0}.vg-v2 .vg2-warn{color:#a3271f}
.vg-v2 .vg2-alert{background:#fbf3f2;border-left:4px solid #a3271f;color:#7a1d17;padding:8px 12px;border-radius:4px;font-size:12.5px}
.vg-v2 .vg2-article{margin-bottom:6px}.vg-v2 .vg2-box{background:#fbf3f2;border:1px solid #e9c6c2;border-radius:8px;padding:10px 14px}
.vg-v2 .vg2-strongp{font-weight:700}.vg-v2 .vg2-paraph{margin-top:16px;text-align:right;color:var(--vg2-muted);font-size:12px}
.vg-v2 .vg-sigs{display:flex;gap:18px;margin-top:18px}.vg-v2 .vg-sigs>div{flex:1;min-height:110px;border:1px dashed #d8c48f;border-radius:8px;padding:8px 10px}.vg-v2 .vg-sigs>div:empty{border:0}.vg-v2 .vg-sigs h3{margin-top:0}
.vg-v2 .vg-sigs img{max-width:220px;max-height:90px}
.vg-v2 .vg-foot{font:10.5px "Avenir Next","Segoe UI",Arial,sans-serif;color:var(--vg2-muted);border-top:1px solid var(--vg2-gold);margin-top:18px;padding-top:5px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.vg-v2 .vg2-parties{grid-template-columns:1fr}.vg-v2 h1{font-size:20px}.vg-v2 .vg2-kv th{width:45%}}
@media print{.vg-doc.vg-v2{font-size:10pt;max-width:none}.vg-v2 .vg2-part+.vg2-part{break-before:page;border:0;margin-top:0;padding-top:0}.vg-v2 h2,.vg-v2 h3{break-after:avoid}.vg-v2 table,.vg-v2 .vg2-party,.vg-v2 .vg-sigs,.vg-v2 .vg2-article,.vg-v2 .vg2-alert{break-inside:avoid}.vg-v2 .vg2-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.vg-v2 .vg2-party,.vg-v2 .vg2-total td,.vg-v2 .vg2-alert,.vg-v2 .vg2-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
html[data-edition="villa"] .vg-quote-note{background:#fbf6e9;border:1px solid #e6d3a3;border-left:4px solid #b8913a;border-radius:8px;padding:8px 12px;color:#0f1557;font-weight:600}
/* PDF partagé : toujours la mise en page « ordinateur », même généré depuis un téléphone */
.vg-doc.vg-v2.vg-pdf{max-width:none;margin:0}
@media(max-width:600px){.vg-v2.vg-pdf .vg2-parties{grid-template-columns:1fr 1fr}.vg-v2.vg-pdf h1{font-size:25px}.vg-v2.vg-pdf .vg2-kv th{width:38%}}
.vg-pdf-invoice{background:#fff;color:#1f332c;padding:4px 2px;font-size:13px}.vg-pdf-invoice p{white-space:pre-wrap}.vg-pdf-invoice td{overflow-wrap:anywhere}.vg-pdf-invoice table{white-space:normal;width:100%;border-collapse:collapse}
.vg-pdf-invoice .invoice-lines-table th,.vg-pdf-invoice .invoice-vat-table th{background:#0f1557;color:#fff;text-align:left;padding:5px 7px}.vg-pdf-invoice .invoice-lines-table td,.vg-pdf-invoice .invoice-vat-table td{border-bottom:1px solid #eee5cf;padding:5px 7px}
.vg-pdf-invoice .invoice-head{border-bottom:2px solid #b8913a;padding-bottom:10px}
@media(max-width:700px){.vg-pdf-invoice .invoice-title{text-align:right}.vg-pdf-invoice .invoice-head{gap:24px}}
.vg-v2 .vg2-paraph{white-space:pre-wrap}
.vg-pdf-invoice td,.vg-pdf-invoice p,.vg-pdf-invoice dd{overflow-wrap:normal!important;word-break:normal!important;letter-spacing:normal;text-rendering:auto}
.vg-pdf-invoice .invoice-lines-table td:first-child{min-width:260px}
.vg-pdf-invoice .invoice-vat-table th:nth-child(n+2),.vg-pdf-invoice .invoice-lines-table th:nth-child(n+2){text-align:right}
.vg-pdf-invoice p{white-space:pre-line!important}.vg-pdf-invoice td{white-space:normal!important}
.vg-pdf-invoice td:last-child,.vg-pdf-invoice th:last-child{white-space:nowrap!important}
/* Barre de progression du paiement d'un dossier */
.vg-paybar{margin:8px 0 6px}.vg-paybar-track{position:relative;height:10px;border-radius:999px;background:#ece7da;overflow:hidden;border:1px solid #e3d6b4}
.vg-paybar-track span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;transition:width .4s ease}
.vg-paybar-inv{background:repeating-linear-gradient(135deg,#e9cf8a 0 6px,#d9b867 6px 12px)}.vg-paybar-cash{background:linear-gradient(90deg,#2f8f5b,#3fb070)}
.vg-paybar-label{display:block;margin-top:4px;font-size:12px;color:#5b5f7a}
.vg-jtable .vg-paybar{min-width:120px}.vg-jtable .vg-paybar-label{display:none}
