:root{--bg:#f6f7f9;--panel:#fff;--text:#20242a;--muted:#68707b;--line:#dfe3e8;--primary:#2457d6;--danger:#b42318;--ok:#0b7a45;--warn:#b7791f}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}button,.button{border:0;background:var(--primary);color:white;border-radius:7px;padding:.72rem 1rem;font-weight:700;cursor:pointer;display:inline-block}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:.65rem;background:#fff;font:inherit}textarea{min-height:90px}label{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--line);padding:.75rem;text-align:left;vertical-align:top}th{font-size:.8rem;text-transform:uppercase;color:var(--muted)}
*[hidden]{display:none!important}
.login-page,.widget-page{background:#f8fafc}.login-box{width:min(420px,calc(100% - 2rem));margin:10vh auto;background:white;border:1px solid var(--line);border-radius:8px;padding:2rem;box-shadow:0 16px 40px #0001}.login-box h1{margin:.2rem 0}.login-box form{display:grid;gap:1rem}.alert,.notice{padding:.9rem 1rem;border-radius:7px;margin:0 0 1rem;white-space:pre-line}.alert{background:#fff1f0;color:var(--danger)}.notice{background:#eef6ff;color:#1346a0}
.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#151922;color:#fff;padding:1.2rem;display:flex;flex-direction:column;gap:.35rem}.sidebar strong{font-size:1.2rem;margin-bottom:.7rem}.sidebar a{color:#dce3f2;padding:.58rem .65rem;border-radius:7px}.sidebar a:hover,.sidebar a.active{background:#eef3ff;color:#1d4ed8}.sidebar .logout-link{margin-top:auto}.nav-group{margin:1rem 0 .1rem;color:#7f8aa3;font-size:.7rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.admin-main{margin-left:220px;padding:1.3rem}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.topbar h1{margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem;margin-bottom:1rem}.panel h2{margin-top:0}.grid{display:grid;gap:1rem}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.kpis section{background:white;border:1px solid var(--line);border-radius:8px;padding:1rem}.kpis span{display:block;color:var(--muted);font-size:.88rem}.kpis strong{font-size:1.8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .wide{grid-column:1/-1}.toolbar{display:flex;gap:.75rem;align-items:end;margin-bottom:1rem}.inline{display:flex;gap:1rem;align-items:center}.danger{background:var(--danger)}.page-actions{display:flex;justify-content:flex-end;margin:0 0 1rem}.nav-toggle-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.nav-backdrop{display:none}.nav-burger{display:none}
.widget{width:min(980px,100%);margin:0 auto;padding:1rem}.widget-checkout{width:min(1320px,100%);display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:1rem;align-items:start}.widget-flow,.widget-hero,.widget-cart-sticky{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1rem}.widget-flow h1{font-size:1.45rem;margin:.4rem 0 1rem}.widget-hero{position:sticky;top:1rem;display:grid;gap:.85rem}.widget-hero img,.widget-poster-empty{width:100%;aspect-ratio:2/3;border-radius:7px;object-fit:cover;background:#e6e9ee}.widget-hero p{margin:0;color:var(--muted);text-transform:uppercase;font-weight:900;font-size:.72rem;letter-spacing:.08em}.widget-hero h2{margin:.1rem 0;font-size:1.35rem}.widget-hero span{display:block;color:var(--muted);font-weight:800}.widget-cart-sticky{position:sticky;top:1rem}.widget-cart-sticky h2{margin:.1rem 0 .35rem}.widget-cart-sticky p{margin:.25rem 0;color:var(--muted);font-weight:800}.widget-cart-sticky ul{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.5rem}.widget-cart-sticky li,.widget-cart-total{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.widget-cart-sticky li span{color:var(--muted);font-weight:800}.widget-cart-seats{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0}.widget-cart-seats span{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.2rem .5rem;font-weight:900}.widget-discount{color:#0f766e!important}.widget-cart-total{border-top:1px solid var(--line);padding-top:.7rem;font-size:1.05rem}.choice-list{display:grid;gap:.75rem}.choice-list button{background:white;color:var(--text);border:1px solid var(--line);text-align:left;display:grid;gap:.25rem}.choice-list span{color:var(--muted);font-weight:500}.back{background:#e8edf7;color:#24324a;margin-bottom:1rem}.widget-account{border:1px solid var(--line);border-radius:8px;background:#fff;padding:1rem;margin-bottom:1rem;display:grid;gap:.75rem}.widget-account strong,.widget-account span{display:block}.widget-account span{color:var(--muted);font-weight:700}.widget-account details{border:1px solid var(--line);border-radius:8px;padding:.7rem;background:#fbfcfe}.widget-account summary{cursor:pointer;font-weight:900;color:var(--primary)}.widget-account form{display:grid;gap:.7rem;margin-top:.7rem}.widget-code-box{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:1rem;margin-top:1rem}.confirmation{width:min(580px,calc(100% - 2rem));max-width:calc(100% - 2rem);margin:12vh auto;background:white;border:1px solid var(--line);border-radius:8px;padding:clamp(1rem,5vw,2rem);text-align:center;overflow:hidden;overflow-wrap:anywhere}.confirmation>*{max-width:100%}.confirmation .button{white-space:normal;overflow-wrap:anywhere}
.widget-seat-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.widget-carreor-note{margin:.1rem 0 .7rem;background:#fff8e6;color:#7a5b00;border:1px solid #f0dca0;border-radius:10px;padding:.5rem .75rem;font-weight:700;font-size:.9rem;line-height:1.35}.widget-carreor-note strong{color:#8a5a00}.widget-timer{margin:.25rem 0 .75rem;background:#eef3ff;color:#1d4ed8;border:1px solid #d8e2f8;border-radius:999px;padding:.38rem .75rem;font-weight:900;width:max-content}
.widget-cart-code{margin:.75rem 0;padding:.75rem}.cartbar-code{display:none}
/* Saisie directe du nombre de places dans la carte tarif (prise de commande admin). */
.tariff-stepper .tariff-qty-input{width:52px;min-width:0;max-width:none;height:30px;padding:0 .2rem;margin:0;text-align:center;font-weight:900;font-size:.95rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);-moz-appearance:textfield;appearance:textfield}
.tariff-stepper .tariff-qty-input::-webkit-outer-spin-button,.tariff-stepper .tariff-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tariff-stepper .tariff-qty-input:focus{border-color:var(--primary);outline:2px solid #2457d633;outline-offset:0}
/* « Complet » : pastille pleine, lisible d'un coup d'oeil — le gris clair passait inapercu. */
.widget-last-seats--full{background:#7f1d1d;color:#fff;border-color:#7f1d1d}
/* Seance complete : les tarifs restent visibles (le client voit les prix pratiques) mais inertes. */
.tariff-card.is-sold-out{opacity:.55;cursor:not-allowed;filter:saturate(.5)}
.tariff-card.is-sold-out:hover{border-color:var(--line);box-shadow:none}
.tariff-card.is-sold-out .tariff-stepper button{cursor:not-allowed}
.tariff-sold-out{margin:0 0 1rem;background:#fdeceb;color:#7f1d1d;border:1px solid #f3c4bf;border-radius:8px;padding:.7rem .9rem;font-weight:800;line-height:1.45}
@media(max-width:760px){.tariff-card .tariff-stepper .tariff-qty-input{width:60px;height:40px;font-size:1.05rem}}
/* Sélection au glissé sur le plan : pas de sélection de texte parasite pendant le geste. */
.quick-order-form.is-seat-dragging{user-select:none;-webkit-user-select:none}
.quick-order-form.is-seat-dragging .seat{cursor:cell}
/* Récapitulatif du placement : plages par rang, et hauteur bornée pour qu'une grosse commande ne
   repousse jamais le plan de salle ni le bouton de validation hors de l'écran. */
.selected-seat-list{max-height:96px;overflow-y:auto;align-content:flex-start}
.modal-head .selected-seat-list{max-height:72px}
.order-seat-actions{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}
.modal-foot{flex-wrap:wrap}
@media(max-width:760px){.order-seat-actions{width:100%}.order-seat-actions .button{flex:1}}
/* Badge « Dernières places disponibles » (seuil de remplissage configuré dans l'admin). */
.widget-last-seats,.choice-list .widget-last-seats,.widget-hero .widget-last-seats{display:inline-flex;align-items:center;gap:.35rem;justify-self:start;width:auto;margin-top:.35rem;background:#fdeceb;color:#a3271b;border:1px solid #f3c4bf;border-radius:999px;padding:.2rem .6rem;font-weight:900;font-size:.75rem;letter-spacing:.01em;text-transform:none}
.widget-last-seats::before{content:"●";font-size:.6em;line-height:1}
.widget-hero .widget-session-cast{display:block;margin-top:.35rem;color:var(--text);font-size:.82rem;font-weight:750;line-height:1.35}
.seat-pick-message{position:fixed;left:50%;top:1rem;z-index:120;width:min(520px,calc(100vw - 2rem));transform:translateX(-50%);margin:0;background:#fff7df;color:#7a4b00;border:1px solid #ead08b;border-radius:999px;padding:.58rem .9rem;font-weight:900;box-shadow:0 12px 30px #0002;text-align:center}
.seat-layout{width:max-content;max-width:100%;margin:0 auto}.seat-layout .stage{width:var(--stage-width,72%);margin-left:calc((100% - var(--stage-width,72%)) * var(--stage-align,50) / 100);margin-right:auto}
/* Entrée de la salle. Alignée dans le bloc de sièges (même référentiel que la scène) pour que
   l'écran et le billet montrent le même plan. La flèche est horizontale : elle indique le sens de
   circulation en entrant, pas la direction de la salle. */
/* Regle autonome (pas `.seat-layout .entrance`) : sur mobile le repere vit dans
   `.mobile-seat-overview`, pas dans `.seat-layout`, et restait alors sans aucun style. */
.entrance{display:flex;align-items:center;gap:.3rem;justify-content:var(--entrance-justify,center);margin:0 0 .45rem;color:#64748b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.entrance .entrance-arrow{font-size:.95rem;line-height:1}
/* Écart avec le premier rang et avant-scène arrondie : réglés dans l'éditeur de plan, appliqués
   ici pour que tous les plans (public, caisse, widget) partagent la même géométrie.
   L'écart s'AJOUTE à la marge de base : cette règle est plus spécifique que `.stage{margin:1rem auto 0}`
   et l'ecraserait, collant la scène aux rangs quand l'écart vaut 0. */
.seat-layout .stage{margin-top:calc(1rem + var(--stage-gap,0px));border-radius:var(--stage-radius,5px)}.stage{width:min(520px,90%);margin:1rem auto 0;text-align:center;background:#252b34;color:white;border-radius:5px;padding:.45rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.seat-map{display:grid;gap:.28rem;overflow:auto;padding-bottom:.5rem}.seat-row{display:grid;grid-template-columns:28px repeat(20,30px);gap:.22rem;align-items:center;justify-content:center}.seat-row>span{font-weight:700;color:var(--muted);font-size:.85rem}.seat{width:30px;height:28px;padding:0;border-radius:5px;font-size:.72rem;background:#e7f7ed;color:#0b5d35;border:1px solid #b9e5c9}.seat.reserved_temp{background:#fff5d6;color:#795400;border-color:#f0d47a}.seat.sold,.seat.invitation,.seat.voucher,.seat.countermark{background:#e3e6eb;color:#667085;border-color:#cfd4dc;cursor:not-allowed}.seat.blocked{background:#e3e6eb!important;color:#667085!important;border-color:#cfd4dc!important;box-shadow:none;cursor:not-allowed}.seat.selected{background:var(--primary);color:white;border-color:var(--primary)}.seat.pmr{outline:2px solid #00a3b4;outline-offset:1px}.seat.pmr.blocked{box-shadow:none;outline:0}.cartbar{position:sticky;bottom:0;background:white;border:1px solid var(--line);border-radius:8px;padding:.75rem;margin-top:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -8px 20px #0000000d}.legend{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;color:var(--muted);font-size:.85rem}.legend span:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.35rem;vertical-align:-1px}.legend .free:before{background:#e7f7ed}.legend .reserved_temp:before{background:#fff5d6}.legend .sold:before{background:#e3e6eb}.legend .blocked:before{background:#e3e6eb}.legend .pmr:before{background:#fff;outline:2px solid #00a3b4}
.click-row{cursor:pointer}.click-row:hover{background:#f8fafc}.admin-affiche-summary{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.2rem}.affiche-kicker{margin:0 0 .2rem;color:var(--muted);text-transform:uppercase;font-weight:800;font-size:.76rem;letter-spacing:.08em}.admin-affiche-summary h1{margin:0;font-size:2rem}.affiche-count{text-align:right}.affiche-count strong{display:block;font-size:2rem}.affiche-count span{color:var(--muted)}.agenda-shell{display:grid;gap:1.2rem}.agenda-month-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.75rem}.agenda-month-header h2{margin:0;text-transform:capitalize}.agenda-list{display:grid;gap:.65rem}.agenda-list-grouped{gap:1.1rem}.agenda-day-group{display:grid;gap:0}.agenda-list-grouped .agenda-row{border-radius:0}.agenda-day-group>.agenda-row+.agenda-row{border-top:0}.agenda-day-group>.agenda-row:first-child{border-top-left-radius:10px;border-top-right-radius:10px}.agenda-day-group>.agenda-row:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.agenda-row{display:grid;grid-template-columns:68px 74px minmax(220px,1fr) minmax(210px,260px) minmax(80px,.55fr) auto;gap:.9rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-left:4px solid var(--month-accent,var(--primary));border-radius:8px;background:#fff}.agenda-date{display:grid;justify-items:center;line-height:1}.agenda-weekday,.agenda-month-label{font-size:.75rem;text-transform:uppercase;color:var(--muted);font-weight:800}.agenda-day{font-size:1.9rem;font-weight:900}.agenda-thumb-wrap{width:64px;height:84px}.agenda-thumb{width:64px;height:84px;border-radius:6px;object-fit:cover;background:#e6e9ee;box-shadow:0 4px 12px #0002}.poster-link{display:inline-block;line-height:0}.poster-link:hover .agenda-thumb{transform:translateY(-1px);box-shadow:0 8px 18px #0003}.agenda-thumb-empty{display:block}.agenda-title-line{display:flex;gap:.8rem;justify-content:flex-start;align-items:flex-start}.agenda-title-line h3{margin:0;font-size:1.05rem}.date-times{display:flex;gap:.35rem;flex-wrap:wrap}.date-time{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.25rem .55rem;font-weight:800;font-size:.78rem}.agenda-location strong{display:block;margin-top:.25rem}.agenda-spectators{grid-column:4;justify-self:center;text-align:center;background:#f3f6fb;border:1px solid var(--line);border-radius:999px;padding:.42rem .8rem;font-weight:900;color:var(--text);white-space:nowrap}.date-full,.date-salle{margin:.15rem 0;color:var(--muted)}.agenda-action{grid-column:6;display:flex;justify-content:flex-end}.agenda-daily{display:inline-flex;align-items:center;gap:.25rem;font-weight:900;color:var(--muted);white-space:nowrap;margin-right:.2rem}.agenda-daily strong{font-size:.98rem;color:var(--text)}.agenda-daily-arrow{display:inline-block;font-size:1.05rem;line-height:1;transform-origin:center;color:#16a34a}.agenda-daily[data-level="zero"]{color:#9aa3b2}.agenda-daily[data-level="zero"] .agenda-daily-arrow,.agenda-daily[data-level="zero"] strong{color:#9aa3b2}.agenda-daily[data-level="low"] .agenda-daily-arrow{color:#d97706}.session-actions{align-items:center;gap:.55rem;flex-wrap:wrap}.session-actions a{font-weight:800}.session-actions form{margin:0}.session-actions button:not(.online):not(.offline){background:#eef3ff;color:#1d4ed8;padding:.35rem .6rem}.status-toggle{margin:0}.status-toggle button,.status-badge{border-radius:999px;padding:.42rem .75rem;font-size:.8rem;font-weight:900;white-space:nowrap}.status-toggle button.online,.status-badge.online{background:#dcfce7;color:#166534}.status-toggle button.offline,.status-badge.offline{background:#fee2e2;color:#991b1b}.status-badge{display:inline-flex}.row-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.row-actions button{background:#eef3ff;color:#1d4ed8;padding:.35rem .6rem}.sales-panel h2{margin-top:0}.sales-day{display:grid;gap:.45rem;margin:.8rem 0}.sales-day-head{display:flex;justify-content:space-between;color:var(--muted)}.sales-day-head strong{color:var(--text)}.sales-bar{height:18px;border-radius:999px;background:#edf0f4;overflow:hidden;display:flex}.sales-bar span{display:block;height:100%;min-width:3px}.sales-legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.sales-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.3rem}.empty{color:var(--muted);margin:.5rem 0}.session-title-line{display:flex;gap:1rem;align-items:center;margin-top:.7rem}.session-title-line h2{margin:.1rem 0}.session-detail-head .agenda-thumb{width:82px;height:110px}.show-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem}.show-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;border:1px solid var(--line);border-radius:8px;padding:.85rem;background:#fff}.show-card:hover{box-shadow:0 10px 24px #0000000d}.show-poster .agenda-thumb{width:92px;height:122px}.show-card h3{margin:.1rem 0 .35rem}.show-card p{color:var(--muted);margin:.3rem 0}.show-color{width:42px;height:5px;border-radius:999px;margin-bottom:.45rem}.show-meta{display:flex;gap:.45rem;flex-wrap:wrap;margin:.6rem 0}.show-meta span{background:#f1f3f7;border-radius:999px;padding:.24rem .55rem;color:#48515f;font-size:.78rem;font-weight:800}
.kebab{position:relative;display:inline-block}.kebab summary{list-style:none;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;background:#fff;color:#374151;font-size:1.3rem;font-weight:900;cursor:pointer}.kebab summary::-webkit-details-marker{display:none}.kebab-menu{position:absolute;right:0;top:40px;z-index:20;min-width:170px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #0002;padding:.35rem;display:grid;gap:.15rem}.kebab-menu a,.kebab-menu button{width:100%;text-align:left;background:white;color:#20242a;border-radius:6px;padding:.55rem .65rem;font-weight:800}.kebab-menu a:hover,.kebab-menu button:hover{background:#f3f6fb}.kebab-menu .danger-text{color:var(--danger)}.room-mini-box{width:92px;height:122px;border-radius:8px;background:#eef3ff;color:#1d3f8f;display:grid;place-items:center;text-align:center;padding:.65rem}.room-mini-box strong{font-size:1.8rem}.room-mini-box span,.room-mini-box small{display:block;color:#4c5f82}
.session-add-order{width:52px;height:52px;border-radius:999px;background:#eef3ff;color:#1d4ed8;display:grid;place-items:center;position:relative;border:1px solid #d8e2f8;box-shadow:0 8px 18px #00000012}.session-add-order:before,.session-add-order:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:2px}.session-add-order:before{width:24px;height:7px}.session-add-order:after{width:7px;height:24px}.session-add-order:hover{background:#dfe9ff;color:#1846b8;transform:translateY(-1px)}
.poster-upload-label{cursor:pointer}.poster-file-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.poster-upload-zone{display:flex;align-items:center;gap:1rem;border:1px dashed var(--line);border-radius:8px;padding:.8rem;color:var(--muted);background:#fbfcfe}.poster-upload-zone .agenda-thumb,.poster-upload-zone .agenda-thumb-empty{width:96px;height:128px}.tariff-list{display:grid;gap:.65rem}.tariff-row{display:grid;grid-template-columns:150px minmax(220px,1fr) 130px auto;gap:.6rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.65rem}.tariff-row-smart{grid-template-columns:minmax(180px,1fr) 120px 120px}.tariff-row-session{grid-template-columns:110px 130px minmax(180px,1fr) 130px auto}.tariff-check{display:flex;align-items:center;gap:.4rem;font-weight:800;color:var(--text);white-space:nowrap}.tariff-check input{width:auto}.tariff-remove-btn{background:#fff1f1;color:#991b1b;border:1px solid #fecaca;padding:.55rem .7rem}.tariff-remove-btn:hover{background:#ffd7d7}.tariff-add-btn{margin-top:.7rem;border:1px dashed var(--line);background:#fbfcfe;color:var(--muted);width:100%}.promo-box{display:grid;gap:.5rem}.promo-box [data-code-message]{color:var(--muted);font-weight:800}.change-mail-panel{border:1px solid #f0c36d;background:#fff8e6;border-radius:8px;padding:1rem}.pricing-mode-box{border:1px solid var(--line);border-radius:8px;padding:1rem;background:#fbfcfe}.room-editor{display:grid;gap:1rem}.room-editor-section{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:1rem}.room-editor-section h3,.room-plan-panel h2{margin-top:0}.room-plan-panel{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1.2rem}.seat-editor{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:.75rem;align-items:end;margin-top:1rem}
.quick-search{margin:.7rem 0 1rem}.quick-search-field{position:relative;max-width:520px}.quick-search-field input{max-width:none;padding-right:2.5rem}.quick-search-clear{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border-radius:999px;background:#eef3ff;color:#1d4ed8;font-size:1.2rem;line-height:1;display:grid;place-items:center}.quick-search-clear:hover{background:#dfe9ff}.quick-search-clear[hidden]{display:none}.edit-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.edit-head h2{margin:.1rem 0}.show-edit-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.4rem;align-items:start}.show-poster-editor{display:block}.poster-upload-large{display:grid;justify-items:center;text-align:center;padding:1rem}.poster-upload-large .agenda-thumb,.poster-upload-large .agenda-thumb-empty{width:180px;height:240px}.show-edit-fields{display:grid;gap:1rem}.tariff-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin-bottom:1rem}.tariff-card{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:1rem;text-align:left;display:grid;gap:.35rem;cursor:pointer}.tariff-card:hover{border-color:var(--primary);box-shadow:0 8px 18px #0001}.tariff-card span{font-weight:900}.tariff-card strong{font-size:1.25rem}.tariff-card em{font-style:normal;color:var(--muted)}.tariff-stepper{display:flex;gap:.4rem;margin-top:.4rem}.tariff-stepper button{width:34px;height:30px;padding:0;border-radius:6px;background:#eef3ff;color:#1d4ed8}.quick-order-total{text-align:right;font-size:1.1rem;margin:.5rem 0 1rem}.order-seat-section{border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1rem 0;background:#fbfcfe}.order-seat-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.8rem}.order-seat-head h3{margin:0}.order-seat-head span{color:var(--muted);font-weight:800}.order-seat-map .seat.selected{background:var(--primary);color:white;border-color:var(--primary)}.order-seat-map .seat:disabled{cursor:not-allowed}
.field-label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.35rem;font-weight:700}.form-hint{margin:.1rem 0;color:var(--muted);font-weight:700;font-size:.84rem}.payment-method-box{display:grid;gap:.35rem}.payment-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.payment-method-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:.65rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.75rem;cursor:pointer;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
/* Commande à 0 € : rien à encaisser, le choix du règlement n'a pas de sens. Grisé plutôt que
   masqué, pour que le bloc ne saute pas d'un coup à l'écran quand on ajoute une place payante. */
.payment-method-box.is-not-payable .payment-method-grid,.payment-split.is-not-payable{opacity:.42;pointer-events:none;filter:grayscale(1)}
.payment-method-na{margin:.5rem 0 0;font-size:.82rem;font-weight:700;color:var(--muted)}.payment-method-card:hover{border-color:#b9c8ed;background:#fbfcff}.payment-method-card input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.payment-method-card.is-selected,.payment-method-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px #2457d61a;background:#f7faff}.payment-method-icon{width:42px;height:42px;border-radius:8px;background:#eef3ff;color:#1d4ed8;display:grid;place-items:center;font-weight:900;font-size:.78rem}.payment-method-card.is-selected .payment-method-icon,.payment-method-card:has(input:checked) .payment-method-icon{background:var(--primary);color:#fff}.payment-method-card strong{display:block;font-size:.92rem}.payment-method-card small{display:block;color:var(--muted);font-weight:700;font-size:.72rem;line-height:1.2;margin-top:.12rem}
.back-link,.back-button{display:inline-flex;align-items:center;gap:.45rem;width:max-content;background:#eef3ff;color:#1d4ed8;border:1px solid #d8e2f8;border-radius:999px;padding:.5rem .8rem;font-weight:900}.back-link span{font-size:1.15rem;line-height:1}.back-link:hover,.back-button:hover{background:#e3ecff}.checkbox-line{display:flex;grid-auto-flow:column;align-items:center;justify-content:flex-start;gap:.55rem;color:var(--text);font-weight:800}.checkbox-line input{width:auto}.button.secondary,.secondary{background:#eef3ff;color:#1d4ed8}.order-seat-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem}.order-seat-summary h3{margin:.1rem 0}.order-seat-summary span{display:block;color:var(--muted);font-weight:800}.selected-seat-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem;color:var(--muted);font-size:.86rem}.selected-seat-list span{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.22rem .5rem;font-weight:900}.modal-backdrop{position:fixed;inset:0;z-index:80;background:#0f172a99;display:grid;place-items:center;padding:1rem}.modal-backdrop[hidden]{display:none}.seat-modal{width:min(1120px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px;border:1px solid var(--line);box-shadow:0 24px 80px #0005;padding:1rem}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-head{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.modal-head h3{margin:.1rem 0}.modal-head span{color:var(--muted);font-weight:800}.modal-foot{position:sticky;bottom:0;background:#fff;padding-top:.8rem;border-top:1px solid var(--line);margin-top:1rem;justify-content:flex-end}.icon-button{width:38px;height:38px;padding:0;background:#eef3ff;color:#1d4ed8;border-radius:999px;font-size:1.5rem;line-height:1}
.customer-suggestions{display:grid;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.45rem;box-shadow:0 12px 28px #0001}.customer-suggestions button{background:#fff;color:var(--text);text-align:left;border-radius:6px;padding:.55rem .65rem}.customer-suggestions button:hover{background:#f3f6fb}.customer-suggestions strong,.customer-suggestions span{display:block}.customer-suggestions span{color:var(--muted);font-weight:600;font-size:.86rem}
.config-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.config-entry-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:1rem;color:var(--text)}.config-entry-card:hover{border-color:var(--primary);box-shadow:0 10px 24px #0000000d}.config-form-card:hover{border-color:var(--line);box-shadow:none}.config-card-icon{width:52px;height:52px;border-radius:8px;background:#eef3ff;color:#1d4ed8;display:grid;place-items:center;font-size:1.45rem;font-weight:900}.config-entry-card h3{margin:.1rem 0 .25rem}.config-entry-card p{margin:.1rem 0;color:var(--muted);font-weight:800}.config-entry-card small{color:var(--muted);font-weight:700}.pdf-retention-form{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:end;margin:.7rem 0}.config-entry-card form button{width:100%}.email-preview-card{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:1rem;display:grid;gap:.75rem}.email-preview-subject{border-bottom:1px solid var(--line);padding-bottom:.65rem;font-weight:900;font-size:1.05rem}.email-preview-body{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1rem;line-height:1.5}
.code-client-group{border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:1rem;overflow:hidden}.code-client-group h3{margin:0;padding:.85rem 1rem;background:#f8fafc;border-bottom:1px solid var(--line)}
.code-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.code-detail-head h2{margin:.1rem 0}.code-detail-head p{margin:.2rem 0;color:var(--muted);font-weight:800}.code-detail-head>strong{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.45rem .8rem;white-space:nowrap}
.customer-list{display:grid;gap:.45rem}.customer-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.6fr) 140px;gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.75rem .9rem}.customer-row:hover{box-shadow:0 8px 18px #0000000d}.customer-row strong,.customer-row span,.customer-row small{display:block}.customer-row span,.customer-row small{color:var(--muted);font-weight:800}.customer-row small{text-align:right}
.order-done-panel{display:grid;gap:1rem}.order-done-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.order-done-head h2{margin:.1rem 0}.order-done-head p{margin:.25rem 0;color:var(--muted)}.order-done-head strong{font-size:1.8rem}.order-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.order-summary-grid section{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.85rem}.order-summary-grid span{display:block;color:var(--muted);font-weight:800;font-size:.82rem;margin-bottom:.25rem}.order-summary-grid strong{display:block}.ticket-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem;padding:0;margin:.2rem 0;list-style:none}.ticket-summary-list li{border:1px solid var(--line);border-radius:7px;background:#fff;padding:.55rem .65rem;font-weight:800}.order-done-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.order-done-actions form{margin:0}
.session-dashboard-head{display:flex;flex-direction:column;gap:.7rem;align-items:stretch}.session-dashboard-head h2{margin:.1rem 0}.session-dashboard-head>div:first-child{display:flex;flex-direction:column;gap:.1rem}.session-dashboard-head .row-actions{gap:.5rem;padding-top:.7rem;border-top:1px solid var(--line)}.session-dashboard-head .row-actions .button,.session-dashboard-head .row-actions button{padding:.5rem .8rem;font-weight:800}.session-kpis{margin-bottom:1rem}.tariff-summary{margin-top:.5rem}
@media(max-width:760px){.session-detail-head .back-link{margin-bottom:.7rem}.kpis.session-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.session-kpis section{padding:.6rem .5rem}.session-kpis strong{font-size:1.15rem}.session-kpis span{font-size:.7rem}.session-dashboard-head{flex-direction:column}.session-dashboard-head .row-actions{width:100%}.session-dashboard-head .row-actions a{flex:1 1 44%;text-align:center}.tariff-cards{grid-template-columns:1fr;gap:.55rem;margin-bottom:.8rem}.tariff-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.7rem .8rem;gap:.15rem .6rem}.tariff-card span,.tariff-card strong,.tariff-card em{grid-column:1}.tariff-card strong{font-size:1.1rem}.tariff-card .tariff-stepper{grid-column:2;grid-row:1/4;margin:0;align-self:center}.tariff-card .tariff-stepper button{width:46px;height:40px;font-size:1.15rem}.order-seat-summary{flex-direction:column;align-items:stretch}.order-seat-summary [data-open-seat-modal]{width:100%}.quick-order-form .payment-method-grid{grid-template-columns:1fr}.quick-order-form .row-actions{width:100%}.quick-order-form .row-actions button{flex:1;min-width:0}.seat-modal{padding:.7rem;max-height:96vh}}
.agenda-spectators{min-width:190px}.agenda-spectators strong{display:block;position:relative;z-index:1}.agenda-spectators strong small{font-weight:800;color:var(--muted)}.agenda-spectators .agenda-fill-track{display:block;height:6px;background:#e4e9f1;border-radius:999px;overflow:hidden;margin-top:.34rem}.agenda-spectators i{display:block;height:100%;background:#2457d6;border-radius:999px;transition:width .3s ease}.agenda-fill-pct{display:none;font-style:normal;font-weight:900}.agenda-spectators[data-fill="low"] i{background:#dc2626}.agenda-spectators[data-fill="mid"] i{background:#d97706}.agenda-spectators[data-fill="high"] i{background:#16a34a}
.stats-month-panel{padding:.8rem 1rem}.stats-month-nav strong{min-width:180px;text-align:center;text-transform:capitalize}.stats-month-nav a.icon-button{text-decoration:none}
.stats-show-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.stats-show-grid article{border:1px solid var(--line);border-radius:8px;background:#fff;padding:.9rem;display:grid;gap:.7rem}.stats-show-grid h3{margin:.1rem 0}.stats-show-grid div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.55rem}.stats-show-grid span{color:var(--muted);font-weight:900;text-transform:uppercase;font-size:.76rem}.stats-show-grid strong{font-size:1.1rem}
.stats-kpis{display:grid}.stats-session-list{display:grid;gap:.75rem}.stats-session-card{display:grid;grid-template-columns:74px minmax(0,1fr) minmax(420px,.9fr);gap:1rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.8rem}.stats-session-card:hover{box-shadow:0 10px 24px #0000000d}.stats-session-poster .agenda-thumb,.stats-session-poster .agenda-thumb-empty{width:64px;height:84px}.stats-session-main h3{margin:.1rem 0}.stats-session-main p{margin:.1rem 0 .55rem;color:var(--muted);font-weight:800}.stats-session-main small{color:var(--muted);font-weight:800}.stats-fill{height:9px;background:#edf0f4;border-radius:999px;overflow:hidden;margin:.35rem 0}.stats-fill span{display:block;height:100%;background:#2457d6;border-radius:999px}.stats-session-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.stats-session-numbers section{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:.55rem}.stats-session-numbers span{display:block;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.stats-session-numbers strong{display:block;font-size:1.05rem;margin-top:.15rem}
@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:80%;max-width:280px;transform:translateX(-100%);transition:transform .25s ease;z-index:60;overflow-y:auto;padding-top:calc(1.2rem + env(safe-area-inset-top));padding-left:calc(1.2rem + env(safe-area-inset-left))}.nav-toggle-input:checked~.sidebar{transform:translateX(0);box-shadow:0 0 40px #0007}.nav-toggle-input:checked~.nav-backdrop{display:block;position:fixed;inset:0;background:#0007;z-index:55}.admin-main{margin:0;padding:.8rem;padding-top:calc(.7rem + env(safe-area-inset-top));padding-left:calc(.8rem + env(safe-area-inset-left));padding-right:calc(.8rem + env(safe-area-inset-right))}.topbar{position:sticky;top:0;z-index:40;background:var(--bg,#f8fafc);margin:calc(-1 * (.7rem + env(safe-area-inset-top))) calc(-1 * (.8rem + env(safe-area-inset-right))) .6rem calc(-1 * (.8rem + env(safe-area-inset-left)));padding:calc(.5rem + env(safe-area-inset-top)) calc(.9rem + env(safe-area-inset-right)) .55rem calc(.9rem + env(safe-area-inset-left));box-shadow:0 1px 0 var(--line)}.nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:42px;height:42px;flex:none;border-radius:9px;background:#151922;cursor:pointer}.nav-burger span{display:block;width:20px;height:2px;margin:0 auto;background:#fff;border-radius:2px}.topbar{flex-direction:row;align-items:center;gap:.7rem}.topbar h1{font-size:1.25rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user{display:none}.toolbar,.inline,.cartbar,.admin-affiche-summary,.agenda-title-line,.edit-head,.order-seat-head,.order-done-head,.order-done-actions{align-items:stretch;flex-direction:column}.admin-affiche-summary h1,.admin-affiche-summary .affiche-count{display:none}.admin-affiche-summary{margin-bottom:.6rem}.form-grid,.kpis,.show-grid,.show-edit-layout,.order-summary-grid{grid-template-columns:1fr}.seat-row{grid-template-columns:24px repeat(20,26px)}.seat{width:26px;height:25px;font-size:.65rem}.affiche-count{text-align:left}.agenda-list{gap:.85rem}.agenda-list-grouped .agenda-row{box-shadow:none}.agenda-day-group{box-shadow:0 2px 10px #0000000f;border-radius:10px}.agenda-row{grid-template-columns:42px 48px minmax(0,1fr);align-items:center;gap:.4rem .7rem;padding:.5rem .6rem;border:1px solid #d3dae5;border-left:4px solid var(--month-accent,var(--primary));border-radius:10px;box-shadow:0 2px 10px #0000000f}.agenda-location{margin-top:.15rem}.agenda-tariff-toggle{display:inline-block;flex-basis:auto}.agenda-tariff-toggle summary{display:inline-flex}.agenda-tariff-toggle:not([open]) .agenda-tariffs{display:none}.session-add-order{display:none}.agenda-row .agenda-title-line h3{font-size:1rem;line-height:1.2}.agenda-spectators{grid-column:1/-1;justify-self:stretch;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;border-radius:9px;padding:.4rem .75rem}.agenda-spectators strong{font-size:.88rem}.agenda-spectators strong small{display:none}.agenda-spectators .agenda-fill-track{height:10px;margin-top:0}.agenda-fill-pct{display:block;font-size:1rem}.agenda-spectators[data-fill="low"] .agenda-fill-pct{color:#dc2626}.agenda-spectators[data-fill="mid"] .agenda-fill-pct{color:#d97706}.agenda-spectators[data-fill="high"] .agenda-fill-pct{color:#16a34a}.agenda-action{grid-column:1/-1;display:flex;gap:.5rem;align-items:center;flex-wrap:nowrap}.agenda-action .status-toggle{flex:1;margin:0;order:1;min-width:0}.agenda-action .status-toggle button{width:100%}.agenda-action .agenda-daily{order:2;flex:none}.agenda-action .kebab{order:3}.agenda-thumb,.agenda-thumb-wrap{width:42px;height:56px}.agenda-day{font-size:1.3rem}.session-title-line{align-items:flex-start}.session-detail-head .agenda-thumb{width:64px;height:86px}.show-card{grid-template-columns:74px minmax(0,1fr)}.show-poster .agenda-thumb{width:70px;height:94px}.poster-upload-large .agenda-thumb,.poster-upload-large .agenda-thumb-empty{width:140px;height:188px}.tariff-row{grid-template-columns:1fr}}
.sales-bar{height:20px}.sales-bar span{min-width:5px;cursor:help;transition:filter .15s ease}.sales-bar span:hover{filter:brightness(.9)}.sales-bar .sales-empty-fill{width:100%;background:#edf0f4;min-width:100%}
.sales-days{display:grid;gap:.6rem}.sales-nav{display:flex;align-items:center;justify-content:center;gap:.7rem;margin:.2rem 0}.sales-nav [data-sales-current]{min-width:190px;text-align:center;font-weight:900}.sales-nav .icon-button{width:34px;height:34px;border-radius:999px;padding:0;display:grid;place-items:center}.sales-nav .icon-button:disabled{opacity:.35;cursor:not-allowed}.sales-tooltip{position:absolute;z-index:200;transform:translate(-50%,-100%);background:#111827;color:#fff;border-radius:7px;padding:.35rem .55rem;font-size:.82rem;font-weight:800;white-space:normal;max-width:min(80vw,300px);text-align:center;line-height:1.25;box-shadow:0 10px 24px #0003;pointer-events:none}.sales-tooltip[hidden]{display:none}
.config-modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px;border:1px solid var(--line);box-shadow:0 24px 80px #0005;padding:1rem;display:flex;flex-direction:column}.config-modal .modal-body{display:grid;gap:1rem;padding:.25rem 0}.config-block{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.9rem 1rem;display:grid;gap:.55rem}.config-block h4{margin:0;font-size:.95rem}.config-block p.date-full{margin:0}.config-block label{font-weight:700;color:var(--text)}.smart-pricing-trigger{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.smart-pricing-summary{color:var(--muted);font-weight:700;font-size:.88rem}.tariff-row-label{font-weight:800;color:var(--text);align-self:center}
@media(max-width:760px){.stats-session-card{grid-template-columns:54px minmax(0,1fr)}.stats-session-numbers{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.code-detail-head{flex-direction:column}.code-detail-head>strong{width:max-content}}
.pricing-mode-smart,.pricing-mode-custom{margin-top:.7rem;display:grid;gap:.55rem}
.plan-editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.plan-editor-head h3{margin:0}.plan-capacity-badge{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.3rem .7rem;font-weight:900;font-size:.88rem}.room-capacity-display{font-size:.9rem;color:var(--text);font-weight:700;display:flex;align-items:center;gap:.5rem}
.plan-editor{display:grid;gap:1rem;margin-top:.6rem}.plan-section{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.8rem 1rem;display:grid;gap:.6rem}.plan-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.plan-section-head h5{margin:0;font-size:.88rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}
.plan-add-btn{background:#eef3ff;color:#1d4ed8;border:1px solid #d8e2f8;border-radius:7px;padding:.35rem .7rem;font-weight:700;cursor:pointer;font-size:.84rem}
.plan-numbering{display:flex;gap:1.5rem;flex-wrap:wrap}.plan-numbering label{display:flex;align-items:center;gap:.45rem;color:var(--text);font-weight:700;cursor:pointer}.plan-numbering input{width:auto}
/* Réglages de scène et d'entrée : une grille de champs, chacun avec sa valeur lue en clair à côté
   du curseur — on règle en voyant l'aperçu bouger, sans avoir à interpréter un nombre. */
.plan-stage-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem}
.plan-stage-settings>label{display:flex;flex-direction:column;gap:.3rem;font-weight:700;color:var(--text);font-size:.85rem}
.plan-stage-settings select{width:100%}
.plan-stage-settings .plan-range{display:flex;align-items:center;gap:.6rem}
.plan-stage-settings .plan-range input[type=range]{flex:1;min-width:0;accent-color:var(--primary)}
.plan-stage-settings .plan-range output{flex:0 0 auto;min-width:84px;text-align:right;color:var(--muted);font-weight:800;font-size:.78rem}
.plan-stage-settings select:disabled{opacity:.5;cursor:not-allowed}
.plan-cat-list{display:grid;gap:.4rem}.plan-cat-item{display:grid;grid-template-columns:14px 1fr 130px 28px;gap:.5rem;align-items:center}
.plan-cat-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;justify-self:center}.plan-slug-input{font-size:.82rem}
.plan-rm-btn{width:28px;height:28px;padding:0;background:#fee2e2;color:#991b1b;border-radius:6px;font-size:1.1rem;line-height:1;cursor:pointer}
.plan-row-header{display:grid;grid-template-columns:66px 88px 1fr 140px 86px 28px;gap:.5rem;color:var(--muted);font-size:.75rem;font-weight:700;padding:0 .15rem}
[data-plan-rows]{display:grid;gap:.4rem}.plan-row-item{display:grid;grid-template-columns:66px 88px 1fr 140px 86px 28px;gap:.5rem;align-items:center}.plan-override{display:flex;gap:.35rem;align-items:center;font-size:.82rem;color:var(--muted);font-weight:800}.plan-override input{width:auto}
.plan-row-label-input{text-align:center;font-weight:700}.plan-row-seats-input{text-align:right}.plan-row-aisles-input{font-size:.82rem}
.plan-preview-wrap{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:.8rem;overflow-x:auto}
.plan-prev-inner{width:max-content;margin:0 auto}.plan-prev-stage{background:#252b34;color:white;border-radius:4px;padding:.25rem .5rem;font-size:.68rem;text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-top:.4rem;width:100%;box-sizing:border-box}
.plan-prev-grid{display:grid;gap:.18rem;margin-bottom:.5rem}.plan-prev-row{display:flex;align-items:center;gap:.3rem}
.plan-prev-label{width:20px;font-size:.68rem;font-weight:700;color:var(--muted);text-align:right;flex-shrink:0}
.plan-prev-seats{display:flex;gap:2px;flex-wrap:nowrap}.plan-prev-seat{width:8px;height:8px;border-radius:1px;flex-shrink:0}.plan-prev-aisle{width:30px;flex-shrink:0}
.plan-prev-legend{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted);align-items:center;margin-top:.2rem}
.plan-prev-legend span{display:flex;align-items:center;gap:.3rem}.plan-prev-total{margin-left:auto;font-weight:700;color:var(--text)}
.tariff-add-btn{margin-top:.35rem;width:100%;background:none;border:1px dashed var(--line);color:var(--muted);font-weight:700;border-radius:7px;padding:.4rem;cursor:pointer;font-size:.85rem}.tariff-add-btn:hover{border-color:var(--primary);color:var(--primary);background:#f5f8ff}
.seat-row{display:flex;gap:.22rem;align-items:center;justify-content:center;min-width:max-content}.seat-row>span:first-child{width:28px;text-align:right;font-weight:700;color:var(--muted);font-size:.85rem;flex:0 0 28px}.seat-aisle{width:30px;height:1px;flex:0 0 30px}.seat{flex:0 0 30px}.seat:not(.sold):not(.invitation):not(.voucher):not(.countermark):not(.blocked):not(.reserved_temp):not(.selected){background:var(--seat-bg,#e7f7ed);border-color:var(--seat-border,#b9e5c9);color:var(--seat-color,#0b5d35)}.seat-editor-panel{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) auto auto auto auto;gap:.75rem;align-items:end;background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:1rem;margin-top:1rem}.seat-selection-summary{align-self:center}.seat-selection-summary strong{display:block;margin-bottom:.25rem}.seat-toggle{border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;background:white;align-self:stretch;align-content:center;font-weight:900}.seat-toggle input{width:auto}.seat-toggle.pmr{border-color:#00a3b4;background:#ecfeff;color:#155e75}.seat-toggle.blocked{border-color:#efb3ad;background:#fff1f1;color:#991b1b}.seat-legend{display:flex;gap:.65rem;flex-wrap:wrap;margin:.8rem 0;color:var(--muted);font-weight:800;font-size:.86rem}.seat-legend span{display:inline-flex;align-items:center;gap:.3rem}.seat-legend i{width:16px;height:16px;border-radius:4px;border:2px solid #b9e5c9;background:#e7f7ed}.seat-legend .legend-pmr{background:#fff;border-color:#00a3b4;outline:2px solid #00a3b4;outline-offset:1px}.seat-legend .legend-blocked{background:#f8dddd;border-color:#efb3ad}.seat-legend .legend-selected{background:var(--primary);border-color:var(--primary)}.plan-history-actions{display:flex;gap:.35rem}.plan-history-actions .button{padding:.35rem .65rem;font-size:.82rem}
.plan-live-wrap{padding:1rem}.plan-toolbox{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,1fr) auto auto auto auto;gap:.6rem;align-items:end;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.75rem}.plan-toolbox strong{align-self:center}.plan-live-seat{position:relative;width:30px;height:28px;padding:0;border-radius:5px;font-size:.72rem;color:#172033;border:2px solid currentColor;background:#eef3ff;font-weight:900;flex:0 0 30px}.plan-live-seat.selected{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff;outline:3px solid #00a3b4;outline-offset:1px}.plan-live-seat.pmr{box-shadow:0 0 0 2px #00a3b4}.plan-live-seat.pmr:before{content:"PMR";position:absolute;left:1px;top:1px;font-size:.42rem;line-height:1;color:#155e75;background:#cffafe;border-radius:2px;padding:1px 2px}.plan-live-seat.blocked{background:#f8dddd!important;border-color:#dc2626!important;color:#991b1b;box-shadow:inset 0 0 0 2px #dc2626}.plan-live-seat.blocked:after{content:"×";position:absolute;right:2px;top:-2px;font-size:1rem;line-height:1;color:#991b1b;font-weight:900}.plan-live-seat.pmr.blocked{box-shadow:0 0 0 2px #00a3b4,inset 0 0 0 2px #dc2626}.plan-live-placeholder{display:inline-block;visibility:hidden}.plan-prev-stage{border:0;cursor:ew-resize;display:block;margin:.4rem auto 0;touch-action:none;user-select:none}.plan-prev-stage:hover{filter:brightness(1.08)}
.session-form-head{display:flex;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.75rem}.session-form-head h3{margin:.1rem 0}.agenda-tariffs{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}.agenda-tariffs span{background:#fff7df;color:#5b3a00;border:1px solid #ead08b;border-radius:999px;padding:.22rem .5rem;font-size:.74rem;font-weight:900}.agenda-location{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.agenda-tariffs-desktop{flex-basis:100%}.agenda-tariff-toggle{display:none;flex-basis:100%}.agenda-tariff-toggle summary{display:none;list-style:none;cursor:pointer;align-items:center;gap:.25rem;background:#fff7df;color:#5b3a00;border:1px solid #ead08b;border-radius:999px;padding:.16rem .55rem;font-size:.72rem;font-weight:900;white-space:nowrap}.agenda-tariff-toggle summary::-webkit-details-marker{display:none}.agenda-tariff-toggle summary:after{content:"▾";font-size:.65rem}.agenda-tariff-toggle[open] summary:after{content:"▴"}.agenda-tariff-toggle .agenda-tariffs{display:flex;margin-top:.35rem}
.kebab-menu{min-width:210px}.kebab-menu a,.kebab-menu button{font-size:.92rem;line-height:1.15;white-space:normal}.order-page{display:grid;gap:1rem}.order-page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.order-page-head h2{margin:.1rem 0}.order-page-head p{margin:.25rem 0;color:var(--muted)}.order-page-head strong{font-size:1.8rem}.order-summary-grid small{display:block;color:var(--muted);font-weight:700;margin-top:.2rem}.order-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.order-card{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:1rem;display:grid;gap:.8rem}.order-card h3{margin:0}.order-seat-list{display:grid;gap:.45rem}.order-seat-list div{display:flex;justify-content:space-between;gap:.8rem;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;padding:.6rem .7rem}.order-seat-list span{color:var(--muted);font-weight:800}.move-seat-map{margin-top:1rem}
.cancel-order-form{display:grid;gap:.6rem}
.inline-delete-form{margin:0}.inline-delete-form button{padding:.42rem .65rem;font-size:.85rem}
.ticket-check{display:inline-flex;align-items:center;gap:.35rem;font-weight:900;border-radius:999px;padding:.25rem .55rem}.ticket-check:before{content:"";width:9px;height:9px;border-radius:999px;display:inline-block}.ticket-check.unchecked{background:#fee2e2;color:#991b1b}.ticket-check.unchecked:before{background:#dc2626}.ticket-check.checked{background:#dcfce7;color:#166534}.ticket-check.checked:before{background:#16a34a}
.seat-placeholder{display:inline-block;visibility:hidden}
@media(max-width:760px){.seat-editor,.seat-editor-panel{grid-template-columns:1fr}.seat-editor button,.seat-editor-panel button{width:100%}}
@media(max-width:980px){.widget-checkout{grid-template-columns:1fr}.widget-hero,.widget-cart-sticky{position:static}.widget-hero{grid-template-columns:86px minmax(0,1fr);align-items:center}.widget-hero img,.widget-poster-empty{width:86px}.widget-cart{order:2}.widget-flow{order:1}.widget-hero{order:0}}
@media(max-width:760px){.order-page-head,.order-seat-list div{align-items:flex-start;flex-direction:column}.order-page-grid{grid-template-columns:1fr}.move-seat-map{overflow:auto}}
@media(max-width:760px){.customer-row{grid-template-columns:1fr}.customer-row small{text-align:left}}
.order-seat-map .seat.order-current{box-shadow:0 0 0 3px #f59e0b;opacity:1}.order-seat-map .seat.move-preview{box-shadow:0 0 0 3px #16a34a;background:#dcfce7!important;border-color:#16a34a!important;color:#14532d!important}.order-seat-map .seat.move-preview-invalid{box-shadow:0 0 0 3px #dc2626}.move-mode-switch{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.place-check-list{display:flex;gap:.3rem;flex-wrap:wrap}.place-check{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .45rem;font-weight:900}.place-check.unchecked{background:#fee2e2;color:#991b1b}.place-check.checked{background:#dcfce7;color:#166534}
.sticky-notice{position:fixed;right:1.2rem;top:1.2rem;z-index:120;min-width:min(360px,calc(100vw - 2.4rem));box-shadow:0 14px 36px #0002;border:1px solid #cfe0ff;transition:opacity .3s ease,transform .3s ease}.sticky-notice.is-hiding{opacity:0;transform:translateY(-8px)}.show-past-sessions{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem}.show-past-sessions h3{margin:.1rem 0 .8rem}.past-session-list .agenda-row{opacity:.82}.order-seat-map .seat.seat-category-unavailable,.widget .seat.seat-category-unavailable{cursor:no-drop;position:relative;filter:saturate(.55);opacity:.72}.order-seat-map .seat.seat-category-unavailable:after,.order-seat-map .seat.seat-category-denied:after,.widget .seat.seat-category-unavailable:after,.widget .seat.seat-category-denied:after{content:"⊘";position:absolute;inset:0;display:grid;place-items:center;background:#ffffffcc;color:#991b1b;border-radius:5px;font-size:1.05rem;font-weight:900}.order-seat-map .seat.seat-category-denied,.widget .seat.seat-category-denied{animation:seat-denied .45s ease}@keyframes seat-denied{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
.modal-backdrop:not(.is-open) .order-seat-map{visibility:hidden}.seat-modal .order-seat-map{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:900px 640px}.seat-modal .seat{will-change:auto}
.widget .seat-map{overflow:visible;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:900px 640px}.widget .seat{will-change:auto}
/* Scène en bas (comme l'éditeur de plan) + plan mis à l'échelle par JS pour tenir sans scroll */
.widget .seat-layout{display:flex;flex-direction:column;align-items:center;transform-origin:top center}
/* Dans le widget, `.seat-layout` est un flex en colonne centré : ses enfants prennent la largeur de
   leur contenu. Le repère d'entrée s'y retrouvait donc centré quelle que soit sa position réglée.
   On le réétire sur toute la largeur pour que `justify-content` retrouve de la place à distribuer. */
.widget .seat-layout .entrance{align-self:stretch}
.widget-checkout.seat-step .seat-map{overflow:visible}
.code-hint{margin:.4rem 0 0;padding:.55rem .7rem;background:#eef3ff;border:1px solid #d8e2f8;border-radius:8px;color:#1d4ed8;font-weight:700;font-size:.86rem}.widget-code-terms{margin:.5rem 0 0;color:#8a93a0;font-size:.72rem;line-height:1.4}
.group-discount-nudge{margin:.5rem 0 0;padding:.6rem .75rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#b45309;font-weight:700;font-size:.9rem}
.group-discount-nudge.active{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.tariff-old-price{color:#9ca3af;font-weight:600;text-decoration:line-through;margin-right:.35rem;font-size:.92em}
.tariff-new-price{color:#047857}
/* Carte avec promo réduction de groupe : 2 colonnes (tarif | promo). La colonne promo est
   toujours réservée -> l'apparition/mise à jour du texte ne décale jamais la page. */
.tariff-card.has-promo{grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:.9rem}
.tariff-card.has-promo .tariff-card-main{display:grid;gap:.35rem;min-width:0}
.tariff-promo-box{padding:.7rem .8rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#b45309;font-weight:800;font-size:.9rem;line-height:1.3;text-align:center}
.tariff-promo-box.active{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.widget .tariff-card.has-promo{grid-template-columns:minmax(0,1fr) 160px}
@media(max-width:760px){.widget .tariff-card.has-promo{grid-template-columns:minmax(0,1fr) 130px}}
.recap-code{margin:.2rem 0}
table.only-codes tbody tr:not([data-has-code]){display:none}
.code-cell{display:flex;flex-direction:column;gap:.1rem;margin:.1rem 0}
.code-chip{display:inline-block;width:fit-content;background:#eef9f0;color:#166534;border:1px solid #bfe6c9;border-radius:999px;padding:.1rem .5rem;font-weight:900;font-size:.8rem}
.code-cell small{color:var(--muted);font-weight:700}
/* Panier déporté dans la page hôte : on masque l'aside du widget. Le récap a son propre panier (.recap-cart). */
.widget .widget-cart{display:none}
.recap-cart{margin:.4rem 0 .2rem}
.pay-button{width:100%;margin-top:.4rem}
.widget-checkout.seat-step{width:min(1560px,100%);grid-template-columns:1fr}
.widget-checkout.seat-step .widget-hero,.widget-checkout.seat-step .widget-cart{display:none}
.widget-checkout.seat-step .widget-flow{overflow:visible}
.widget-checkout.seat-step .seat-map{width:max-content;max-width:none;margin:0 auto;overflow:visible}
.widget-checkout.seat-step .widget-seat-head,.widget-checkout.seat-step .promo-box,.widget-checkout.seat-step .cartbar,.widget-checkout.seat-step .legend{max-width:1120px;margin-left:auto;margin-right:auto}
.customer-code-box .widget-code-box{margin:.25rem 0 0}
@media(max-width:760px){
  html,body,.widget-page{width:100%;max-width:100%;overflow-x:hidden}
  .widget{padding:.55rem;max-width:none}
  .widget input,.widget select,.widget textarea{font-size:16px;line-height:1.35}
  .widget-checkout{display:block;width:100%}
  .widget-flow,.widget-hero,.widget-cart-sticky{border-radius:8px;padding:.8rem}
  .widget-flow{border:0;background:transparent;padding:.35rem}
  .widget-flow h1{font-size:1.25rem;margin:.15rem 0 .75rem}
  .widget-hero{grid-template-columns:54px minmax(0,1fr);gap:.65rem;margin-bottom:.55rem;padding:.65rem;position:static}
  .widget-hero img,.widget-poster-empty{width:54px;border-radius:6px}
  .widget-hero p{font-size:.64rem}
  .widget-hero h2{font-size:1rem;line-height:1.15}
  .widget-hero span{font-size:.78rem}
  .widget-cart{display:none}
  .widget-checkout.customer-step .widget-cart{display:none}
  .widget-cart-code{display:none}
  .widget-seat-head{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line);margin:-.25rem -.8rem .55rem;padding:.5rem .8rem}
  .widget-seat-head .date-full{font-size:.95rem;font-weight:900;color:var(--text)}
  .widget .seat-map{margin:0 -.8rem;padding:.55rem .8rem .7rem;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;touch-action:pan-x pan-y;content-visibility:visible}
  .widget .seat-row{justify-content:flex-start;gap:.3rem}
  .widget .seat-row>span:first-child{position:sticky;left:0;z-index:1;background:#fff;border-radius:4px;width:26px;flex-basis:26px;text-align:center}
  .widget .seat{width:34px;height:34px;flex-basis:34px;border-radius:7px;font-size:.78rem}
  .widget .seat-aisle{width:36px;flex-basis:36px}
  .widget .stage{max-width:none}
  /* `margin: … auto 0` recentrait la scène de force sur mobile : l'alignement réglé dans l'éditeur
     et l'écart avec le premier rang étaient perdus. On reprend la même formule qu'ailleurs. */
  .widget .seat-layout .stage{width:var(--stage-width,72%)!important;margin:calc(.75rem + var(--stage-gap,0px)) auto 0 calc((100% - var(--stage-width,72%)) * var(--stage-align,50) / 100)}
  .widget-code-box{margin:.8rem 0;padding:.8rem}
  .customer-code-box .widget-code-box{margin:0;padding:.8rem}
  .cartbar-code{display:block;margin-top:.45rem}
  .cartbar-code .widget-code-box{margin:0;padding:0;border:0;background:transparent}
  .cartbar-code .widget-code-box button{padding:.45rem .6rem;font-size:.82rem}
  .cartbar-code .widget-code-box label{font-size:.76rem}
  .widget-code-box label{font-size:.95rem}
  .widget .legend{display:none}
  .widget .cartbar{position:static;left:auto;right:auto;bottom:auto;z-index:auto;margin:.75rem 0 0;padding:0;border:0;border-radius:0;box-shadow:none;display:block;background:transparent}
  .widget .cartbar span{display:none}
  .widget .cartbar button{width:100%;padding:.78rem .95rem;white-space:normal}
  .widget-checkout.seat-step .cartbar{position:static;left:auto;right:auto;bottom:auto;z-index:auto;margin:.85rem auto 0;padding:0;border:0;border-radius:0;box-shadow:none;display:block}
  .widget .tariff-cards{grid-template-columns:1fr;gap:.55rem}
  .widget .tariff-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.8rem}
  .widget .tariff-card strong,.widget .tariff-card em{grid-column:1}
  .widget .tariff-stepper{grid-column:2;grid-row:1/4;margin:0;align-self:center}
  .widget .tariff-stepper button{width:42px;height:38px}
  .widget button,.widget a,.widget .seat,.mobile-row-sector{touch-action:manipulation}
  .seat-pick-message{top:.7rem;border-radius:8px;text-align:left}
  .mobile-seat-picker{display:grid;gap:.75rem;margin:0 -.8rem;padding:.2rem .8rem .8rem}
  .mobile-seat-overview{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:.65rem;display:grid;gap:.55rem;overflow:hidden}
  .mobile-row-instruction{font-size:.92rem;font-weight:950;color:#20242a;background:#eef3ff;border:1px solid #d8e2f8;border-radius:8px;padding:.5rem .65rem;text-align:center}
  .mobile-seat-map-mini{display:flex;flex-direction:column;gap:2px;align-items:stretch}
  .mobile-row-sector{position:relative;width:100%;height:20px;min-height:20px;flex:0 0 20px;margin:0;padding:1px 3px 1px 0;border-radius:5px;border:1px solid transparent;background:#fff;color:#24324a;display:flex;gap:3px;align-items:center;font-size:.58rem;font-weight:900;line-height:1;overflow:hidden;box-sizing:border-box;appearance:none;-webkit-appearance:none}
  .mobile-row-label{display:grid;place-items:center;width:18px;flex:0 0 18px;height:18px;color:var(--muted);line-height:1}
  .mobile-row-mini-seats{display:flex;gap:.07rem;align-items:center;align-self:center;min-width:0;height:12px;flex:1 1 auto;line-height:1}
  .mobile-mini-seat{height:12px;min-width:0;flex:1 1 0;border-radius:2px;border:1px solid var(--seat-border,#dfe3e8);background:var(--seat-bg,#eef3ff);display:grid;place-items:center;font-size:.34rem;line-height:1;font-weight:900;color:var(--seat-color,#24324a);overflow:hidden;cursor:pointer}
  .mobile-mini-seat.empty{visibility:hidden}
  .mobile-mini-seat.unavailable{background:#e3e6eb!important;border-color:#cfd4dc!important;color:#667085!important;opacity:1;cursor:not-allowed}
  .mobile-mini-seat.pmr{outline:1px solid #00a3b4;outline-offset:0}
  .mobile-mini-seat.selected{box-shadow:0 0 0 2px #06b6d4;background:#2457d6!important;border-color:#2457d6!important}
  .mobile-mini-aisle{flex:0 0 .45rem}
  .mobile-row-sector b{position:absolute;right:3px;top:3px;background:#2457d6;color:#fff;border-radius:999px;font-size:.58rem;line-height:1;padding:.12rem .24rem}
  /* Aucun habillage au niveau du RANG : on choisit désormais les sièges directement sur le plan,
     il n'y a plus de rang « actif » ni de vue agrandie à annoncer. Les sièges retenus se voient
     déjà un par un (.mobile-mini-seat.selected) et le compteur du rang reste affiché. */
  .mobile-row-sector.full .mobile-row-mini-seats{opacity:.45}
  .mobile-mini-stage{width:var(--stage-width,72%);margin:calc(.35rem + var(--stage-gap,0px)) 0 0 calc((100% - var(--stage-width,72%)) * var(--stage-align,50) / 100);background:#252b34;color:white;border-radius:var(--stage-radius,5px);padding:.34rem;text-align:center;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;font-weight:900;box-sizing:border-box}
  .mobile-selected-seats{min-height:34px;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;color:var(--muted);font-weight:800}
  .mobile-selected-seats span{background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.22rem .5rem;font-weight:900}
}

.code-generation-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:1rem;align-items:start}.code-gen-card{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:1rem;display:grid;gap:.75rem}.code-gen-card h3{margin:0;font-size:1.25rem}.code-gen-card p{margin:0;color:var(--muted);font-weight:700}.code-gen-card label{display:grid;gap:.25rem;color:var(--muted);font-weight:800}.code-gen-card .wide{grid-column:1/-1}.generated-code-list{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.code-list-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.code-list-head h3,.code-list-head h2{margin:.1rem 0}.code-list-head p{margin:0;color:var(--muted);font-weight:800}.code-owner-list{display:grid;gap:.6rem;margin-top:1rem}.code-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:.5rem}.code-summary-grid section{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.85rem}.code-summary-grid span{display:block;color:var(--muted);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.code-summary-grid strong{display:block;font-size:1.55rem;margin:.2rem 0}.code-summary-grid small{display:block;color:var(--muted);font-weight:900}.code-owner-row{display:grid;grid-template-columns:minmax(260px,1fr) 130px 150px 120px auto;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.8rem}.batch-actions{display:flex;gap:.4rem;flex-shrink:0}.batch-actions .button{padding:.4rem .7rem;font-size:.82rem}.code-owner-row strong{font-size:1rem}.code-owner-row span{color:var(--muted);font-weight:800}.code-status{display:inline-flex;border-radius:999px;padding:.22rem .55rem;font-weight:900;font-size:.78rem}.code-status.used{background:#dcfce7;color:#166534}.code-status.unused{background:#ffedd5;color:#9a3412}.code-status.expired{background:#e5e7eb;color:#4b5563}.code-lines tr.code-used{background:#f7fff9}.code-lines tr.code-unused{background:#fffaf2}.code-lines tr.code-expired{background:#f4f5f7}.code-lines form{margin:0}.code-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.code-client-group{margin-top:1rem}
.gift-card-preview-wrap{display:grid;justify-content:center;margin:1rem 0 1.2rem}.gift-card-preview{width:min(820px,100%);aspect-ratio:1.9/1;border:2px solid color-mix(in srgb,var(--gift-color) 70%,#fff);background:linear-gradient(135deg,#fff 0%,#fff 64%,color-mix(in srgb,var(--gift-color) 12%,#fff) 100%);display:grid;grid-template-columns:30% 1fr;overflow:hidden;position:relative;box-shadow:0 18px 40px #00000014}.gift-card-preview:before{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--gift-color) 70%,#fff);pointer-events:none}.gift-card-ribbon{position:relative;background:linear-gradient(90deg,color-mix(in srgb,var(--gift-color) 80%,#5b3b00),var(--gift-color));display:grid;place-items:center}.gift-card-ribbon:before,.gift-card-ribbon:after{content:"";position:absolute;width:78%;height:32%;border-radius:55% 45% 52% 48%;background:color-mix(in srgb,var(--gift-color) 88%,#fff);box-shadow:inset -18px -10px 24px #0002}.gift-card-ribbon:before{transform:translate(-26%,-10%) rotate(-16deg)}.gift-card-ribbon:after{transform:translate(26%,8%) rotate(16deg)}.gift-card-ribbon span{z-index:1;width:72px;height:72px;border-radius:14px;background:color-mix(in srgb,var(--gift-color) 82%,#fff);box-shadow:0 14px 28px #0003}.gift-card-content{position:relative;z-index:1;display:grid;align-content:center;gap:.65rem;padding:2rem;text-align:center}.gift-card-content p{margin:0;text-transform:uppercase;letter-spacing:.08em;color:#5f6670;font-weight:900}.gift-card-content h3{margin:0;font-size:clamp(2rem,5vw,4.4rem);line-height:1;color:#111827}.gift-card-box{border:1px solid color-mix(in srgb,var(--gift-color) 65%,#fff);border-radius:18px;padding:.85rem 1rem;display:grid;gap:.3rem}.gift-card-box span,.gift-card-code span{color:#5f6670;font-weight:800}.gift-card-box strong{font-size:clamp(1.05rem,2.4vw,1.6rem);text-transform:uppercase}.gift-card-box em{font-style:normal;font-weight:800;color:#5f6670}.gift-card-code{display:inline-grid;grid-auto-flow:column;gap:.55rem;align-items:center;justify-content:center;background:#111827;color:#fff;border-radius:999px;padding:.45rem .9rem;margin:0 auto}.gift-card-code span{color:#cbd5e1}.gift-card-code strong{letter-spacing:.06em}.gift-card-content small{font-weight:900;color:color-mix(in srgb,var(--gift-color) 80%,#2b2b2b)}.voucher-mail-box{position:relative}.voucher-mail-box summary{cursor:pointer;color:var(--primary);font-weight:900;white-space:nowrap}.voucher-mail-box form{position:absolute;z-index:30;right:0;top:100%;display:grid;gap:.55rem;width:min(380px,calc(100vw - 3rem));min-width:0;margin-top:.45rem;padding:.8rem;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 45px #11182726}.voucher-mail-box textarea{width:100%;min-width:0;resize:vertical}.voucher-mail-box button{width:100%}.order-page-grid>.order-card{min-width:0}.tariff-card-free input{padding:.35rem .45rem;font-weight:900;text-align:right}.tariff-card-free strong{display:block}
.gift-card-create-layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:1.2rem;align-items:start}.gift-card-live-panel{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:1rem;display:grid;gap:.7rem;position:sticky;top:1rem}.gift-card-live-panel h3{margin:0}.gift-card-live-panel p{margin:0;color:var(--muted);font-weight:800}.gift-card-list{display:grid;gap:.65rem}.gift-card-list-row{display:grid;grid-template-columns:82px minmax(220px,1fr) 120px 120px auto;gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.7rem}.gift-card-list-row:hover{box-shadow:0 10px 24px #0000000d}.gift-card-list-row strong,.gift-card-list-row span,.gift-card-list-row small{display:block}.gift-card-list-row span,.gift-card-list-row small{color:var(--muted);font-weight:800}.gift-card-mini{width:76px;height:48px;border-radius:6px;border:1px solid color-mix(in srgb,var(--gift-color) 65%,#fff);background:linear-gradient(135deg,#fff 0 55%,color-mix(in srgb,var(--gift-color) 18%,#fff));position:relative;overflow:hidden}.gift-card-mini:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:14px;background:var(--gift-color)}.gift-card-mini span{position:absolute;left:28px;top:14px;width:26px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--gift-color) 80%,#fff)}
.gift-swatch-label{display:block;font-weight:700;color:var(--text);margin-bottom:.35rem}
.gift-color-swatches{display:flex;flex-wrap:wrap;gap:.55rem}
.gift-swatch{position:relative;cursor:pointer;line-height:0}
.gift-swatch input{position:absolute;opacity:0;width:0;height:0}
.gift-swatch span{display:block;width:30px;height:30px;border-radius:50%;background:var(--c);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.18);transition:box-shadow .12s}
.gift-swatch:hover span{box-shadow:0 0 0 1px rgba(0,0,0,.28)}
.gift-swatch input:checked + span{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--c)}
.gift-swatch input:focus-visible + span{outline:2px solid #1d4ed8;outline-offset:2px}
/* Carte cadeau : format paysage allongé 20×7, ruban (image PNG) en angle haut-gauche, infos à droite. */
.gift-card-preview{display:block;position:relative;aspect-ratio:20/7;width:min(880px,100%);margin:0 auto;background:#fff;border-radius:14px;border-color:color-mix(in srgb,var(--gift-color) 50%,#fff);box-shadow:0 22px 50px #0000001f;overflow:hidden}
.gift-card-preview:before{inset:10px;border-radius:8px;border-color:color-mix(in srgb,var(--gift-color) 40%,#fff);z-index:1}
/* Ruban-nœud : image SVG en angle HAUT-GAUCHE, taille par la largeur (ratio préservé, pas d'étirement). */
.gift-card-ribbon-img{position:absolute;top:-12%;left:-4%;width:30%;height:auto;z-index:2;pointer-events:none;filter:hue-rotate(var(--gift-hue,0deg)) drop-shadow(0 8px 14px rgba(0,0,0,.22))}

.agenda-row.is-exterior-session{background:linear-gradient(90deg,#faf5ff 0%,#fff 55%);border-left-color:#8b5cf6}
.agenda-row.is-exterior-session .agenda-date{color:#5b21b6}
@media(max-width:760px){.agenda-tariffs-desktop{display:none}.agenda-tariff-toggle{display:inline-block;flex-basis:auto}.agenda-tariff-toggle summary{display:inline-flex}}
.agenda-daily .agenda-daily-arrow,.agenda-daily[data-level="zero"] .agenda-daily-arrow,.agenda-daily[data-level="low"] .agenda-daily-arrow{color:#16a34a}
.newsletter-cron-status{display:grid;gap:.2rem;margin:.75rem 0;padding:.75rem .9rem;border-left:4px solid #d97706;background:#fff7ed;color:#7c2d12}.newsletter-cron-status.is-ok{border-left-color:#16a34a;background:#f0fdf4;color:#166534}.newsletter-cron-status span{font-size:.86rem;font-weight:700}.newsletter-cron-status .newsletter-cron-error{color:#b91c1c}
.customer-profile-head{align-items:center}.customer-identity{min-width:0}.customer-contact{font-size:1.02rem;overflow-wrap:anywhere}.customer-account-status{margin:.45rem 0 0;color:var(--muted);font-weight:700}.customer-account-status:before{content:"";display:inline-block;width:9px;height:9px;margin-right:.45rem;border-radius:50%;background:#16a34a}.customer-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.customer-section-head h2{margin:.1rem 0}.customer-section-head>span{color:var(--muted);font-weight:800;overflow-wrap:anywhere}.customer-mail-form{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(360px,1.4fr) auto;gap:1rem;align-items:end}.customer-mail-form label{display:grid;gap:.35rem;font-weight:800}.customer-mail-form textarea{min-height:132px;resize:vertical}.customer-mail-form button{white-space:nowrap}.customer-account-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1rem}.customer-account-actions>section{display:grid;align-content:start;gap:.5rem;padding-left:1rem;border-left:3px solid var(--line)}.customer-account-actions h3,.customer-account-actions p{margin:0}.customer-account-actions p{min-height:2.5em;color:var(--muted);font-size:.88rem}.customer-account-actions form{display:grid;gap:.55rem;align-content:start}.customer-account-actions input{width:100%;min-width:0}.customer-account-danger{border-left-color:#fecaca!important}
@media(max-width:900px){.customer-mail-form{grid-template-columns:1fr}.customer-account-actions{grid-template-columns:1fr}.customer-account-actions p{min-height:0}.customer-profile-head,.customer-section-head{align-items:flex-start;flex-direction:column}}
.exterior-tag{background:#f3e8ff!important;color:#6d28d9!important}
.billetweb-error{background:#fee2e2!important;color:#991b1b!important}
.guichet-splash{display:none}
@media(max-width:760px){.guichet-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff;transition:opacity .35s ease,visibility .35s ease;pointer-events:auto}}
.guichet-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.guichet-splash-inner{display:grid;gap:.85rem;justify-items:center;width:min(210px,52vw)}
.guichet-splash-logo{width:min(130px,34vw);height:min(96px,25vw);overflow:hidden;line-height:0}
.guichet-splash-logo img{display:block;width:112%;height:auto;max-width:none;transform:translate(-5%,-4%)}
.guichet-splash-bar{width:min(180px,46vw);height:5px;border-radius:999px;background:#e6ecf5;overflow:hidden}
.guichet-splash-bar span{display:block;width:100%;height:100%;border-radius:inherit;background:#0b5dc7;transform-origin:left;animation:guichetSplashBar .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes guichetSplashBar{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
.pull-refresh{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;z-index:4000;transform:translate(-50%,-70px);opacity:0;pointer-events:none;background:#fff;color:#1d4ed8;border:1px solid #d8e2f8;border-radius:999px;padding:.48rem .8rem;font-weight:900;box-shadow:0 10px 28px #0002;transition:transform .18s ease,opacity .18s ease}
.pull-refresh.is-visible{opacity:1;transform:translate(-50%,0)}
.pull-refresh.is-ready{background:#1d4ed8;color:#fff}
.pull-refresh.is-loading{background:#151922;color:#fff}
/* Infos à droite, centrées, compactes (la carte est basse : tout doit tenir sans rognage). */
.gift-card-content{position:relative;z-index:3;height:100%;box-sizing:border-box;display:grid;align-content:center;justify-items:center;text-align:center;gap:.3rem;padding:.8rem 1.4rem .8rem 34%;min-width:0}
.gift-card-logo{display:block;max-width:96px;max-height:32px;object-fit:contain;margin:0 auto}
.gift-card-content h3{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;letter-spacing:.01em;font-size:clamp(1.15rem,2.4vw,1.9rem);line-height:1.02;margin:0;color:#121722;max-width:100%;overflow-wrap:break-word}
.gift-card-box{border:1px solid color-mix(in srgb,var(--gift-color) 50%,#fff);border-radius:11px;padding:.4rem .8rem;width:min(100%,440px)}
.gift-card-box span{font-size:.78rem}
.gift-card-box strong{font-size:clamp(.85rem,1.7vw,1.15rem)}
.gift-card-box em{font-size:clamp(.75rem,1.3vw,.9rem)}
.gift-card-code{padding:.3rem .8rem;margin-top:.05rem}
.gift-card-content small{font-size:.7rem;line-height:1.25}

@media(max-width:900px){.code-generation-grid,.code-summary-grid{grid-template-columns:1fr}.code-owner-row{grid-template-columns:1fr;gap:.35rem}.code-list-head{display:grid}.code-detail-head{display:grid}}

.code-owner-list h3{margin:1.15rem 0 .15rem;font-size:1.45rem}
.code-owner-list h3:first-of-type{margin-top:.35rem}
.code-owner-list>p.date-full{margin:.1rem 0 .3rem}
.code-owner-row{grid-template-columns:minmax(320px,1.4fr) minmax(115px,.45fr) minmax(135px,.5fr) minmax(105px,.35fr) auto}
.code-owner-row>div:first-child{display:grid;gap:.12rem;min-width:0}
.code-owner-row>div:first-child strong,.code-owner-row>div:first-child span{display:block;overflow-wrap:anywhere}
.code-owner-row>div:first-child strong{line-height:1.15}
.code-owner-row>div:first-child span{font-size:.9rem;line-height:1.25}
.code-owner-row:hover{border-color:#c7d7fb;box-shadow:0 10px 24px #1d4ed80f}
@media(max-width:900px){.code-owner-row{grid-template-columns:1fr}.code-owner-row .batch-actions{justify-content:flex-start}}

.widget-code-toggle{width:100%;background:#eef3ff;color:#1d4ed8}.widget-code-zone{display:grid;gap:.6rem}.widget-code-zone label{display:grid;gap:.35rem;line-height:1.18}.widget-code-actions{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:.6rem;align-items:center}.widget-code-actions [data-code-message]{display:block;min-width:0;color:var(--muted);font-weight:900;line-height:1.25}.widget-code-actions [data-code-message].ok{color:#0f766e}.widget-cart-code{display:grid;gap:.6rem}.widget-cart-code .widget-code-actions{grid-template-columns:1fr}.widget-cart-code .widget-code-actions button{width:100%}.widget-cart-code .widget-code-actions [data-code-message]{font-size:.92rem}.widget-cart-code input[name=promo_code]{width:100%}
.widget-recap-code{display:grid;gap:.7rem;margin:.25rem 0 1rem;padding:.85rem;border:1px solid #d8e2f8;border-radius:10px;background:#fbfcff}
.widget-recap-code .widget-code-head{display:grid;gap:.12rem}
.widget-recap-code .widget-code-head strong{font-size:1rem;line-height:1.15;color:#20242a}
.widget-recap-code .widget-code-head small{color:#5d6b82;font-weight:800;line-height:1.3}
.widget-recap-code .widget-code-toggle{justify-self:start;width:auto;background:#2457d6;color:#fff;font-size:1rem;padding:.78rem 1.15rem}
.widget-recap-code .widget-code-zone{padding:.8rem;border:1px solid #d8e2f8;border-radius:8px;background:#fff}
.widget-recap-code input[name=promo_code]{font-weight:900;text-transform:uppercase}

@media(max-width:760px){.widget-code-actions{grid-template-columns:1fr}.widget-code-actions button{width:100%}.widget-code-actions [data-code-message]{font-size:.9rem}.cartbar-code .widget-code-zone{gap:.4rem}.cartbar-code .widget-code-actions{gap:.4rem}.widget-recap-code{padding:.85rem}.widget-recap-code .widget-code-toggle{width:100%}}

.widget-cart-discount{display:flex;justify-content:space-between;gap:.7rem;align-items:center;margin:.7rem 0 0;color:#0f766e;font-weight:900}.widget-cart-discount strong{white-space:nowrap}.widget-cart-total{margin-top:.35rem}.widget-timer[hidden]{display:none!important}

.copy-code-btn{margin-left:.45rem;padding:.28rem .5rem;border-radius:6px;font-size:.78rem;background:#eef3ff;color:#1d4ed8}.code-lines tr{cursor:default}.kebab-menu form{margin:0}
.widget-applied-codes{display:grid;gap:.35rem}.widget-applied-codes span{display:flex;justify-content:space-between;gap:.5rem;color:#0f766e;font-weight:900}.customer-tools{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.75rem 0 1rem}.customer-tools span{color:var(--muted);font-weight:900}
.accounting-table{margin-top:.5rem}.accounting-table th:nth-child(n+2),.accounting-table td:nth-child(n+2){text-align:right}.accounting-table tfoot th{border-top:2px solid var(--line);border-bottom:1px solid var(--line);font-size:1.05rem;padding-top:.9rem;padding-bottom:.9rem}.accounting-table tfoot th:first-child{text-align:left}.accounting-table-detailed{font-size:.9rem}.accounting-table-detailed th:nth-child(1),.accounting-table-detailed td:nth-child(1),.accounting-table-detailed th:nth-child(2),.accounting-table-detailed td:nth-child(2),.accounting-table-detailed th:nth-child(3),.accounting-table-detailed td:nth-child(3){text-align:left}.accounting-code-info{max-width:360px;line-height:1.25;color:var(--muted);font-weight:800}.accounting-breakdown{margin-top:1rem;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:.75rem}.accounting-breakdown summary{cursor:pointer;font-weight:900;color:#1d4ed8}.accounting-totals-block{display:grid;gap:0;margin-top:1.2rem;margin-left:auto;width:fit-content;min-width:260px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.accounting-total-line{display:flex;justify-content:space-between;gap:2rem;padding:.6rem 1rem;background:#fbfcfe;border-bottom:1px solid var(--line);font-size:.95rem}.accounting-total-line:last-child{border-bottom:0}.accounting-total-line span{color:var(--muted);font-weight:700}.accounting-total-line strong{font-weight:700}.accounting-total-ttc{background:#eef3ff!important;padding:.75rem 1rem}.accounting-total-ttc span{color:#1d4ed8!important;font-weight:900}.accounting-total-ttc strong{color:#1d4ed8;font-size:1.1rem;font-weight:900}
.invoice-header{display:grid;grid-template-columns:1fr 1fr 220px;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border:1px solid var(--line);border-radius:8px;align-items:stretch}.invoice-company,.invoice-client,.invoice-meta{display:flex;flex-direction:column;gap:.24rem;min-height:150px;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.92rem}.invoice-company strong,.invoice-client strong{font-size:1.05rem;font-weight:900;margin:.1rem 0 .25rem}.invoice-company span,.invoice-client span{color:var(--muted);font-weight:700;line-height:1.25}.invoice-meta{align-items:flex-start;text-align:left}.invoice-meta p{margin:.1rem 0}.invoice-meta strong{font-size:1.05rem;font-weight:900}.invoice-logo{max-height:58px;max-width:160px;object-fit:contain;margin:.15rem 0 .4rem}
.code-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
@media print{.sidebar,.topbar,.back-button,.back-link,.print-hide{display:none!important}.admin-main{margin-left:0;padding:1rem}.panel{border:none;padding:0}.accounting-totals-block{border:1px solid #ccc}.accounting-total-ttc{background:#e8eeff!important}.accounting-total-ttc span,.accounting-total-ttc strong{color:#1d4ed8!important}.invoice-header{background:#fff;border-color:#ccc}}

.widget-page{padding-bottom:76px}.widget-bottom-total{position:fixed;left:50%;bottom:14px;z-index:90;transform:translateX(-50%);width:min(420px,calc(100% - 28px));display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.72rem 1rem;box-shadow:0 16px 44px #0002;font-weight:900}.widget-bottom-total span{color:var(--muted)}.widget-bottom-total strong{font-size:1.08rem;white-space:nowrap}
@media(max-width:760px){.widget-page{padding-bottom:0}.widget-bottom-total{display:none}}

.newsletter-admin{padding:1.2rem}.newsletter-top{display:grid;gap:1rem;margin-bottom:1rem}.newsletter-hero{display:flex;justify-content:space-between;gap:1.2rem;align-items:stretch;background:linear-gradient(135deg,#fff 0%,#fbf7f0 100%);border:1px solid #eadfcd;border-radius:8px;padding:1.2rem}.newsletter-hero h2{margin:.1rem 0 .35rem;font-size:2rem;line-height:1.05}.newsletter-hero p{margin:.2rem 0;color:var(--muted);font-weight:750;max-width:680px}.newsletter-stats{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:.7rem;min-width:300px}.newsletter-stats section{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.9rem}.newsletter-stats span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.newsletter-stats strong{display:block;font-size:2rem;line-height:1.1;margin-top:.2rem}.newsletter-result{display:inline-flex;align-items:center;gap:.35rem;background:#dcfce7;color:#166534;border-radius:999px;padding:.5rem .8rem;font-weight:900;margin:.2rem 0 1rem}.newsletter-layout{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:1rem;align-items:start}.newsletter-compose,.newsletter-side{border:1px solid var(--line);border-radius:8px;background:#fff;padding:1rem}.newsletter-compose{display:grid;gap:1rem}.newsletter-compose label{font-weight:900;color:var(--text);font-size:.95rem}.newsletter-compose input,.newsletter-compose textarea{font-size:1rem;line-height:1.5}.newsletter-compose textarea{min-height:260px;resize:vertical}.newsletter-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:1rem}.newsletter-note{margin:0;color:var(--muted);font-weight:750;line-height:1.45}.newsletter-side{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}.newsletter-side h3{margin:.1rem 0 .35rem;font-size:1.35rem}.newsletter-side>p{margin:.2rem 0 1rem;color:var(--muted);font-weight:750;line-height:1.45}.newsletter-show-list{display:grid;gap:1rem;max-height:760px;overflow:auto;padding:.1rem .35rem .1rem .05rem}.newsletter-show-card{position:relative;display:grid;grid-template-columns:auto 126px minmax(0,1fr);gap:1rem;align-items:center;border:1px solid #e2e7ef;border-radius:8px;background:#fff;padding:.85rem;color:var(--text);cursor:pointer;box-shadow:0 8px 20px #0000000a}.newsletter-show-card:hover{border-color:#c9d4e4;background:#fff;box-shadow:0 12px 28px #00000012;transform:translateY(-1px)}.newsletter-show-card:has(input:checked){border-color:#E2755C;box-shadow:0 0 0 3px #e2755c1c,0 14px 30px #00000014;background:#fffaf7}.newsletter-show-card input{width:auto;align-self:start;margin-top:.25rem}.newsletter-show-card img,.newsletter-poster-empty{display:block;width:126px;aspect-ratio:2/3;border-radius:7px;object-fit:cover;background:#e6e9ee;box-shadow:0 10px 22px #00000018}.newsletter-show-card strong{display:block;font-size:1.18rem;line-height:1.12;margin-bottom:.5rem}.newsletter-show-card small{display:inline-flex;width:max-content;max-width:100%;background:#eef3ff;color:#1d4ed8;border-radius:999px;padding:.32rem .58rem;font-weight:900;margin:.1rem 0 .55rem;line-height:1.25}.newsletter-show-card em{display:block;font-style:normal;color:#E2755C;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.newsletter-poster-empty{box-shadow:inset 0 0 0 1px var(--line)}
@media(max-width:1050px){.newsletter-hero,.newsletter-layout{grid-template-columns:1fr;display:grid}.newsletter-stats{min-width:0}.newsletter-layout{grid-template-columns:1fr}.newsletter-side{order:-1}.newsletter-show-list{max-height:none}}
@media(max-width:760px){.newsletter-admin{padding:.8rem}.newsletter-hero h2{font-size:1.55rem}.newsletter-stats{grid-template-columns:1fr}.newsletter-actions button{width:100%}.newsletter-show-card{grid-template-columns:auto 92px minmax(0,1fr);gap:.75rem}.newsletter-show-card img,.newsletter-poster-empty{width:92px}.newsletter-show-card strong{font-size:1rem}.newsletter-show-card small{white-space:normal;border-radius:8px}}

/* Base de données spectateurs : cartes, badges, filtres, modal email groupé */
.customer-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-kpis section{display:flex;flex-direction:column;gap:.15rem}
.customer-kpis small{color:var(--muted);font-weight:800;font-size:.78rem}
.customer-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.customer-view-tabs a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--text);font-weight:900}
.customer-view-tabs a strong{display:grid;place-items:center;min-width:34px;height:28px;padding:0 .45rem;border-radius:999px;background:#e7edf7;color:#475569}
.customer-view-tabs a.is-active{border-color:#2457d6;background:#eef3ff;color:#1d4ed8;box-shadow:0 0 0 2px #2457d61a}
.customer-view-tabs a.is-active strong{background:#2457d6;color:#fff}
.customer-list-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,260px) auto auto;gap:.65rem;align-items:end;margin:.8rem 0}
.customer-list-toolbar label{font-weight:800;color:var(--text)}
.customer-list-toolbar button,.customer-list-toolbar .button{min-height:42px}
.customer-tools .button.is-active{background:#2457d6;border-color:#2457d6;color:#fff}
.customer-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1rem 0 .2rem}
.customer-pagination span{color:var(--muted);font-weight:800}
.customer-email-edit{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.65rem;align-items:end}
.customer-email-edit label{font-weight:800;color:var(--text)}
.customer-email-edit p{grid-column:1/-1}
.customer-create-form{max-width:860px;margin-top:1rem}
.customer-create-form .page-actions{gap:.65rem;margin:0}
.customer-tools [data-customer-filter].is-active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.customer-row.has-account{border-left:4px solid #1d4ed8}
.customer-row strong{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.tag{display:inline-block;font-size:.66rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;line-height:1.25}
.tag-account{background:#dbeafe;color:#1d4ed8}
.tag-guest{background:#f1f5f9;color:#64748b}
.tag-optin{background:#dcfce7;color:#15803d}
.group-mail-modal .modal-body{gap:.85rem;text-align:left}
.group-mail-modal label{display:grid;gap:.3rem;font-weight:800;color:var(--text)}
.group-mail-modal label.checkbox-line{display:flex;align-items:center;gap:.5rem;font-weight:700}
.group-mail-modal label.checkbox-line input{width:auto;flex:0 0 auto;margin:0}
.group-mail-modal select,.group-mail-modal input,.group-mail-modal textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;color:var(--text)}
.group-mail-modal select{appearance:auto;padding:.55rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.group-shows-picker{border:1px solid var(--line);border-radius:8px;padding:.7rem .85rem;margin:0}
.group-shows-picker legend{font-weight:800;font-size:.9rem;color:var(--text);padding:0 .3rem}
.group-shows-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.3rem .9rem;max-height:240px;overflow:auto;margin-top:.3rem}
.group-shows-list .checkbox-line{font-weight:600}
.group-mail-count{margin:.1rem 0 0;font-weight:800;color:#1d4ed8;font-size:.9rem;background:#eef3ff;border:1px solid #d8e2f8;border-radius:8px;padding:.45rem .6rem}
@media(max-width:760px){.customer-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-view-tabs,.customer-list-toolbar,.customer-email-edit,.customer-create-form{grid-template-columns:1fr}.customer-list-toolbar button,.customer-list-toolbar .button,.customer-email-edit button{width:100%}.customer-create-form .page-actions{display:grid}.customer-create-form .page-actions>*{width:100%;text-align:center}.customer-pagination{justify-content:space-between;flex-wrap:wrap;gap:.55rem}.customer-pagination span{order:-1;width:100%;text-align:center}}

/* Ventes additionnelles (cross-sell avant paiement) */
.crosssell{border:1px solid var(--line,#e3e8f0);border-radius:12px;background:#fbfcff;padding:.9rem 1rem;margin:.2rem 0 .4rem}
.crosssell>h3{margin:0 0 .15rem;font-size:1.05rem}
.crosssell-hint{margin:0 0 .7rem;color:var(--muted,#6b7280);font-size:.86rem;font-weight:700}
.crosssell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.crosssell-card{display:flex;flex-direction:column;border:1px solid var(--line,#e3e8f0);border-radius:10px;background:#fff;overflow:hidden}
.crosssell-card>img,.crosssell-poster-empty{width:100%;aspect-ratio:2/3;object-fit:cover;background:#eef2f9;display:block}
.crosssell-body{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .55rem .6rem}
.crosssell-body>strong{font-size:.9rem;line-height:1.15}
.crosssell-body>small{color:var(--muted,#6b7280);font-weight:700;font-size:.74rem}
.crosssell-price{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.1rem}
.crosssell-old{color:#9aa3b2;text-decoration:line-through;font-size:.8rem}
.crosssell-new{font-weight:900;color:#0f766e}
.crosssell-badge{background:#fee2e2;color:#b91c1c;font-weight:900;font-size:.7rem;border-radius:999px;padding:.05rem .4rem}
.crosssell-add{margin-top:.35rem;width:100%;border:none;border-radius:8px;background:#1d4ed8;color:#fff;font-weight:800;padding:.45rem;cursor:pointer}
.crosssell-add[disabled]{opacity:.5;cursor:not-allowed}
.crosssell-added{font-size:.78rem;color:#0f766e;font-weight:800}
.crosssell-link{background:none;border:none;color:#b91c1c;font-weight:800;cursor:pointer;text-decoration:underline;padding:0;font-size:.78rem}
.widget-cart-extra{border-top:1px dashed var(--line,#e3e8f0);margin-top:.5rem;padding-top:.5rem;display:grid;gap:.55rem}
.widget-cart-extra-line{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:.6rem;font-size:.85rem;align-items:center}
.widget-cart-extra-line>strong{white-space:nowrap}
.widget-cart-extra-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.widget-cart-extra-info strong{color:var(--text)}
.widget-cart-extra-date{color:var(--muted,#6b7280);font-weight:800;font-size:.8rem}
.widget-cart-extra-line small{color:var(--muted,#6b7280);font-weight:700}
.widget-cart-extra-info .widget-cart-seats{margin:.25rem 0 0}
.widget-cart-show{margin:.1rem 0 .1rem!important;color:var(--text)!important;font-weight:900!important;font-size:1.02rem}
.crosssell-seat-head{margin:.2rem 0 .6rem;font-weight:700}
.crosssell-seat-map{overflow:auto;max-height:60vh;border:1px solid var(--line,#e3e8f0);border-radius:10px;padding:.5rem;background:#fff}
@media(max-width:760px){.crosssell-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.crosssell-add{font-size:.78rem}.crosssell-body>strong{font-size:.8rem}}

/* Détail commande multi-spectacles (cross-sell) */
.order-seat-group-head{margin:.6rem 0 .1rem;padding:.35rem .55rem;background:#eef3ff;border-radius:7px;color:#1d4ed8;font-size:.9rem}
.order-seat-group-head:first-child{margin-top:0}

/* Tag commande issue du cross-sell (vente additionnelle avant paiement) */
.tag-crosssell{background:#fef3c7;color:#92400e}
.tag-borne{background:#e0ecff;color:#1d4ed8}
.tag-billetweb{background:#ede9fe;color:#6d28d9;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:900;white-space:nowrap}.billetweb-session-row{background:linear-gradient(90deg,#fff 0%,#fbfaff 100%);border-left-color:#7c3aed}.billetweb-session-row .agenda-title-line{align-items:center}.billetweb-type,.billetweb-price{background:#f5f3ff;color:#6d28d9}.billetweb-spectators{background:#f8f5ff;border-color:#ddd6fe}.billetweb-actions .button{white-space:nowrap}

/* Bloc « spectacles sans séance à venir » (admin) : plus visible */
.shows-inactive{margin-top:1.4rem;border:1px solid #fcd9b6;background:#fff7ed;border-radius:10px;overflow:hidden}
.shows-inactive>summary{cursor:pointer;padding:.85rem 1rem;font-weight:800;color:#b45309;list-style:none;display:flex;align-items:center;gap:.55rem}
.shows-inactive>summary::-webkit-details-marker{display:none}
.shows-inactive>summary::after{content:"▸";margin-left:auto;transition:transform .15s ease}
.shows-inactive[open]>summary::after{transform:rotate(90deg)}
.shows-inactive-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .45rem;border-radius:999px;background:#f97316;color:#fff;font-size:.9rem;font-weight:800}
.shows-inactive-note{font-weight:600;color:#9a6a3a}
.shows-inactive>.show-grid{padding:0 1rem 1rem}
.show-card{position:relative;overflow:visible}
.show-card:focus-visible{outline:3px solid #bfd0ff;outline-offset:2px}
.show-card .kebab{position:relative;z-index:30}
.show-card .kebab-menu{left:0;right:auto;z-index:80}
.order-seat-map .seat.plan-highlight{box-shadow:0 0 0 3px #f59e0b,0 0 10px #f59e0b;outline:2px solid #f59e0b;outline-offset:1px;z-index:3;position:relative}
.plan-orderbar{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem}
[data-plan-seat][data-plan-free="1"]{cursor:pointer}
[data-plan-seat][data-plan-order]{cursor:pointer}
.kpi-link{text-decoration:none;color:inherit;display:block}
.kpi-link>section{cursor:pointer;height:100%;transition:box-shadow .15s,border-color .15s}
.kpi-link:hover>section{border-color:var(--primary);box-shadow:0 8px 18px #0000001a}
.kpi-cta{display:block;color:var(--primary);font-weight:800;font-size:.78rem;margin-top:.3rem}
a.agenda-spectators:hover{box-shadow:0 4px 12px #0000001a}
/* État de publication 3 états (symétrie Agenda/Guichet) : brouillon (neutre), pause (orange), en ligne (vert) */
/* États de publication : boutons PLEINS et bien voyants (vert / orange / gris).
   !important pour passer devant .session-actions button:not(.online):not(.offline) (bleu) plus spécifique. */
.pub-state{font-weight:900;border-radius:999px;letter-spacing:.01em}
button.pub-state{cursor:pointer;padding:.42rem .95rem;border:0;box-shadow:0 1px 2px #0000001f}
.pub-state.state-draft{background:#64748b!important;color:#fff!important}
.pub-state.state-pause{background:#f59e0b!important;color:#fff!important}
.pub-state.state-online{background:#16a34a!important;color:#fff!important}
button.pub-state.state-draft:hover{background:#475569!important}
button.pub-state.state-pause:hover{background:#d97706!important}
button.pub-state.state-online:hover{background:#15803d!important}
/* Menu kebab : bascule au-dessus du bouton s'il déborde en bas d'écran */
.kebab-menu.kebab-up{top:auto;bottom:40px}
/* Scan/contrôle : badges de places cliquables (double-clic) + bouton scanner */
.place-check[data-scan-seat]{cursor:pointer;user-select:none;-webkit-user-select:none}
.place-check[data-scan-seat]:hover{box-shadow:0 0 0 2px rgba(22,101,52,.35)}
.scan-seat-btn.is-scanned{background:#dcfce7;color:#166534;border-color:#86efac}
/* Détail commande : densité réduite (boutons + liste des places plus compacts) */
.order-page-grid{align-items:start}
.order-card{padding:.7rem .8rem;gap:.5rem}
.order-card h3{font-size:1.05rem}
.order-card .button{padding:.38rem .65rem;font-size:.82rem;border-radius:6px}
.order-summary-grid section{padding:.6rem .7rem}
.order-seat-list{gap:.35rem}
.order-seat-list div{padding:.4rem .55rem;gap:.5rem}
.order-seat-list>div>strong{font-size:.92rem}
.order-seat-list span{font-size:.82rem}
.row-actions{gap:.4rem}
.row-actions button{padding:.3rem .55rem;font-size:.8rem}
/* Détail commande : bloc « Ajouter des sièges » repliable (fermé par défaut) */
.order-card-collapsible{display:block}
.order-card-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center}
.order-card-collapsible>summary::-webkit-details-marker{display:none}
.order-card-collapsible>summary h3{margin:0}
.order-card-collapsible>summary::after{content:'▾';margin-left:auto;color:var(--muted);font-size:.9rem}
.order-card-collapsible[open]>summary::after{content:'▴'}
.order-card-collapsible[open]>summary{margin-bottom:.6rem}
/* Autocomplétion des codes (prise de commande admin) */
.code-ac{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 36px #0002;max-height:260px;overflow:auto;margin-top:2px}
.code-ac button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;background:#fff;border:0;padding:.5rem .7rem;cursor:pointer}
.code-ac button:hover{background:#f3f6fb}
.code-ac strong{font-weight:800;color:#1d4ed8}
.code-ac span{font-size:.8rem;color:var(--muted)}
/* Zoom au scroll des cartes séance (mobile) : on zoome le GROUPE-JOUR entier (cartes solidaires).
   Le zoom est plafonné en JS (vertical ET horizontal) → pas de chevauchement ni de débordement,
   donc pas de clip nécessaire et le liseret reste visible. */
@media (max-width: 760px) {
  .agenda-day-group { transform-origin: center center; will-change: transform; transition: none; }
}
/* Mot de passe visible + notes confidentialité / spam / vente flash (widget d'achat) */
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-right:2.5rem}
.pw-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:1.15rem;opacity:.5;padding:.2rem;line-height:1}
.pw-toggle.on{opacity:1}
.widget-privacy-note{font-size:.8rem;color:#475569;background:#f1f5f9;border-radius:8px;padding:.55rem .7rem;margin:.45rem 0 0;line-height:1.35}
.widget-spam-note{font-size:.8rem;color:#92400e;background:#fef3c7;border-radius:8px;padding:.55rem .7rem;margin:.45rem 0 0;line-height:1.35}
.crosssell-flash-tag{display:inline-block;background:#dc2626;color:#fff;border-radius:6px;padding:.1rem .5rem;font-size:.78rem;font-weight:900;vertical-align:middle;margin-right:.3rem}
.crosssell-flash-note{font-size:.82rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.55rem .75rem;margin:.2rem 0 .7rem;line-height:1.4}
.confirmation-spam{color:#92400e;background:#fef3c7;border-radius:8px;padding:.6rem .85rem;max-width:480px;margin:.7rem auto;font-size:.92rem;line-height:1.4}
/* Rassure sur le billet dématérialisé : ton neutre/positif, distinct de l'alerte « spams » ci-dessus. */
.confirmation-noprint{color:#0b5d35;background:#e7f7ed;border:1px solid #b9e5c9;border-radius:8px;padding:.6rem .85rem;max-width:480px;margin:.7rem auto;font-size:.92rem;line-height:1.4}
/* Confirmation publique : même composition pour les billets, commandes gratuites et cartes cadeau. */
.confirmation-page{min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(circle at 12% 8%,#eaf0ff 0,transparent 34%),radial-gradient(circle at 88% 92%,#edf9f2 0,transparent 30%),#f6f8fb}
.confirmation-page .confirmation{width:min(720px,100%);max-width:720px;margin:0;padding:0;text-align:left;border:1px solid #dce2ea;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a14;overflow:hidden}
.confirmation-top{padding:clamp(1.5rem,5vw,2.6rem) clamp(1.25rem,5vw,3rem) 1.25rem;text-align:center}
.confirmation-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1.8rem;color:#344054;font-size:.88rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.confirmation-brand img{width:36px;height:36px;object-fit:contain}
.confirmation-status-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border-radius:999px;background:#e8f7ee;color:#087443;font-size:1.8rem;font-weight:900;box-shadow:0 0 0 8px #f3fbf6}
.confirmation--error .confirmation-status-icon{background:#fff0ee;color:#b42318;box-shadow:0 0 0 8px #fff8f7}
.confirmation-eyebrow{margin:0 0 .45rem;color:#087443;font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.confirmation--error .confirmation-eyebrow{color:#b42318}
.confirmation-top h1{margin:0;color:#172033;font-size:clamp(1.75rem,5vw,2.6rem);line-height:1.08;letter-spacing:-.035em}
.confirmation-lead{max-width:560px;margin:.9rem auto 0;color:#667085;font-size:1.02rem;line-height:1.55}
.confirmation-order-ref{display:grid;justify-items:center;gap:.35rem;min-width:0;margin:.25rem clamp(1.25rem,5vw,3rem) 1.25rem;padding:1rem 1.25rem;border:1px solid #d8e2f5;border-radius:12px;background:#f7f9fe;text-align:center}
.confirmation-order-ref span{color:#667085;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.confirmation-order-ref strong{display:block;max-width:100%;color:#172033;font-size:clamp(1.05rem,4vw,1.45rem);line-height:1.2;letter-spacing:.035em;overflow-wrap:anywhere;word-break:break-word}
.confirmation-order-ref small{color:#8490a3;font-size:.78rem;font-weight:700}
.confirmation-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0 clamp(1.25rem,5vw,3rem) 1.4rem}
.confirmation-info-grid--single{grid-template-columns:1fr}
.confirmation-info{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem;border:1px solid #e1e6ed;border-radius:12px;background:#fbfcfe}
.confirmation-info-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e8f7ee;color:#087443;font-weight:900}
.confirmation-info--email .confirmation-info-icon{background:#eef3ff;color:#2457d6}
.confirmation-info strong{display:block;color:#273142;font-size:.9rem;line-height:1.3}
.confirmation-info p{margin:.3rem 0 0;color:#667085;font-size:.82rem;line-height:1.45}
.confirmation-actions{display:grid;justify-items:center;gap:.65rem;padding:1.25rem clamp(1.25rem,5vw,3rem) 1.5rem;border-top:1px solid #e7ebf0;background:#fafbfc}
.confirmation-primary-action{min-width:min(360px,100%);padding:.85rem 1.2rem;text-align:center;font-size:.95rem;box-shadow:0 8px 20px #2457d62b}
.confirmation-redirect{margin:0;color:#667085;font-size:.85rem;font-weight:700}
@media(max-width:600px){.confirmation-page{place-items:start center;padding:0;background:#fff}.confirmation-page .confirmation{min-height:100vh;border:0;border-radius:0;box-shadow:none}.confirmation-brand{margin-bottom:1.35rem}.confirmation-info-grid{grid-template-columns:1fr}.confirmation-actions{margin-top:auto}.confirmation-primary-action{width:100%;min-width:0}}
/* Sélecteur de séances des codes temporaires */
.code-session-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.6rem}
.code-session-tools .button{padding:.3rem .65rem;font-size:.8rem}
.code-session-sep{color:var(--muted);font-weight:800;font-size:.8rem;margin-left:.3rem}
.code-session-groups{display:grid;gap:.55rem;max-height:360px;overflow:auto;padding:.2rem}
.code-session-month{border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;background:#fbfcfe}
.code-session-month-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}
.code-session-cats{display:flex;gap:.3rem}
.cs-mini{background:#eef3ff;color:#1d4ed8;border:0;border-radius:6px;padding:.22rem .55rem;font-size:.72rem;font-weight:800;cursor:pointer}
.cs-mini:hover{background:#dbe8ff}
.code-session-week{margin:.25rem 0 .25rem .3rem;padding-left:.5rem;border-left:2px solid var(--line)}
.code-session-week-head{font-size:.8rem;font-weight:800;color:#334155;display:block;margin:.2rem 0}
.code-session-list .checkbox-line{margin-left:1rem;font-size:.88rem}
/* Blocage de sièges par séance (billetterie externe) — page « Voir le plan » */
.seat.ext-block{background:#ede9fe!important;color:#5b21b6!important;border-color:#c4b5fd!important;cursor:not-allowed}
.block-mode .seat{cursor:crosshair}
.block-mode .seat.sold,.block-mode .seat.invitation,.block-mode .seat.voucher,.block-mode .seat.countermark,.block-mode .seat.seat-placeholder{cursor:not-allowed}
.seat.block-picking{box-shadow:0 0 0 3px #7c3aed;outline:2px solid #7c3aed;outline-offset:1px;z-index:3;position:relative}
[data-plan-block-toggle].active{background:#7c3aed;color:#fff;border-color:#7c3aed}
.legend .ext-block:before{background:#ede9fe;outline:1px solid #c4b5fd}
/* Saut direct vers une commande par n° depuis n'importe quelle recherche rapide */
.quick-search-jump{display:inline-block;margin-top:.55rem;padding:.5rem .8rem;border-radius:8px;background:#eef3ff;color:#1d4ed8;font-weight:800;border:1px solid #d8e2f8;cursor:pointer}
.quick-search-jump:hover{background:#dfe9ff}
.quick-search-jump[disabled]{opacity:.6;cursor:default}
.quick-search-count{display:inline-block;margin-top:.55rem;color:var(--muted);font-weight:700;font-size:.9rem}
.quick-search-count + .quick-search-jump{margin-left:.6rem}
/* Modal message aux spectateurs */
.msg-send-form{display:flex;flex-direction:column;gap:.7rem}
.msg-send-form>label{display:flex;flex-direction:column;gap:.25rem;font-weight:700}
.msg-send-form input,.msg-send-form select,.msg-send-form textarea{width:100%}
.msg-link-btn{background:none;border:0;color:#1d4ed8;font-weight:800;cursor:pointer;padding:0;text-decoration:underline}
.msg-tpl-row{border:1px solid var(--line);border-radius:8px;padding:.6rem;margin-bottom:.6rem;display:flex;flex-direction:column;gap:.4rem}
.msg-tpl-row-head{display:flex;gap:.5rem;align-items:center}
.msg-tpl-row-head input{flex:1}
.msg-tpl-row input,.msg-tpl-row textarea{width:100%}

.tag-moved{background:#ede9fe;color:#5b21b6}

/* Bouton retirer un tarif depuis le panier du widget */
.widget-cart-sticky li{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center}
.widget-cart-sticky li span{min-width:0}
.widget-cart-remove{width:28px;height:28px;margin:0;border:0;background:none;color:#9aa3af;font-size:.85rem;line-height:1;cursor:pointer;padding:0;border-radius:6px;display:grid;place-items:center;align-self:center;flex:none}
.widget-cart-remove:hover{color:#b3261e;background:#fdecea}

/* ── Refonte compacte des lignes de séance (dashboard + Séances) ── */
.agenda-footer{grid-column:4 / -1;display:flex;align-items:center;justify-content:flex-end;gap:.8rem;min-width:0}
.agenda-footer .agenda-action{grid-column:auto;display:flex;align-items:center;gap:.55rem;justify-content:flex-end}
/* Spectateurs : nombre vendu en vert, compact, sans barre ni pourcentage */
.agenda-spectators{min-width:0;display:inline-flex;align-items:baseline;gap:.3rem;background:#f3f6fb;border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;white-space:nowrap;text-decoration:none;color:var(--text);font-weight:900}
.agenda-spectators .agenda-spec-sold{color:#16a34a;font-size:1.05rem}
.agenda-spectators .agenda-spec-tot{color:var(--muted);font-weight:800}
.agenda-spectators small{color:var(--muted);font-weight:800;font-size:.72rem}
.agenda-spectators .agenda-spec-reserved{color:#b45309}
a.agenda-spectators:hover{box-shadow:0 4px 12px #0000001a}
/* Pastille d'état cliquable (remplace « En ligne ») */
button.pub-dot{display:inline-flex!important;align-items:center;gap:.45rem;border:0!important;background:none!important;box-shadow:none!important;cursor:pointer;padding:.2rem!important;font-weight:900;color:var(--text)!important}
.pub-dot::before{content:"";width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 4px #0000001f}
.pub-dot.state-online::before{background:#16a34a}
.pub-dot.state-pause::before{background:#f59e0b}
.pub-dot.state-draft::before{background:#94a3b8}
.pub-dot-label{font-size:.82rem}
@media(max-width:760px){
  .agenda-footer{grid-column:1 / -1;justify-content:space-between;gap:.5rem;margin-top:.05rem}
  .agenda-spectators{padding:.32rem .65rem}
  .agenda-spectators small{display:none}
  .pub-dot-label{display:none}
  button.pub-dot{padding:.35rem!important}
  .pub-dot::before{width:17px;height:17px}
}
@media(max-width:760px){
  .agenda-footer .status-toggle{flex:none;margin:0}
  .agenda-footer button.pub-dot{width:auto!important}
  .agenda-footer .agenda-action{flex:none;gap:.5rem}
}
/* Billetweb (désactivé) : garde son ancien rendu avec barre, non impacté par la version compacte. */
.agenda-spectators.billetweb-spectators{display:block;text-align:center}
.agenda-spectators.billetweb-spectators .agenda-fill-track{display:block;height:6px;background:#e4e9f1;border-radius:999px;overflow:hidden;margin-top:.34rem}
.agenda-spectators.billetweb-spectators .agenda-fill-track i{display:block;height:100%;background:#2457d6;border-radius:999px}
.agenda-spectators.billetweb-spectators .agenda-fill-pct{display:none}
/* Nombre de ventes du jour en vert (comme la flèche) ; 0 reste gris via data-level="zero". */
.agenda-daily strong{color:#16a34a}

/* Champs dont la source de vérité est la fiche centrale Médias. */
.media-source-notice{grid-column:1/-1;display:flex;flex-direction:column;gap:.3rem;padding:.8rem 1rem;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a}
.media-source-notice span{font-size:.88rem;line-height:1.4}
.media-source-notice a{color:#1d4ed8;font-weight:800;text-decoration:underline;align-self:flex-start}
.source-managed-field input[readonly],.source-managed-field textarea[readonly]{background:#eef1f5!important;color:#64748b!important;border-color:#d5dbe5!important;cursor:not-allowed}
.source-managed-field small{display:block;margin-top:.3rem;color:#64748b;font-size:.78rem;font-weight:500}

/* Lien de pointage partageable (fiche seance). */
.share-link-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0}
.share-link-row input[type=text]{flex:1;min-width:240px;max-width:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}
.share-link-row .button{flex:0 0 auto}
