
:root{
  --bg:#f7f3ed; --panel:#fffdf9; --panel-strong:#ffffff; --line:#e7ded3; --line2:#d8cbbd;
  --text:#2b2623; --muted:#746a63; --faint:#95877d;
  --accent:#742b35; --accent-d:#54202a; --accent-bg:#f7ecee;
  --coral:#a66b70; --coral-bg:#f6eeee; --sun:#c8ab72; --sun-bg:#f7f0e3;
  --green:#2f765f; --green-bg:#e7f3ee; --red:#c8473f; --red-bg:#fbe9e6;
  --amber:#936415; --amber-bg:#fbf0d9; --blue:#416f86; --blue-bg:#e8f1f5;
  --gold:#9a7746; --gold-l:#c8ab72; --ink:#2b2623;
  --font-display:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --radius:10px; --shadow:none;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-ui);background:var(--bg);color:var(--text);line-height:1.58;font-size:14px;letter-spacing:.002em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:contain;overflow-x:hidden}
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-160%);padding:10px 14px;border-radius:9px;background:var(--text);color:#fff;text-decoration:none;font-weight:700}.skip-link:focus{transform:none}
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:35;min-width:48px;min-height:48px;padding:10px 14px;border-color:var(--line2);background:rgba(255,253,249,.96);box-shadow:0 8px 24px rgba(67,52,43,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}.back-to-top.show{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-to-top-arrow{font-size:20px;line-height:1}.back-to-top-label{font-size:12px}
button,input,select,textarea{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(158,42,43,.25);outline-offset:2px}
.app{max-width:1240px;margin:0 auto;padding:0 24px 72px;display:none;min-width:0}.app *{min-width:0}
.topbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);margin:0 -24px;padding:17px 24px 0}
.brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}
.brand h1{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.08px;display:flex;align-items:center;gap:11px;flex:1 1 420px;min-width:0}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.ico{width:1.08em;height:1.08em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.16em}.ico.lg{width:1.35em;height:1.35em}.brand-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:transparent;color:#fffaf6;border:0;box-shadow:none;flex:0 0 auto;overflow:hidden}.brand-mark .ico{width:23px;height:23px;stroke-width:1.85}.brand-lockup{display:flex;flex-direction:column;min-width:0;line-height:1.08}.brand-name{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1.85px;text-transform:uppercase;color:var(--accent)}.brand-name em{font-style:normal;color:var(--gold)}.brand-wedding{font-family:var(--font-display);font-size:23px;font-weight:500;letter-spacing:-.12px;color:var(--ink);display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;line-height:1.06}.logo-lockup{display:flex;flex-direction:column;align-items:center;gap:11px;margin-bottom:20px}.logo-lockup .brand-mark{width:60px;height:60px}.logo-lockup .brand-mark .ico{width:34px;height:34px}.logo-word{font-family:var(--font-display);font-size:32px;font-weight:500;letter-spacing:-.25px;color:var(--ink);line-height:1}.logo-word em{font-style:normal;font-weight:500;color:var(--accent)}.logo-baseline{font-size:9.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--faint)}
.brand .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:0 0 auto;max-width:100%}
.sync{font-size:12px;color:var(--faint);display:flex;align-items:center;gap:5px;min-width:96px}
.sync .dot{width:7px;height:7px;border-radius:50%;background:var(--faint)}
.sync.saved .dot{background:var(--green)} .sync.saving .dot{background:var(--amber)} .sync.error .dot{background:var(--red)}
.nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav button{flex:0 0 auto}.nav::-webkit-scrollbar{display:none}
.nav button{white-space:nowrap;padding:10px 13px 11px;border:none;background:none;cursor:pointer;font-size:12.5px;font-weight:650;color:var(--muted);border-bottom:2px solid transparent;border-radius:0;transition:.2s;display:flex;align-items:center;gap:6px;min-height:44px;letter-spacing:.01em}
.nav button:hover{color:var(--accent);background:rgba(255,255,255,.42)} .nav button.active{color:var(--accent);background:transparent;border-bottom-color:var(--gold-l);box-shadow:none}
.btn{min-height:44px;padding:9px 14px;border:1px solid var(--line2);border-radius:11px;background:var(--panel);cursor:pointer;font-size:13px;font-weight:650;color:var(--text);transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
.btn:hover{background:#fff;border-color:var(--accent);box-shadow:0 5px 16px rgba(85,53,38,.08)}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)} .btn.primary:hover{background:var(--accent-d)}
.btn.ghost{border-color:transparent;background:transparent} .btn.ghost:hover{background:#eceef1}
.btn.danger{color:var(--red);border-color:transparent;background:transparent} .btn.danger:hover{background:var(--red-bg)}
.btn.sm{padding:5px 9px;font-size:12px}
button.btn:disabled,button.icon:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;border-color:var(--line)}
button.icon{border:none;background:none;cursor:pointer;color:var(--faint);padding:8px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;transition:.15s;font-size:15px;min-width:44px;min-height:44px}button.icon .ico{width:17px;height:17px}
button.icon:hover{background:#eceef1;color:var(--text)} button.icon.danger:hover{background:var(--red-bg);color:var(--red)}
input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line2);border-radius:11px;font-size:16px;font-family:inherit;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
label.fl{font-size:12px;font-weight:600;color:var(--muted);display:block;margin-bottom:5px}
.field{margin-bottom:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px} .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:none} .card.pad{padding:20px}
.section{margin-top:22px}
.section-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.section-h>*,.section-h .sub{min-width:0;overflow-wrap:anywhere}
.section-h h2{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.08px;display:flex;align-items:center;gap:8px;color:var(--ink)} .section-h .sub{font-size:12.5px;color:var(--muted);font-weight:400}
.page{display:none} .page.active{display:block;animation:fade .2s} @keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin-bottom:20px}
.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 20px;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;position:relative}.metric:before{content:'';position:absolute;left:20px;top:0;width:34px;height:1px;background:var(--gold-l);opacity:.85}.metric .metric-action{margin-top:14px;width:100%;height:auto;white-space:normal;text-align:center}.metric .mv{font-family:var(--font-display);font-variant-numeric:tabular-nums;max-width:100%;overflow-wrap:anywhere}
.metric .ml{font-size:12.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.metric .mv{font-size:29px;font-weight:400;letter-spacing:-.15px} .metric .mx{font-size:12px;color:var(--faint);margin-top:3px}
.metric.accent{background:linear-gradient(145deg,#7b303b,var(--accent-d));border-color:var(--accent);box-shadow:0 12px 30px rgba(84,32,42,.13)} .metric.accent:before{background:var(--gold-l);opacity:1}.metric.accent .ml,.metric.accent .mv,.metric.accent .mx{color:#fffaf7} .metric.accent .ml{opacity:.88}.metric.accent .mx{opacity:.76}
.scenario-metric .scenario-select{width:100%;min-height:48px;margin:2px 0 5px;padding:10px 38px 10px 12px;border:1px solid rgba(255,250,247,.35);border-radius:11px;background-color:rgba(255,255,255,.96);color:var(--ink);font-family:var(--font-ui);font-size:14px;font-weight:650;box-shadow:0 5px 18px rgba(62,20,30,.10);cursor:pointer}.scenario-metric .scenario-select:focus{border-color:var(--gold-l);box-shadow:0 0 0 3px rgba(206,174,113,.22),0 5px 18px rgba(62,20,30,.10)}.scenario-metric .scenario-total{font-family:var(--font-display);font-size:21px;font-weight:500;color:#fffaf7;line-height:1.2;margin-top:4px}.scenario-metric .scenario-meta{font-size:11.5px;color:#fffaf7;opacity:.76;margin-top:3px}
.dashboard-budget{grid-column:1/-1;background:#fffdf9;border:1px solid var(--line);border-radius:10px;box-shadow:none;padding:24px;position:relative;overflow:hidden}.dashboard-budget:before{content:'';position:absolute;left:24px;top:0;width:54px;height:2px;background:var(--gold-l)}
.dashboard-budget-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.dashboard-budget-title{font-family:var(--font-display);font-size:25px;font-weight:500;line-height:1.12;color:var(--ink)}.dashboard-budget-copy{margin-top:5px;color:var(--muted);font-size:13px;max-width:720px}.dashboard-budget-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.scenario-choice-label{font-size:11px;font-weight:750;letter-spacing:1.45px;text-transform:uppercase;color:var(--accent);margin-bottom:9px}.dashboard-scenario-picker{display:grid;grid-template-columns:minmax(260px,460px) minmax(0,1fr);gap:14px;align-items:end;margin-bottom:18px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.dashboard-scenario-field{min-width:0}.dashboard-scenario-field select{font-weight:700;border-color:var(--line2);background-color:#fff;cursor:pointer}.dashboard-scenario-field select:hover{border-color:#c4a274}.dashboard-scenario-current{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-height:44px;color:var(--muted);font-size:12px}.dashboard-scenario-current strong{font-family:var(--font-display);font-size:21px;font-weight:500;color:var(--ink);line-height:1}.dashboard-scenario-current span{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #ede3d8;border-radius:999px;background:#f8f3ed;color:#6d5f55;font-size:10.5px;font-weight:650}
.budget-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.budget-flow-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px;min-height:100px}.budget-flow-item .k{font-size:11.5px;color:var(--muted);font-weight:650;line-height:1.3}.budget-flow-item .v{font-family:var(--font-display);font-size:25px;font-weight:500;line-height:1.05;margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.02em}.budget-flow-item .s{font-size:10.8px;color:var(--faint);margin-top:6px}.budget-flow-item.good .v{color:var(--green)}.budget-flow-item.warn .v{color:var(--red)}
.budget-consumption{margin:12px 0 19px}.budget-consumption-head{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--muted);margin-bottom:6px}.budget-consumption-track{height:8px;border-radius:999px;background:#eee8e0;overflow:hidden}.budget-consumption-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#a47068);transition:width .25s}.budget-consumption-fill.over{background:var(--red)}
.scenario-provider-box{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.scenario-provider-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.scenario-provider-head h3{font-family:var(--font-display);font-size:19px;font-weight:500}.scenario-provider-head span{font-size:11.5px;color:var(--muted)}.scenario-provider-list{display:grid;gap:9px;max-height:340px;overflow:auto;padding-right:2px}.scenario-provider{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px}.scenario-provider-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.scenario-provider-name{font-weight:750;font-size:13px}.scenario-provider-total{font-family:var(--font-display);font-size:18px;white-space:nowrap}.scenario-provider-items{margin-top:7px;display:grid;gap:5px}.scenario-provider-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:11.5px;color:var(--muted)}.scenario-provider-item strong{font-weight:650;color:var(--text)}.scenario-provider-item small{display:block;color:var(--faint);font-size:10.5px;margin-top:1px}.scenario-provider-empty{padding:17px;border:1px dashed var(--line2);border-radius:13px;text-align:center;color:var(--muted);font-size:12.5px;background:#fff}
.dashboard-budget-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.dashboard-budget-foot .guest-snapshot{font-size:11.5px;color:var(--muted)}.dashboard-budget-foot .guest-snapshot strong{color:var(--text)}
/* Accueil : hiérarchie orientée actions */
.dashboard-hero{margin-bottom:0}.dashboard-hero .hero-actions{position:relative;z-index:2}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.dashboard-main-grid>#dashMetrics{min-width:0}.dashboard-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0}.dashboard-side-card{box-shadow:var(--shadow);overflow:hidden;height:100%}.dashboard-card-eyebrow{margin-bottom:4px}.dashboard-side-card .section-h{align-items:flex-start;margin-bottom:14px}.dashboard-side-card .section-h h2{font-size:19px}.dashboard-side-card .empty{padding:24px 10px}.dashboard-empty-compact{min-height:0!important;padding:24px 12px!important}
.dashboard-budget{padding:22px}.dashboard-budget-head{margin-bottom:14px}.dashboard-budget-title{font-size:23px}.dashboard-budget-copy{font-size:12.5px;max-width:620px}.dashboard-budget-actions .btn{min-height:38px}.dashboard-scenario-picker{margin-bottom:14px;padding:13px 14px;grid-template-columns:minmax(250px,1fr) auto}.dashboard-scenario-current{justify-content:flex-end}.dashboard-scenario-current strong{font-size:20px}
.budget-story{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.86fr);gap:12px;align-items:stretch}.budget-story-group{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.7);padding:14px}.budget-story-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px}.budget-story-head strong{font-size:12px;color:var(--text)}.budget-story-head span{font-size:10.5px;color:var(--faint);text-align:right}.budget-flow{gap:8px}.budget-flow-main{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-flow-payments{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-flow-item{padding:12px 13px;min-height:78px;border-radius:12px;box-shadow:none}.budget-flow-item .v{font-size:clamp(20px,1.55vw,23px);margin-top:7px}.budget-flow-payments .budget-flow-item .v{font-size:clamp(18px,1.35vw,22px)}.budget-flow-item .s{font-size:10.3px;color:var(--faint);margin-top:5px}.budget-consumption{margin:10px 1px 0}.budget-consumption-head{font-size:10.5px}
.scenario-provider-details{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.scenario-provider-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;color:var(--text)}.scenario-provider-details>summary::-webkit-details-marker{display:none}.scenario-provider-details>summary:after{content:'+';font-size:20px;line-height:1;color:var(--accent);margin-left:6px}.scenario-provider-details[open]>summary:after{content:'−'}.scenario-provider-details>summary>span:first-child{display:flex;flex-direction:column;gap:2px}.scenario-provider-details>summary strong{font-size:12.5px}.scenario-provider-details>summary small,.scenario-provider-details>summary>span:last-child{font-size:10.5px;color:var(--muted)}.scenario-provider-box{border-top:1px solid var(--line);padding:12px;margin:0;background:#fbf8f3}.scenario-provider-list{max-height:290px}.dashboard-context-note{font-size:11px;color:var(--muted)}
.dashboard-task-list{display:grid;gap:7px}.dashboard-task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.dashboard-task-row:first-child{padding-top:0}.dashboard-task-row:last-child{border-bottom:0}.dashboard-task-row .check{width:21px;height:21px;min-height:21px}.dashboard-task-open{border:0;background:transparent;text-align:left;cursor:pointer;padding:2px 0;color:inherit;min-width:0}.dashboard-task-open strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-task-open span{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}.dashboard-add-action{width:100%;margin-top:10px;min-height:38px;background:#fbf8f3}
.reception-overview{display:flex;justify-content:space-between;gap:14px;align-items:end}.reception-total strong{font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1}.reception-total span{display:block;font-size:10.5px;color:var(--muted);margin-top:5px}.reception-kpis{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.reception-kpis>div{min-width:62px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center}.reception-kpis strong{display:block;font-family:var(--font-display);font-size:18px;font-weight:500;line-height:1}.reception-kpis span{display:block;font-size:9.5px;color:var(--muted);margin-top:3px}.reception-kpis .needs-attention{background:var(--amber-bg);border-color:#ead6aa}.reception-progress{margin-top:15px}.reception-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--muted);margin-bottom:6px}.reception-progress-head strong{color:var(--text)}.reception-meta{margin-top:9px;font-size:10.5px;color:var(--faint)}.reception-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.reception-actions .btn{min-height:38px;padding:7px 9px}
.dashboard-analysis-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:10px}.dashboard-analysis-head h2{font-family:var(--font-display);font-size:23px;font-weight:500}.dashboard-analysis-head p{font-size:12px;color:var(--muted);margin-top:3px}.summary-charts{margin-top:0}
@media(max-width:1080px){.budget-story{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.budget-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-flow-payments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-budget{padding:18px;border-radius:18px}.dashboard-budget-head{flex-direction:column}.dashboard-budget-actions{justify-content:flex-start}.dashboard-scenario-picker{grid-template-columns:1fr;align-items:stretch}.dashboard-scenario-current{justify-content:flex-start;min-height:0}.budget-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-flow-main{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-flow-main .budget-flow-item:last-child{grid-column:1/-1}.budget-flow-payments{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-story{grid-template-columns:1fr}.scenario-provider-head{align-items:flex-start;flex-direction:column}.scenario-provider-list{max-height:none}.dashboard-budget-title{font-size:22px}.dashboard-side{grid-template-columns:1fr}.dashboard-analysis-head h2{font-size:21px}}
@media(max-width:430px){.budget-flow,.budget-flow-main,.budget-flow-payments{grid-template-columns:1fr}.budget-flow-main .budget-flow-item:last-child{grid-column:auto}.dashboard-budget-actions{width:100%}.dashboard-budget-actions .btn{width:100%}.dashboard-scenario-picker{padding:13px}.dashboard-scenario-current strong{font-size:19px}.scenario-provider-item{grid-template-columns:1fr}.scenario-provider-item>span:last-child{text-align:left}.scenario-provider-details>summary{align-items:flex-start;flex-wrap:wrap}.scenario-provider-details>summary>span:last-child{width:100%}.reception-overview{align-items:flex-start;flex-direction:column}.reception-kpis{justify-content:flex-start}.reception-actions{grid-template-columns:1fr}.dashboard-task-row{grid-template-columns:auto minmax(0,1fr)}.dashboard-task-row>.badge{grid-column:2;justify-self:start}}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:10px 12px;border-bottom:1px solid var(--line)}
td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle} tr:last-child td{border-bottom:none}
tbody tr:hover{background:#fafbfc} .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px}
.badge.green{background:var(--green-bg);color:var(--green)} .badge.red{background:var(--red-bg);color:var(--red)}
.badge.amber{background:var(--amber-bg);color:var(--amber)} .badge.blue{background:var(--blue-bg);color:var(--blue)}
.badge.gray{background:#eceef1;color:var(--muted)} .badge.accent{background:var(--accent-bg);color:var(--accent-d)}
.prov{margin-bottom:14px}
.prov-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}.prov-toggle{flex:1;display:block;text-align:left;border:0;background:transparent;color:inherit;padding:5px 4px;cursor:pointer;border-radius:9px}.prov-toggle:hover{background:#fafbfc}
.prov-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:9px}
.prov-meta{font-size:12px;color:var(--muted);margin-top:3px;display:flex;gap:14px;flex-wrap:wrap} .prov-meta span{display:inline-flex;align-items:center;gap:4px}.provider-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.provider-rating-grid .field{margin:0}.provider-rating-grid select{font-weight:700}.provider-rating-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fbf8f3;font-size:12px;color:var(--muted)}.provider-rating-summary strong{font-family:var(--font-display);font-size:20px;color:var(--ink);font-weight:500}.provider-rating-strip{display:flex;gap:7px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);background:#fff}.provider-rating-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fbf8f3;font-size:10.5px;color:var(--muted)}.provider-rating-chip strong{color:var(--text)}
.prov-body{border-top:1px solid var(--line);padding:6px 0 0;display:none} .prov.open .prov-body{display:block}
.chev{transition:.2s;color:var(--faint)} .prov.open .chev{transform:rotate(90deg)}
.tot-pill{background:#f2f3f5;padding:4px 11px;border-radius:8px;font-weight:700;font-size:13px;white-space:nowrap}
.cat-block{margin-bottom:8px}
.cat-header{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#f2f3f5;border-radius:8px;cursor:pointer;margin-bottom:2px;user-select:none} .cat-header:hover{background:#eceef1}
.cat-header .ct{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:8px} .cat-sum{font-size:12.5px;color:var(--muted);font-weight:600}
.cat-services{padding:4px 0 8px} .cat-services.collapsed{display:none}
.srow{display:grid;grid-template-columns:1.4fr 1.6fr auto;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line)} .srow:last-child{border-bottom:none}
.srow-name{font-size:13.5px;font-weight:600}
.srow-sel{display:flex;align-items:center;gap:8px}.quote-choices{display:flex;flex-direction:column;gap:6px;width:100%}.quote-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.quote-choice:hover{border-color:var(--accent)}.quote-choice.selected{border-color:var(--accent);background:var(--accent-bg)}.quote-choice input{width:auto;margin:0}.quote-choice-main{min-width:0}.quote-choice-name{font-size:12.5px;font-weight:700}.quote-choice-meta{font-size:10.5px;color:var(--muted);margin-top:1px}.quote-choice-price{font-size:12.5px;font-weight:700;white-space:nowrap}
.srow-amt{text-align:right;min-width:92px;font-variant-numeric:tabular-nums} .srow-amt .val{font-weight:700;font-size:14px} .srow-amt .ecart{font-size:11px;margin-top:1px}
.budget-quotes{display:flex;flex-direction:column;gap:14px}.budget-quote{overflow:hidden;transition:border-color .2s,box-shadow .2s}.budget-quote:hover{border-color:var(--line2)}.budget-quote.selected{border-color:var(--accent);box-shadow:0 10px 30px rgba(158,42,43,.11)}.budget-quote.partial{border-color:var(--amber);border-style:dashed}.budget-quote.selected.partial .budget-quote-choice{background:#fff7ec}
.budget-quote-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px 18px;background:#fff;cursor:pointer;min-height:68px}.budget-quote.selected .budget-quote-choice{background:var(--accent-bg)}.budget-quote-choice input{width:22px;height:22px;margin:0;accent-color:var(--accent)}.budget-quote-title{font-weight:780;font-size:15px;display:block}.budget-quote-meta{font-size:12px;color:var(--muted);margin-top:3px;display:block}.budget-quote-total{text-align:right;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.budget-quote-details{border-top:1px solid var(--line);background:#fff}.budget-quote-detail{display:grid;grid-template-columns:auto minmax(150px,1.2fr) minmax(180px,1.8fr) auto;gap:14px;align-items:start;padding:12px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .18s,opacity .18s}.budget-quote-detail:last-child{border-bottom:0}.budget-quote-detail:hover{background:#fbf7f4}.budget-detail-pick{display:flex;align-items:center;min-height:24px}.budget-detail-pick input{width:19px;height:19px;min-height:0;margin:0;accent-color:var(--accent);cursor:pointer}.budget-quote-detail.kept{background:#fdf8f7}.budget-quote-detail.dropped{opacity:.52}.budget-quote-detail.dropped .budget-detail-price{text-decoration:line-through;color:var(--muted)}.budget-detail-flag{display:inline-block;margin-top:4px;font-size:10.5px;font-weight:750;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}.budget-quote-detail.kept .budget-detail-flag{color:var(--accent-d)}.budget-quote-total small{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:2px}.budget-detail-name{font-weight:700;display:block}.budget-detail-cat,.budget-detail-calc{font-size:12px;color:var(--muted);margin-top:2px;display:block}.budget-detail-calc{line-height:1.45}.budget-detail-price{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.budget-quote-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--line);background:#fbf7f4}
.item-note{display:block;margin-top:5px;padding:5px 9px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:var(--accent-bg);color:var(--accent-d);font-size:11.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.media-details{border-top:1px solid var(--line);background:#fff}.media-details>summary{cursor:pointer;list-style:none;padding:11px 14px;font-size:12.5px;font-weight:700;color:var(--accent-d);display:flex;align-items:center;gap:7px;min-height:44px}.media-details>summary::-webkit-details-marker{display:none}.media-details>summary:before{content:'▸';font-size:11px;transition:transform .18s}.media-details[open]>summary:before{transform:rotate(90deg)}.media-details>summary:hover{background:#fbf7f4}.media-sections{padding:0 14px 12px;background:#fff}.media-section{padding:12px 0;border-top:1px solid var(--line)}.media-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.media-section-title{font-size:12.5px;font-weight:750}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:9px}.photo-tile{min-width:0}.photo-tile>.btn{width:100%;margin-top:5px}.photo-thumb{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f2f3f5;cursor:pointer;padding:0;min-height:80px;width:100%}.photo-thumb:hover,.photo-thumb:focus-visible{border-color:var(--accent);box-shadow:0 5px 16px rgba(85,53,38,.12)}.photo-thumb img,.photo-thumb video{width:100%;height:100%;object-fit:cover;display:block}.image-preview-error{background:#f7f1eb!important}.image-preview-error:after{content:'Aperçu indisponible';position:absolute;inset:auto 6px 6px;padding:4px 6px;border-radius:7px;background:rgba(48,39,34,.78);color:#fff;font-size:9.5px;z-index:3}.image-preview-error img{opacity:.18}.photo-thumb span{position:absolute;left:6px;right:6px;bottom:5px;padding:3px 6px;border-radius:6px;background:rgba(30,24,22,.72);color:#fff;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-actions{display:flex;gap:8px;flex-wrap:wrap}.attachment-card{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.attachment-card .att-name{flex:1;min-width:0}.upload-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.upload-box{padding:12px;border:1px dashed var(--line2);border-radius:11px;background:#fbf7f4}.upload-box .fl{margin-bottom:7px}.upload-progress{height:7px;border-radius:999px;background:#e8e2de;overflow:hidden;margin-top:9px}.upload-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}.viewer-modal{max-width:1080px;height:min(90vh,820px);display:flex;flex-direction:column;overflow:hidden}.viewer-modal .modal-h{flex:0 0 auto}.viewer-body{flex:1;min-height:0;display:grid;place-items:center;background:#292525;overflow:auto}.viewer-body img,.viewer-body video{max-width:100%;max-height:100%;object-fit:contain}.viewer-body video{width:100%;height:100%;background:#000}.viewer-body iframe{width:100%;height:100%;border:0;background:#fff}.viewer-fallback{max-width:520px;text-align:center;color:#fff;padding:34px}.viewer-fallback h4{font-size:18px;margin-bottom:8px}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:#fff;flex-wrap:wrap}.viewer-toolbar-actions{display:flex;gap:8px;align-items:center}.viewer-count{font-size:12px;color:var(--muted)}
.ecart.over{color:var(--red)}.ecart.under{color:var(--green)}
.empty{text-align:center;padding:40px 20px;color:var(--faint)} .empty i{font-size:34px;display:block;margin-bottom:10px;opacity:.5;font-style:normal}
.hint{font-size:12.5px;color:var(--muted);background:var(--blue-bg);border:1px solid #cfe2f7;padding:10px 13px;border-radius:8px;margin-bottom:16px;display:flex;gap:9px;align-items:flex-start}.hint>span:first-child{flex:0 0 auto}
.overlay{position:fixed;inset:0;background:rgba(20,22,26,.45);display:none;align-items:center;justify-content:center;z-index:100;padding:20px} .overlay.show{display:flex}
.modal{background:#fff;border-radius:14px;max-width:540px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-h{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2} .modal-h h3{font-size:16px;font-weight:700}
.modal-b{padding:20px 22px} .modal-f{padding:14px 22px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;background:#fff}
.scen-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.scen-item{display:inline-flex;align-items:stretch}.scen-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--line2);border-radius:20px;background:#fff;cursor:pointer;font-size:13px;font-weight:600} .scen-chip:hover{border-color:var(--accent)}
.scen-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.scen-item .scen-chip{border-radius:20px 0 0 20px}.scen-delete{min-width:44px;border:1px solid var(--line2);border-left:0;border-radius:0 20px 20px 0;background:#fff;color:var(--muted);cursor:pointer}.scen-delete:hover,.scen-delete:focus-visible{color:var(--red);background:var(--red-bg)}
.comp-grid{display:grid;gap:14px} .comp-line{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px} .comp-line h4{font-size:13.5px;font-weight:700;margin-bottom:10px}
.comp-opt{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:.15s} .comp-opt:hover{border-color:var(--accent)}
.comp-opt.chosen{border-color:var(--accent);background:var(--accent-bg)} .comp-opt.cheapest .pn{color:var(--green)} .comp-opt .pn{font-weight:600;font-size:13px} .comp-opt .pp{font-weight:700;font-variant-numeric:tabular-nums}
.compare-toolbar{display:flex;align-items:flex-end;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:14px 0}.compare-toolbar .field{margin:0;min-width:230px}.compare-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.compare-summary .card{padding:16px}.compare-summary h3{font-size:14px;margin-bottom:4px}.compare-summary .big{font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}.compare-summary .meta{font-size:12px;color:var(--muted);margin-top:4px}.compare-summary .actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.payment-entry{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:10px;align-items:end}.payment-entry .field{margin:0}.payment-history{display:flex;flex-direction:column;gap:8px}.payment-history-item{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1.5fr auto;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.payment-history-item .amount{font-weight:750;color:var(--green);font-variant-numeric:tabular-nums}.quick-edit-title{margin-top:22px}.quick-card{min-height:86px}.quick-card:focus-visible{border-color:var(--accent)}
.modal-wide{max-width:780px}.form-section{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:14px}.form-section-title{font-size:14px;font-weight:750;margin-bottom:11px}.form-section-copy{font-size:12.5px;color:var(--muted);margin:-6px 0 12px}.unit-calculator{padding:15px;border:1px solid #cfe2f7;background:var(--blue-bg);border-radius:12px;margin-bottom:14px}.unit-calculator h4{font-size:13.5px;margin-bottom:3px}.unit-calculator-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;align-items:end;margin-top:11px}.unit-calculator .field{margin:0}.unit-result{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px solid #cfe2f7}.unit-result strong{font-size:18px;color:var(--accent-d);font-variant-numeric:tabular-nums}.calculation-list{display:flex;flex-direction:column;gap:9px}.calculation-row{display:grid;grid-template-columns:minmax(120px,1.25fr) minmax(100px,.8fr) minmax(150px,1.2fr) minmax(90px,.7fr) auto;gap:8px;align-items:end;padding:11px;border:1px solid #cfe2f7;border-radius:10px;background:#fff}.calculation-row .field{margin:0}.calculation-subtotal{min-height:44px;display:flex;align-items:center;justify-content:flex-end;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-total-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:11px;background:var(--accent-bg);color:var(--accent-d);margin-top:12px}.quote-total-box strong{font-size:22px;font-variant-numeric:tabular-nums}.quote-group{margin:10px 18px 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.inline-status-select{width:auto;min-width:145px;min-height:36px;padding:6px 30px 6px 9px;border-radius:9px;font-size:12px;font-weight:700;background:#fff}.inline-status-select:disabled{opacity:.6}.payment-milestone-paid{color:var(--green);font-weight:700}.payment-milestone-open{font-weight:700}.quote-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fbf7f4}.quote-group-title{font-weight:750}.quote-group-meta{font-size:12px;color:var(--muted);margin-top:2px}.quote-group table{border-radius:0}.quote-group-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);background:#fff}.pricing-basis{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;margin-bottom:14px}.pricing-basis .field{margin:0;min-width:260px}.pricing-basis-copy{flex:1;min-width:230px;color:var(--muted);font-size:12.5px}.import-help{padding:12px 14px;border-radius:10px;background:var(--blue-bg);color:var(--muted);font-size:12.5px;margin-bottom:14px}.import-help strong{color:var(--text)}
.guest-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:var(--muted);font-size:12.5px}.contact-lines{display:flex;flex-direction:column;gap:2px;margin-top:3px}.contact-lines a{color:var(--accent-d);text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}
.bar-track{height:7px;background:#eceef1;border-radius:6px;overflow:hidden;margin-top:8px} .bar-fill{height:100%;border-radius:6px;transition:width .4s}
.progress-lines{display:flex;flex-direction:column;gap:13px} .pl-item .pl-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:3px} .pl-item .pl-cat{font-weight:600} .pl-item .pl-val{color:var(--muted);font-variant-numeric:tabular-nums}
.summary-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.summary-chart,.chart-body>*{min-width:0}
.summary-chart{min-height:280px}.chart-body{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;margin-top:18px}
.donut{width:132px;aspect-ratio:1;border-radius:50%;background:var(--donut,conic-gradient(var(--line) 0 100%));position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}
.donut:after{content:"";position:absolute;inset:22px;background:var(--panel);border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.donut-center{position:relative;z-index:1;text-align:center;line-height:1.1}.donut-center strong{display:block;font-size:21px;font-variant-numeric:tabular-nums}.donut-center span{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}
.chart-legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;font-size:12px}.legend-dot{width:9px;height:9px;border-radius:3px}.legend-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.legend-value{font-weight:750;font-variant-numeric:tabular-nums}
.compare-chart{display:flex;flex-direction:column;gap:15px;margin-top:18px}.compare-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(220px,2fr) auto;gap:14px;align-items:center}.compare-name{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-bars{display:flex;flex-direction:column;gap:5px}.compare-track{height:8px;border-radius:999px;background:#eee8e3;overflow:hidden}.compare-fill{height:100%;border-radius:inherit;min-width:0}.compare-fill.planned{background:#e2bbb7}.compare-fill.committed{background:var(--accent)}.compare-values{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.chart-key{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11.5px}.chart-key span{display:flex;align-items:center;gap:6px}.chart-key i{width:16px;height:7px;border-radius:999px;display:inline-block}
.att-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.att-item{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}
.att-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent-d);flex-shrink:0}.att-ico .ico{width:17px;height:17px}
.att-name{flex:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .att-size{font-size:11.5px;color:var(--faint)}
.att-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--accent-d);background:var(--accent-bg);padding:2px 8px;border-radius:12px}
.mono{font-variant-numeric:tabular-nums} .flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap8{gap:8px}.gap12{gap:12px}.wrap{flex-wrap:wrap}
.mt8{margin-top:8px}.mt16{margin-top:16px}.mb0{margin-bottom:0} .txt-muted{color:var(--muted)}.txt-sm{font-size:12.5px}
/* Navigation rapide, alertes et édition contextuelle */
.command-trigger kbd{font:600 10px/1 var(--font-ui);padding:3px 5px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--faint)}
.command-modal{max-width:760px}.command-body{padding-top:16px}.command-search{font-size:17px;min-height:52px;padding-left:15px}.command-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 15px}.command-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 10px;text-align:left;cursor:pointer;color:var(--text);display:flex;gap:9px;align-items:center;min-height:58px}.command-actions button:hover{border-color:var(--accent);background:#fffaf8}.command-actions .ico{width:18px;height:18px;color:var(--accent);margin-top:1px}.command-actions span{min-width:0}.command-actions strong{display:block;font-size:11.5px;line-height:1.25}.command-actions small{display:block;color:var(--muted);font-size:9.5px;line-height:1.35;margin-top:3px}.command-results{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto}.command-result-group{margin-top:4px}.command-result-label{font-size:9.5px;text-transform:uppercase;letter-spacing:1.4px;color:var(--gold);font-weight:750;padding:8px 3px 4px}.command-result{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid transparent;border-radius:10px;background:transparent;padding:10px;text-align:left;cursor:pointer;color:var(--text)}.command-result:hover,.command-result:focus-visible{background:#fff;border-color:var(--line)}.command-result .ico{width:17px;height:17px;color:var(--accent)}.command-result strong{display:block;font-size:12.5px}.command-result small{display:block;color:var(--muted);font-size:10.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-result .command-kind{font-size:9.5px;color:var(--faint);white-space:nowrap}.command-empty{padding:18px 4px;color:var(--muted);font-size:12.5px;text-align:center}.command-page-nav{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.command-page-nav-title{font-size:9.5px;text-transform:uppercase;letter-spacing:1.35px;color:var(--gold);font-weight:750;margin-bottom:7px}.command-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.command-page-grid button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 8px;cursor:pointer;font-size:10.5px;font-weight:700;color:var(--text)}.command-page-grid button:hover{border-color:var(--accent);background:var(--accent-bg)}.mobile-nav{display:none}
.dashboard-attention{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.dashboard-attention[hidden]{display:none}.attention-item{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer;color:var(--text);box-shadow:0 4px 14px rgba(67,52,43,.03)}.attention-item:hover{border-color:var(--accent);background:#fffaf8}.attention-item .attention-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent)}.attention-item.warn .attention-icon{background:var(--amber-bg);color:var(--amber)}.attention-item.danger .attention-icon{background:var(--red-bg);color:var(--red)}.attention-item.good .attention-icon{background:var(--green-bg);color:var(--green)}.attention-item strong{display:block;font-size:11.5px}.attention-item span{display:block;color:var(--muted);font-size:10px;margin-top:1px}.attention-arrow{color:var(--faint);font-size:17px}.guest-table-select{min-height:38px;padding:6px 30px 6px 10px;border-radius:9px;font-size:11.5px;font-weight:600;max-width:220px;background:#fff}.guest-seat-meta{font-size:10.5px;color:var(--muted);margin-top:4px}.provider-toolbar{margin-top:-2px;margin-bottom:14px}.scenario-toolbar{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.scenario-toolbar .field{margin:0}.scenario-toolbar .actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.scenario-toolbar select{font-weight:650}.payment-due-over{color:var(--red);font-weight:700}.payment-due-soon{color:var(--amber);font-weight:700}
@media(max-width:900px){.command-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.command-actions button:last-child{grid-column:1/-1}.scenario-toolbar{grid-template-columns:1fr}.scenario-toolbar .actions{justify-content:flex-start}}
@media(max-width:700px){.back-to-top{right:max(12px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:46px;min-width:46px;height:46px;padding:0;border-radius:50%}.back-to-top-label{display:none}.command-trigger kbd{display:none}.command-actions{grid-template-columns:1fr 1fr}.dashboard-attention{grid-template-columns:1fr 1fr}.guest-table-select{max-width:min(100%,260px)}.nav{display:none}.app{padding-bottom:96px!important}.mobile-nav{position:fixed;z-index:70;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:62px;padding:5px 6px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:rgba(255,252,248,.96);backdrop-filter:blur(18px);border:1px solid var(--line2);border-radius:18px;box-shadow:0 12px 32px rgba(65,45,35,.2)}.mobile-nav button{border:0;background:transparent;border-radius:12px;display:grid;place-items:center;align-content:center;gap:2px;color:var(--muted);font-size:9px;font-weight:750;min-height:50px;padding:3px;cursor:pointer}.mobile-nav button .ico{width:18px;height:18px}.mobile-nav button.active{background:var(--accent-bg);color:var(--accent-d)}.organization-progress-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.command-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-guest-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.command-actions,.dashboard-attention{grid-template-columns:1fr}.command-result{grid-template-columns:auto minmax(0,1fr)}.command-result .command-kind{grid-column:2}.command-modal{max-width:100%}.command-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-guest-list{grid-template-columns:1fr}.table-guest-controls{grid-template-columns:minmax(76px,.7fr) minmax(112px,1fr) auto}.organization-progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Auth screens */
.gate{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:clamp(16px,5vh,48px) 16px;background:linear-gradient(160deg,#f8ece9,#f6f3f0);overflow-y:auto;z-index:500}
.gate.show{display:flex}.gate-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(120,42,40,.15);padding:clamp(24px,5vw,36px);max-width:440px;width:min(100%,440px);text-align:center;overflow-wrap:anywhere}.gate-card>*{min-width:0}
.gate-card h2{font-size:22px;font-weight:700;margin-bottom:6px} .gate-card p{font-size:13.5px;color:var(--muted);margin-bottom:20px}
.gate-card .field{text-align:left} .gate-err{color:var(--red);font-size:13px;margin-top:10px;min-height:18px}
.gate-logo{font-size:40px;margin-bottom:10px}
.auth-choices{display:grid;gap:12px;margin-top:22px}.auth-choice{width:100%;min-height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:13px 16px;white-space:normal}.auth-choice strong{font-size:15px}.auth-choice span{font-size:12px;font-weight:500;opacity:.82;margin-top:2px}.auth-choice:disabled{background:#f4f1ef;color:var(--muted)}.auth-back{width:100%;margin-top:10px}.auth-status{margin-top:16px;padding:10px 12px;border-radius:10px;background:var(--blue-bg);color:var(--muted);font-size:12.5px;text-align:left}
.hero{position:relative;overflow:hidden;margin-top:24px;padding:30px;border-radius:18px;background:linear-gradient(125deg,#fffdf9 0%,#faf4ec 100%);border:1px solid #e6d9cb;box-shadow:var(--shadow);display:grid;grid-template-columns:1.5fr .8fr;gap:22px;align-items:center}
.hero:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(154,119,70,.19);border-radius:50%;right:-80px;top:-110px;box-shadow:0 0 0 28px rgba(154,119,70,.035),0 0 0 56px rgba(116,43,53,.018)}.hero:before{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(116,43,53,.11);border-radius:50%;right:14px;top:-58px}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10.5px;font-weight:750;color:var(--gold);margin-bottom:9px}
.hero h2{font-family:var(--font-display);font-size:clamp(29px,4vw,44px);font-weight:500;line-height:1.08;letter-spacing:-.3px;max-width:650px;color:var(--ink)}
.hero-copy{color:var(--muted);font-size:14.5px;max-width:620px;margin-top:12px;line-height:1.65}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}
.countdown{position:relative;z-index:1;text-align:center;padding:22px;border-radius:14px;background:rgba(255,253,249,.76);border:1px solid rgba(200,171,114,.32);backdrop-filter:blur(8px)}
.countdown strong{display:block;font-family:var(--font-display);font-size:44px;font-weight:400;color:var(--accent);line-height:1}.countdown span{display:block;color:var(--muted);margin-top:8px;font-size:12.5px}
.onboarding{margin-top:18px;padding:18px 20px;display:flex;align-items:center;gap:15px;justify-content:space-between;background:#fffdfb;border:1px dashed var(--line2);border-radius:16px}
.onboarding-copy strong{display:block;font-size:15px;margin-bottom:3px}.onboarding-copy span{color:var(--muted);font-size:13px}.organization-progress{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px;box-shadow:var(--shadow)}.organization-progress:empty{display:none}.organization-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.organization-progress-head strong{font-size:13.5px}.organization-progress-head span{font-size:11px;color:var(--muted)}.organization-progress-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:10px}.organization-step{min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 8px;display:flex;align-items:center;gap:7px;text-align:left;cursor:pointer;color:var(--text);font-size:10.5px;font-weight:700}.organization-step:hover{border-color:var(--accent);background:var(--accent-bg)}.organization-step.done{background:#f4faf7;border-color:#cfe4d8}.organization-step .step-check{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#eee7e1;color:var(--faint);font-size:10px;flex:0 0 auto}.organization-step.done .step-check{background:var(--green);color:#fff}.organization-progress .progress-ring{height:6px}
.empty{padding:48px 24px}.empty i{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;margin:0 auto 13px;background:var(--accent-bg);color:var(--accent);opacity:1}.empty i .ico{width:25px;height:25px;stroke-width:1.6}
.empty-title{font-weight:750;color:var(--text);font-size:15px;margin-bottom:4px}.empty-copy{max-width:440px;margin:0 auto 14px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.quick-card{padding:16px;border-radius:14px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;transition:.2s;color:var(--text)}.quick-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.quick-card strong{display:block;font-size:13.5px;margin-bottom:3px}.quick-card span{font-size:12px;color:var(--muted)}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:20px 0 12px}.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1 1 320px;min-width:0}.toolbar-group:last-child{flex:0 1 auto;justify-content:flex-end}.search{flex:1 1 230px;min-width:200px}
.task-list,.guest-list{display:flex;flex-direction:column;gap:9px}.task-item,.guest-item{display:grid;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fff}.task-item{grid-template-columns:auto 1fr auto auto}.guest-item{grid-template-columns:1.25fr .72fr .58fr 1.05fr auto}
.guest-family{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.guest-family-focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);transition:border-color .2s,box-shadow .2s}.guest-family-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fbf7f4;border-bottom:1px solid var(--line);flex-wrap:wrap}.guest-family-title{font-size:15px;font-weight:780}.guest-family-meta{font-size:12px;color:var(--muted);margin-top:2px}.guest-family-members{padding:7px}.guest-family .guest-item{border:0;border-radius:9px}.guest-family .guest-item+.guest-item{border-top:1px solid var(--line)}.guest-master{box-shadow:inset 3px 0 0 var(--accent)}.status-select{min-height:38px;padding:6px 30px 6px 11px;border-radius:20px;font-size:12px;font-weight:700;border:1px solid transparent;cursor:pointer;appearance:none;-webkit-appearance:none;background-repeat:no-repeat;background-position:right 10px center;background-size:9px;width:auto;max-width:100%}.status-select:hover{filter:brightness(.97)}.status-select.is-confirmed{background-color:var(--green-bg);color:var(--green);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2328785d' stroke-width='1.6' stroke-linecap='round'/></svg>")}.status-select.is-pending{background-color:var(--amber-bg);color:var(--amber);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2395610d' stroke-width='1.6' stroke-linecap='round'/></svg>")}.status-select.is-declined{background-color:var(--red-bg);color:var(--red);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23cf3a2f' stroke-width='1.6' stroke-linecap='round'/></svg>")}.guest-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.household-master-control{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fbf7f4;cursor:pointer}.household-master-control input{width:22px;height:22px;min-height:22px;margin:1px 0 0;accent-color:var(--accent)}.household-master-control strong{display:block;font-size:13.5px}.household-master-control span{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.4}
.household-list{display:flex;flex-wrap:wrap;gap:9px}.household-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}.household-chip strong{font-size:12.5px}.household-chip span{font-size:11px;color:var(--muted)}.household-chip .icon{min-width:36px;min-height:36px;padding:5px}.household-chip .household-jump{min-height:34px;padding:5px 10px;border-radius:999px}.field-label-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.field-label-actions .fl{margin:0}.recovery-code{display:block;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbf7f4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:750;letter-spacing:.5px;overflow-wrap:anywhere;user-select:all}
.seating-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.seating-main{display:grid;gap:16px;min-width:0}.seating-inspector{min-width:0}.seating-inspector:empty{display:none}.room-shell{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#eee8e1;padding:12px}.room-canvas{position:relative;min-width:620px;min-height:520px;border:1px solid #d8c9d2;border-radius:8px;background-color:#fffdfa;background-image:linear-gradient(rgba(91,35,77,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(91,35,77,.07) 1px,transparent 1px);background-size:32px 32px;overflow:hidden}.room-canvas:before{content:'PLAN DE SALLE';position:absolute;left:16px;top:12px;color:var(--faint);font-size:10px;font-weight:800;letter-spacing:1.6px}.floor-table{position:absolute;transform:translate(-50%,-50%) rotate(var(--table-angle,0deg));width:126px;min-height:96px;padding:12px 10px;border:2px solid #cda9c3;background:#fffafc;color:var(--ink);box-shadow:0 7px 18px rgba(91,35,77,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:grab;touch-action:none;user-select:none;overflow:visible;transition:border-color .18s,box-shadow .18s,background .18s}.floor-table.round{border-radius:50%;width:112px;height:112px}.floor-table.oval{border-radius:50%;width:150px;height:96px}.floor-table.rect{border-radius:14px}.floor-table:active{cursor:grabbing}.floor-table.selected{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(158,42,43,.14),0 8px 18px rgba(120,42,40,.16)}.floor-table-core{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:2;pointer-events:none;transform:rotate(var(--table-angle-neg,0deg))}.floor-table.dropping{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 5px rgba(158,42,43,.18)}.floor-table-core{max-width:100%;overflow:hidden;padding:0 2px}.floor-table-core strong{font-size:13px;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.floor-table-meta{font-size:10.5px;color:var(--muted);margin-top:4px;line-height:1.25}.floor-table .capacity-warning{color:var(--red);font-weight:750}.table-overflow-note{display:block;font-size:9px;color:var(--accent-d);font-weight:750;margin-top:3px}.seat-person{position:absolute;left:var(--seat-left,50%);top:var(--seat-top,50%);width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(var(--table-angle-neg,0deg));border:2px solid #fff;background:var(--accent);color:#fff;box-shadow:0 2px 7px rgba(110,45,42,.28);pointer-events:auto;cursor:grab;z-index:3;transition:box-shadow .15s}.seat-person.child{background:var(--blue)}.seat-person:hover,.seat-person:focus-visible{z-index:9;box-shadow:0 0 0 3px rgba(158,42,43,.22),0 4px 12px rgba(110,45,42,.3)}.seat-avatar{font-size:9px;font-weight:800;letter-spacing:.2px;line-height:1;pointer-events:none}.seat-label{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#2a1f1d;color:#fff;font-size:10.5px;font-weight:650;padding:4px 9px;border-radius:7px;opacity:0;visibility:hidden;transition:opacity .14s;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.25)}.seat-label:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#2a1f1d}.seat-person:hover .seat-label,.seat-person:focus-visible .seat-label{opacity:1;visibility:visible}.seating-side{position:sticky;top:126px}.move-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:7px;justify-content:center;margin:14px 0}.move-pad button{min-width:44px;min-height:44px;padding:0}.move-pad .up{grid-column:2}.move-pad .left{grid-column:1;grid-row:2}.move-pad .center{grid-column:2;grid-row:2}.move-pad .right{grid-column:3;grid-row:2}.move-pad .down{grid-column:2;grid-row:3}.table-guest-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-top:10px}.table-guest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:11px;background:#fbf7f4;font-size:11.5px}.table-guest .seat-chip{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:8.5px;font-weight:800;margin-top:1px}.table-guest.child .seat-chip{background:var(--blue)}.table-guest-main{min-width:0}.table-guest-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.25}.table-guest-name strong{font-size:12.5px}.table-guest-meta{display:block;color:var(--muted);font-size:10.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-guest-controls{display:grid;grid-template-columns:minmax(82px,.65fr) minmax(120px,1fr) auto;gap:6px;align-items:center;margin-top:7px}.table-guest-control{min-height:34px;padding:5px 26px 5px 8px;border-radius:9px;font-size:10.5px;font-weight:700;background:#fff}.table-guest-remove{min-width:34px!important;min-height:34px!important;padding:5px!important}.table-guest-diet{grid-column:1/-1;font-size:10px;color:var(--amber);font-weight:700;overflow-wrap:anywhere}.table-guest-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.table-guest-actions .icon{min-width:36px;min-height:36px;padding:5px}.seat-pool{margin-bottom:16px}.seat-pool-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.seat-pool-head h3{font-size:13.5px;font-weight:780}.seat-pool .search{margin-bottom:9px;flex:none;min-width:0;width:100%}.seat-pool-list{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:2px}.guest-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border:1px solid var(--line2);border-radius:999px;background:#fff;font-size:11.5px;font-weight:650;cursor:grab;max-width:100%;min-height:34px}.guest-chip:hover{border-color:var(--accent);background:var(--accent-bg)}.guest-chip.picked{border-color:var(--accent);background:var(--accent);color:#fff}.guest-chip.picked i{background:#fff;color:var(--accent)}.guest-chip i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:8.5px;font-weight:800;font-style:normal;flex:0 0 auto}.guest-chip.child i{background:var(--blue)}.guest-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-hint{font-size:12px;color:var(--muted);margin-top:8px}
.seat-person.dragging{opacity:.42;box-shadow:0 0 0 4px rgba(91,35,77,.16)}
.table-guest-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.table-guest-actions .icon{min-width:36px;min-height:36px;padding:5px}
.table-guest.move-target{outline:2px solid var(--accent);outline-offset:2px}
.seat-order-help{margin-top:8px;padding:9px 11px;border-radius:11px;background:var(--accent-bg);color:var(--muted);font-size:11.5px;line-height:1.4}
.angle-row{display:flex;align-items:center;gap:8px;margin:12px 0 4px}.angle-row input[type=range]{flex:1;min-height:32px;padding:0}.angle-value{font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.room-help>strong{flex:0 0 auto}.room-scroll-note{display:none;font-size:11.5px;color:var(--muted);margin-bottom:7px}.room-help{display:flex;gap:8px;align-items:flex-start;padding:11px 13px;border-radius:11px;background:var(--blue-bg);color:var(--muted);font-size:12px;line-height:1.45;margin-bottom:12px}.table-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--muted);pointer-events:none}.table-empty strong{display:block;color:var(--ink);margin-bottom:5px}
.room-settings{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(110px,150px)) auto;gap:10px;align-items:end;margin-bottom:14px}.room-settings .field{margin:0}.room-scale-note{font-size:12px;color:var(--muted);align-self:center}.room-canvas.scaled{width:100%;min-height:0!important}.room-canvas.scaled:before{content:attr(data-room-label);letter-spacing:1.2px}.floor-table.scaled{padding:4px;min-height:0}.floor-table.scaled.round{border-radius:50%;width:auto;height:auto}.floor-table.scaled.oval{border-radius:50%;width:auto;height:auto}.floor-table.scaled.rect{border-radius:8px}
.floor-table.scaled:after{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}

.room-switcher{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:12px}.room-switcher .field{margin:0}.room-switcher-meta{font-size:12px;color:var(--muted);padding-bottom:10px}.room-switcher-meta strong{color:var(--text)}.room-scale-note span{display:block;margin-top:2px}.fixture-suggestions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:-2px 0 12px;padding:10px 12px;border:1px dashed var(--line2);border-radius:12px;background:#fbf8f3}.fixture-suggestions>span{font-size:11.5px;font-weight:700;color:var(--muted);margin-right:2px}.fixture-suggestions .filter-chip{min-height:32px;padding:5px 9px;font-size:11px}.floor-fixture{position:absolute;transform:translate(-50%,-50%) rotate(var(--fixture-angle,0deg));border:2px dashed #b9a78f;border-radius:10px;background:rgba(247,240,227,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;padding:5px;cursor:grab;touch-action:none;user-select:none;z-index:1;overflow:hidden}.floor-fixture:hover,.floor-fixture.selected{border-color:var(--accent);background:#fff8ee;box-shadow:0 0 0 3px rgba(158,42,43,.10)}.floor-fixture-core{transform:rotate(var(--fixture-angle-neg,0deg));display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;line-height:1.08}.floor-fixture-core b{font-size:16px}.floor-fixture-core strong{font-size:9.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-fixture-core small{font-size:8.5px;color:var(--muted)}.fixture-inspector-type{display:inline-flex;gap:6px;align-items:center;margin-top:4px;font-size:11.5px;color:var(--muted)}.program-preview-btn{min-height:34px;padding:5px 9px}.program-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}.program-preview-time{font-family:var(--font-display);font-size:28px;color:var(--accent);line-height:1}.program-preview-title{font-family:var(--font-display);font-size:25px;font-weight:500;margin-bottom:7px}.program-preview-meta{display:flex;gap:7px;flex-wrap:wrap}.program-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.program-preview-box{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbf8f3}.program-preview-box strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:5px}.program-preview-box span,.program-preview-box p{font-size:12.5px;white-space:pre-wrap}.program-preview-media{margin-top:15px}.program-preview-media .program-media-thumb{width:120px;height:92px}.program-resource-summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.program-resource-summary span{font-size:10.5px;color:var(--muted);padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#fbf8f3}
@media(max-width:820px){.room-switcher{grid-template-columns:1fr 1fr}.room-switcher-meta{grid-column:1/-1;padding:0}.program-preview-grid{grid-template-columns:1fr}}
@media(max-width:600px){.room-switcher{grid-template-columns:1fr}.room-switcher-meta{grid-column:auto}.fixture-suggestions{align-items:flex-start}.floor-fixture-core strong{font-size:8.5px}}

.check{width:24px;height:24px;min-height:24px;accent-color:var(--accent);cursor:pointer}.task-title{font-weight:700}.task-title.done{text-decoration:line-through;color:var(--faint)}.task-meta,.guest-meta{font-size:12px;color:var(--muted);margin-top:2px}.task-late{color:var(--red);font-weight:700}
/* Programme du mariage */
.program-toolbar{margin-top:0}.program-toolbar .toolbar-group:first-child{flex:1 1 560px}.program-list{display:grid;gap:18px}.program-day{display:grid;gap:9px}.program-day-head{display:flex;align-items:center;gap:10px;padding:0 3px}.program-day-head strong{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--ink)}.program-day-head span{font-size:11px;color:var(--muted)}.program-item{display:grid;grid-template-columns:164px minmax(0,1fr) auto;gap:16px;align-items:start;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;position:relative;overflow:hidden}.program-item:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line2)}.program-item.important:before{background:var(--accent)}.program-time{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.program-time small{display:block;font-family:var(--font-ui);font-size:10px;color:var(--faint);font-weight:600;margin-top:2px}.program-main{min-width:0}.program-title{font-size:14px;font-weight:750;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.program-meta{display:flex;gap:7px 12px;flex-wrap:wrap;margin-top:5px;font-size:11.5px;color:var(--muted)}.program-notes{margin-top:7px;font-size:11.5px;color:var(--muted);white-space:pre-wrap}.program-actions{display:flex;gap:2px}.program-summary-note{margin-top:10px;padding:11px 13px;border-radius:12px;background:#fbf8f3;color:var(--muted);font-size:11.5px}.program-empty-help{max-width:560px;margin:0 auto}.dashboard-program-list{display:grid;gap:8px}.dashboard-program-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.dashboard-program-row:last-child{border-bottom:0}.dashboard-program-time{font-family:var(--font-display);font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums}.dashboard-program-row strong{display:block;font-size:12px}.dashboard-program-row span{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}.program-visibility{display:inline-flex;align-items:center;gap:4px}.program-modal-note{margin:-2px 0 12px;padding:9px 11px;border-radius:10px;background:var(--blue-bg);color:var(--muted);font-size:11.5px}
.program-resource-block{margin-top:10px;display:grid;gap:8px}.program-links{display:flex;gap:6px;flex-wrap:wrap}.program-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border:1px solid var(--line);border-radius:10px;background:#fbf8f3;color:var(--accent);font-size:11.5px;font-weight:650;text-decoration:none}.program-link:hover{border-color:var(--accent);background:var(--accent-bg)}.program-media{display:flex;gap:8px;flex-wrap:wrap}.program-media-thumb{width:88px;height:72px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f7f3ed;position:relative;padding:0;cursor:pointer}.program-media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.program-file-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px}.program-link-rows{display:grid;gap:8px}.program-link-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) auto;gap:8px;align-items:end}.program-link-row .field{margin:0}.program-existing-files{display:grid;gap:7px}.program-existing-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#fbf8f3}.program-existing-file img{width:54px;height:42px;border-radius:7px;object-fit:cover}.program-upload-note{font-size:11px;color:var(--muted);margin-top:5px}.household-hidden-note{display:none}.household-hidden-note.show{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed var(--line2);border-radius:13px;background:#fbf8f3;margin-bottom:14px;flex-wrap:wrap}.household-hidden-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.household-hidden-actions select{width:auto;min-width:min(270px,100%)}.compare-duel-controls select{position:relative;z-index:2;width:100%;min-height:46px;cursor:pointer;background-color:#fff}.compare-duel-controls .field{position:relative;z-index:2}.compare-toolbar{overflow:visible!important}
.compare-focus-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.compare-focus-controls .field{min-width:190px}.compare-duel-controls{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto minmax(240px,1fr);gap:10px;align-items:end}.compare-duel-controls .field{margin:0;min-width:0}.compare-swap{min-width:44px;padding:8px 10px}.compare-duel-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.compare-duel-insight{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fbf8f3}.compare-duel-insight span{display:block;font-size:10.5px;color:var(--muted);margin-bottom:4px}.compare-duel-insight strong{font-size:13px;color:var(--text)}.compare-duel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compare-duel-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;min-width:0}.compare-duel-card.winner-price{border-color:#bed9c2}.compare-duel-card.winner-score{box-shadow:0 0 0 2px rgba(128,92,42,.10)}.compare-duel-head{padding:16px 17px;border-bottom:1px solid var(--line);background:#fff}.compare-duel-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.compare-duel-provider{font-size:16px;font-weight:780}.compare-duel-quote{font-size:11px;color:var(--muted);margin-top:3px}.compare-duel-total{font-family:var(--font-display);font-size:26px;font-weight:500;white-space:nowrap}.compare-duel-body{padding:14px 16px;display:grid;gap:13px}.compare-duel-section{padding-top:11px;border-top:1px solid var(--line)}.compare-duel-section:first-child{padding-top:0;border-top:0}.compare-duel-section-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;font-weight:750;color:var(--muted);margin-bottom:7px}.compare-duel-services{display:grid;gap:6px}.compare-duel-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;font-size:11.5px;padding:7px 8px;border-radius:9px;background:#fbf8f3}.compare-duel-service small{display:block;color:var(--muted);margin-top:2px}.compare-duel-service strong:last-child{white-space:nowrap}.compare-duel-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.compare-duel-rating{padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.compare-duel-rating strong{color:var(--text);font-size:12px}.compare-duel-actions{display:flex;gap:8px;flex-wrap:wrap}.compare-duel-actions .btn{flex:1 1 150px}.compare-empty-side{display:grid;place-items:center;min-height:330px;padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:16px;background:#fbf8f3}.fixture-custom-fields{display:none}.fixture-custom-fields.show{display:grid}.fixture-custom-help{font-size:11px;color:var(--muted);margin-top:-4px}.compare-matrix-section{margin-top:16px}.compare-matrix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.compare-matrix-head h3{font-family:var(--font-display);font-size:19px;font-weight:500}.compare-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:#fff}.compare-matrix th:first-child{position:sticky;left:0;z-index:3;background:#fbf8f3}.compare-matrix td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:5px 0 10px rgba(67,52,43,.035)}.compare-matrix tr.chosen td:first-child{background:var(--accent-bg)}.compare-matrix{min-width:1220px}.compare-matrix th{position:sticky;top:0;background:#fbf8f3;z-index:1;white-space:nowrap}.compare-matrix td{vertical-align:top}.compare-matrix tr.chosen{background:var(--accent-bg)}.compare-matrix .provider-cell strong{display:block}.compare-matrix .provider-cell small{display:block;color:var(--muted);margin-top:2px}.compare-price{font-family:var(--font-display);font-size:17px;font-weight:500;white-space:nowrap}.compare-delta{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}.compare-rating{width:76px;min-height:36px;padding:5px 24px 5px 8px;font-size:12px}.compare-score{font-size:17px;font-weight:750;text-align:center;white-space:nowrap}.compare-score small{display:block;font-size:9.5px;color:var(--muted);font-weight:600}.compare-detail-list{display:grid;gap:3px;font-size:11px;color:var(--muted);min-width:145px}.compare-detail-list strong{color:var(--text)}.compare-choice{min-width:112px}.compare-service-empty{padding:22px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.program-item{grid-template-columns:1fr}.program-actions{grid-column:1;justify-content:flex-start}.program-time{font-size:17px}.program-toolbar .toolbar-group:first-child{flex-basis:100%}}
@media(max-width:460px){.program-item{grid-template-columns:1fr;gap:7px}.program-actions{grid-column:1;justify-content:flex-start}.program-time small{display:inline;margin-left:5px}.program-day-head{align-items:flex-start;flex-direction:column;gap:2px}}
.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.summary-pill{padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff}.summary-pill .k{font-size:12px;color:var(--muted);font-weight:650}.summary-pill .v{font-size:24px;font-weight:750;margin-top:3px;font-variant-numeric:tabular-nums}
.progress-ring{height:9px;background:#eee6e0;border-radius:999px;overflow:hidden}.progress-ring>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#d1837e);border-radius:inherit;transition:width .25s}
.filter-chip{border:1px solid var(--line2);background:#fff;color:var(--muted);border-radius:999px;padding:7px 12px;min-height:36px;font-weight:650;cursor:pointer}.filter-chip.active{background:var(--accent-bg);border-color:#e9c0bc;color:var(--accent-d)}
.toast{position:fixed;right:24px;bottom:24px;z-index:300;background:#302722;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.2);opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:none}
.modal{border:1px solid var(--line)}.modal-h h3{font-family:var(--font-display);font-size:20px;font-weight:500}
@media(max-width:980px){.summary-charts{grid-template-columns:1fr 1fr}.summary-chart:last-child{grid-column:1/-1}}
@media(max-width:860px){.hero{grid-template-columns:1fr}.countdown{text-align:left;display:flex;align-items:baseline;gap:10px}.countdown span{display:inline}.quick-grid{grid-template-columns:1fr}.guest-item{grid-template-columns:minmax(0,1fr) auto;row-gap:9px;column-gap:10px;padding:12px 13px}.guest-item>*:nth-child(1){grid-column:1/-1}.guest-item>*:nth-child(2){grid-column:1;justify-self:start}.guest-item>*:nth-child(3){grid-column:2;justify-self:end}.guest-item>*:nth-child(4){grid-column:1;justify-self:start;font-size:12.5px;color:var(--muted)}.guest-item .guest-actions{grid-column:2;justify-self:end;gap:2px}.summary-row{grid-template-columns:1fr 1fr}.compare-row{grid-template-columns:minmax(110px,1fr) minmax(180px,2fr)}.compare-values{grid-column:2;text-align:left}}
@media(max-width:900px){.payment-entry{grid-template-columns:1fr 1fr}.payment-entry .wide{grid-column:1/-1}.payment-entry button{grid-column:1/-1}.payment-history-item{grid-template-columns:1fr 1fr}.payment-history-item .wide,.payment-history-item .actions{grid-column:1/-1}}
@media(max-width:820px){body{font-size:13.5px}.section-h h2{font-size:15px}.section-h .sub{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:6px}.card.pad{padding:16px}.metric{padding:15px 16px}.metric .ml{font-size:12px}.metric .mx{font-size:11.5px}.nav button{font-size:12.5px;padding:9px 11px}.btn{font-size:12.5px;padding:8px 12px}.btn.sm{font-size:11.5px}.badge{font-size:10.5px;padding:2px 8px}.hint{font-size:12px;padding:9px 11px}.room-help{font-size:12px}.budget-quote-title{font-size:14px}.budget-quote-total{font-size:15.5px}.budget-detail-calc{font-size:11.5px}.quote-group-title{font-size:13.5px}.tot-pill{font-size:12px}.guest-chip{font-size:11px}.seat-pool-list{max-height:158px}.txt-sm{font-size:11.5px}.form-section-copy{font-size:12px}}
@media(max-width:700px){.program-link-row{grid-template-columns:1fr}.program-link-row .icon{justify-self:end}.grid2,.grid3,.summary-charts,.unit-calculator-grid,.calculation-row{grid-template-columns:1fr}.summary-chart:last-child{grid-column:auto}.chart-body{grid-template-columns:minmax(96px,112px) minmax(0,1fr)}.donut{width:min(112px,100%)}.compare-row{grid-template-columns:1fr}.compare-values{grid-column:auto;text-align:left}.srow{grid-template-columns:1fr;gap:8px}.srow-amt{text-align:left}.app{padding:0 12px 50px}.topbar{margin:0 -12px 0;padding:12px 12px 0}.brand{align-items:flex-start}.brand .actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.brand .actions>*{flex:0 0 auto}.brand .actions::-webkit-scrollbar{display:none}.sync{min-width:auto}.hero{padding:21px;margin-top:16px;grid-template-columns:minmax(0,1fr)}.hero h2{font-size:clamp(25px,9vw,29px);overflow-wrap:anywhere}.countdown{max-width:100%;overflow:hidden}.onboarding{align-items:flex-start;flex-direction:column}.task-item{grid-template-columns:auto minmax(0,1fr) auto}.task-item .task-actions{grid-column:2/-1}.summary-row{grid-template-columns:1fr 1fr}.search{min-width:100%}.toolbar-group{width:100%}.toolbar-group .btn{flex:1}.payment-entry,.payment-history-item{grid-template-columns:1fr}.payment-entry .wide,.payment-entry button,.payment-history-item .wide,.payment-history-item .actions{grid-column:auto}.calculation-subtotal{justify-content:flex-start}.quote-group{margin:10px}.modal-f{flex-wrap:wrap}.modal-f .btn{flex:1}.budget-quote-choice{grid-template-columns:auto minmax(0,1fr);padding:14px}.budget-quote-total{grid-column:2;text-align:left}.budget-quote-detail{grid-template-columns:auto minmax(0,1fr);padding:12px 14px}.budget-detail-calc{grid-column:2}.budget-detail-price{grid-column:2;margin-top:4px}.budget-quote-actions{justify-content:stretch;padding:10px 14px}.budget-quote-actions .btn{flex:1 1 44%}.upload-split{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-modal{height:94vh}.viewer-toolbar{justify-content:center}.viewer-count{width:100%;text-align:center}}
@media(max-width:900px){.seating-layout{grid-template-columns:1fr}.seating-side{position:static}.room-shell{overflow:auto}.room-canvas{min-width:560px;width:100%;min-height:0}.room-scroll-note{display:block}}
@media(max-width:760px){.room-settings{grid-template-columns:1fr 1fr}.room-settings .room-scale-note,.room-settings button{grid-column:1/-1}.room-settings button{width:100%}}
@media(max-width:700px){.seat-person{width:23px;height:23px;border-width:1.5px}.seat-avatar{font-size:8px}}
@media(max-width:340px){.metrics{grid-template-columns:1fr}}
@media(max-width:460px){body{font-size:13px}.section-h h2{font-size:14.5px}.eyebrow{font-size:9.5px}.hero{padding:18px}.card.pad{padding:14px}.metric{padding:14px}.badge{font-size:10px}.guest-family-title{font-size:13.5px}.prov-title{font-size:13.5px}.modal-b{padding:16px 15px}.modal-h{padding:15px 16px}.angle-row .btn{padding:5px 8px}.seat-pool-list{max-height:140px}.summary-row{grid-template-columns:1fr}.chart-body{grid-template-columns:1fr}.donut{width:120px;margin:0 auto}.gate{padding:12px}.gate-card{padding:24px 18px;border-radius:16px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric .mv{font-size:clamp(18px,5.6vw,23px)}.metric.accent{grid-column:1/-1}.room-shell{padding:7px}.floor-table{width:92px;min-height:78px;padding:8px 6px}.floor-table.round{width:88px;height:88px}.floor-table.oval{width:112px;height:74px}.floor-table-core strong{font-size:9.5px;-webkit-line-clamp:3}.floor-table-meta{font-size:9px;margin-top:2px}.seat-person{width:21px;height:21px}.seat-avatar{font-size:7.5px}}
@media(max-width:560px){.prov-head{align-items:flex-start;flex-wrap:wrap}.prov-toggle{flex-basis:100%}.prov-head>.flex{width:100%;justify-content:flex-end}.pricing-basis .field{min-width:100%}}@media(max-width:900px){.compare-duel-controls{grid-template-columns:1fr 1fr}.compare-duel-controls .field:first-child{grid-column:1/-1}.compare-swap{align-self:end}.compare-duel-grid{grid-template-columns:1fr}.provider-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.compare-duel-controls{grid-template-columns:1fr}.compare-duel-controls .field:first-child{grid-column:auto}.compare-swap{width:100%}.compare-duel-summary{grid-template-columns:1fr}.compare-duel-ratings{grid-template-columns:1fr}.provider-rating-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Expérience planificateur v46 : cockpit, mode Jour J et double vue du plan */
.organization-progress{padding:0;border:0;background:transparent;box-shadow:none}.planning-cockpit{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fffdf9,#fbf7f1);box-shadow:var(--shadow)}.readiness-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;border-right:1px solid var(--line)}.readiness-ring{--score:0;position:relative;width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--score)*1%),#eee6df 0)}.readiness-ring:after{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff}.readiness-ring strong,.readiness-ring span{position:relative;z-index:1}.readiness-ring strong{font-family:var(--font-display);font-size:31px;font-weight:500;line-height:1}.readiness-ring span{font-size:10px;color:var(--muted);margin-top:-24px}.readiness-copy{margin-top:10px}.readiness-copy strong{display:block;font-size:13px}.readiness-copy span{display:block;margin-top:3px;font-size:10.5px;color:var(--muted)}.planning-cockpit-main{min-width:0}.planning-cockpit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px}.planning-cockpit-head strong{font-family:var(--font-display);font-size:20px;font-weight:500}.planning-cockpit-head span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.planning-next{padding:11px 12px;border:1px solid #ead8cf;border-radius:12px;background:#fff8f5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:11px}.planning-next small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.planning-next strong{font-size:12.5px}.planning-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.planning-phase{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;color:var(--text)}.planning-phase:hover{border-color:var(--accent);background:var(--accent-bg)}.planning-phase-top{display:flex;justify-content:space-between;gap:7px;align-items:center;font-size:10.5px;font-weight:750}.planning-phase .progress-ring{height:5px;margin-top:7px}.planning-phase small{display:block;margin-top:6px;color:var(--muted);font-size:9.5px;line-height:1.25}
.seating-view-toggle{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff}.seating-view-toggle .btn{border:0;min-height:36px}.seating-view-toggle .btn.active{background:var(--accent-bg);color:var(--accent-d)}.seating-list-view{display:grid;gap:14px}.seating-list-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.seating-list-room{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.seating-list-room-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;background:#fbf8f3;border-bottom:1px solid var(--line)}.seating-list-room-head strong{font-family:var(--font-display);font-size:18px;font-weight:500}.seating-list-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px;padding:12px}.seating-list-table{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.seating-list-table-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.seating-list-table-head strong{font-size:13px}.seating-list-guests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.seating-list-guest{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:8px;background:#fbf7f4;font-size:10.5px;min-width:0}.seating-list-guest .seat-no{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:8px;font-weight:800;flex:0 0 auto}.seating-list-guest span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seating-unplaced{padding:12px;border:1px dashed var(--line2);border-radius:14px;background:#fff}.seating-unplaced-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.day-of-modal{max-width:920px}.day-of-toolbar{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:12px;align-items:end;margin-bottom:14px}.day-of-toolbar .field{margin:0}.day-of-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.day-of-list{display:grid;gap:9px}.day-of-card{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.day-of-card.current{border-color:var(--accent);box-shadow:0 0 0 3px rgba(158,42,43,.09);background:#fffaf8}.day-of-card.done{opacity:.65}.day-of-time{font-family:var(--font-display);font-size:20px;color:var(--accent);white-space:nowrap}.day-of-time small{display:block;font-family:var(--font-ui);font-size:9.5px;color:var(--muted);margin-top:3px}.day-of-title{font-weight:750;font-size:13.5px}.day-of-meta{display:flex;gap:6px 10px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:10.5px}.day-of-notes{margin-top:6px;font-size:10.5px;color:var(--muted);white-space:pre-wrap}.day-of-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:860px){.planning-cockpit{grid-template-columns:1fr}.readiness-panel{border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px}.planning-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.seating-list-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.day-of-card{grid-template-columns:76px minmax(0,1fr)}.day-of-actions{grid-column:2;justify-content:flex-start}.day-of-toolbar{grid-template-columns:1fr}.day-of-stats{justify-content:flex-start}}
@media(max-width:520px){.planning-next{grid-template-columns:1fr}.planning-next .btn{width:100%}.planning-phases{grid-template-columns:1fr 1fr}.seating-list-tables{grid-template-columns:1fr}.seating-list-guests{grid-template-columns:1fr}.day-of-card{grid-template-columns:1fr}.day-of-actions{grid-column:1}.day-of-time small{display:inline;margin-left:6px}}
@media print{body.print-day-of .app{display:none!important}body.print-day-of #dayOfOverlay.show{display:block!important;position:static!important;background:#fff!important;padding:0!important}body.print-day-of #dayOfOverlay .modal{display:block!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border:0!important;overflow:visible!important}body.print-day-of #dayOfOverlay .modal-f,body.print-day-of #dayOfOverlay .modal-h .icon{display:none!important}body.print-day-of #dayOfOverlay .modal-b{overflow:visible!important}}
@media print{#seatingListView:not([hidden]){display:block!important}.day-of-modal{max-width:none!important}.topbar,.nav,.mobile-nav,.scen-bar,.actions,.btn,.icon,.seat-pool,.room-scroll-note,.hint,.room-help,.toast,.overlay,.skip-link,.back-to-top{display:none!important}.app{display:block!important;padding:0!important;max-width:none!important}.page{display:none!important}.page.active{display:block!important;animation:none!important}.print-header{display:flex!important}.card,.metric{box-shadow:none!important;border-color:#d9c9be!important;break-inside:avoid}body{background:#fff}.room-shell{overflow:visible!important}.compare-matrix-wrap{overflow:visible!important}}.print-header{display:none;align-items:center;gap:12px;padding:0 0 14px;margin-bottom:18px;border-bottom:2px solid var(--accent)}.print-header .brand-mark{box-shadow:none}.print-header .print-title{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--ink)}.print-header .print-meta{margin-left:auto;font-size:11px;color:var(--muted);text-align:right}

/* Identité mariage sobre — finition cérémonie */
/* Association typographique : Lora + Montserrat */
body,button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,.brand-wedding,.logo-word,.metric .mv,.hero h2,.countdown strong,.floor-table-core strong,.print-title{font-synthesis:none}
.eyebrow,.brand-name,.logo-baseline,th{font-family:var(--font-ui);font-weight:650}
h1,h2,h3,.modal h3,.print-title{font-family:var(--font-display)}
.modal h3{font-weight:400;letter-spacing:-.08px}
.card{background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(255,253,249,.94));border-color:var(--line)}
.card.pad{padding:22px}
.btn{border-radius:10px;font-weight:650;box-shadow:none}
.btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px rgba(84,32,42,.10)}
.btn.primary:hover{background:var(--accent-d);border-color:var(--accent-d);box-shadow:0 6px 16px rgba(84,32,42,.14)}
.btn.ghost:hover,button.icon:hover{background:#f4eee7}
input,select,textarea{border-radius:10px;background:#fffefa;border-color:var(--line2)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(116,43,53,.09)}
th{letter-spacing:.75px;font-size:10.8px;color:#87786f}
tbody tr:hover{background:#fcf8f3}
.badge{font-weight:700;letter-spacing:.01em}
.prov-title,.budget-quote-title,.task-title,.guest-name-line strong{letter-spacing:-.08px}
.progress-ring{background:#eee7df}.progress-ring>span{background:linear-gradient(90deg,var(--accent),#9a7746)}
.room-shell{background:linear-gradient(145deg,#eee8df,#f8f4ee);border-color:#ded3c7}
.room-canvas{border-color:#cdbca9;background-color:#fffefa;background-image:linear-gradient(rgba(154,119,70,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(154,119,70,.065) 1px,transparent 1px)}
.room-canvas:before{color:#9b8a7f;font-family:var(--font-ui);font-weight:750;letter-spacing:1.85px}
.floor-table{border-color:#c9ad83;background:#fffdf9;box-shadow:0 6px 16px rgba(84,64,49,.09)}
.floor-table.selected{border-color:var(--accent);background:#fffefa;box-shadow:0 0 0 3px rgba(116,43,53,.10),0 8px 18px rgba(84,32,42,.10)}
.floor-table.dropping{background:#fbf1f1;box-shadow:0 0 0 4px rgba(116,43,53,.11)}
.floor-table-core strong{font-family:var(--font-display);font-size:14px;font-weight:400;letter-spacing:0}
.seat-person{background:var(--accent);border-color:#fffdf9;box-shadow:0 2px 6px rgba(84,32,42,.22)}
.seat-person:hover,.seat-person:focus-visible{box-shadow:0 0 0 3px rgba(116,43,53,.13),0 4px 10px rgba(84,32,42,.22)}
.table-guest,.household-master-control{background:#fbf7f1}
.seat-order-help{background:#f8efef;border:1px solid #eddcdf}
.logo-lockup:after{content:'';width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-l),transparent);margin-top:2px}
.auth-card:before,.gate-card:before{content:'';display:block;width:38px;height:1px;background:var(--gold-l);margin:0 auto 20px}
.gate-card{background:#fffdf9;border:1px solid var(--line);box-shadow:0 18px 54px rgba(67,52,43,.11);border-radius:18px}
.gate-card h2{font-family:var(--font-display);font-size:27px;font-weight:500;letter-spacing:-.12px;color:var(--ink)}
@media(max-width:700px){
  .brand h1{flex-basis:100%;width:100%}
  .brand-wedding{font-size:21px;line-height:1.08}
  .logo-word{font-size:30px}
  .section-h h2{font-size:19px}
}
@media(max-width:460px){
  .section-h h2{font-size:18px}
  .hero h2{font-size:clamp(26px,8.5vw,30px)}
  .gate-card h2{font-size:24px}
}

/* ===== LOGEMENTS ===== */
.lodging-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}.lodging-pool-card{position:sticky;top:126px}.lodging-main{min-width:0}.lodging-toolbar{margin-top:0}.lodging-list{display:flex;flex-direction:column;gap:12px}.lodging-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.lodging-card.over{border-color:var(--red)}.lodging-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fff,#fcf9f5)}.lodging-card-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lodging-card-title h3{font-family:var(--font-display);font-size:19px;font-weight:500}.lodging-card-meta{font-size:11.5px;color:var(--muted);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap}.lodging-card-actions{display:flex;gap:4px}.lodging-card-body{padding:14px 18px 17px}.lodging-contact{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-bottom:12px}.lodging-contact a{color:var(--accent);text-decoration:none}.lodging-capacity{display:flex;align-items:center;gap:9px;margin:10px 0 13px}.lodging-capacity .progress-ring{flex:1}.lodging-capacity strong{font-size:12px;white-space:nowrap}.lodging-room-list{display:flex;flex-direction:column;gap:8px}.lodging-room{border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:#fdfbf8}.lodging-room-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.lodging-room-head strong{font-size:12.5px}.lodging-room-head span{font-size:11px;color:var(--muted);text-align:right}.lodging-assigned-list{display:flex;flex-direction:column;gap:6px;margin-top:9px}.lodging-assigned{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:8px 9px;border-radius:9px;background:#fff;border:1px solid var(--line)}.lodging-assigned-name strong{display:block;font-size:12px}.lodging-assigned-name span{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}.lodging-status-select{min-height:34px;width:auto;padding:5px 28px 5px 9px;font-size:10.5px;border-radius:999px}.lodging-status-select.status-planned{background-color:var(--amber-bg);color:var(--amber);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2395610d' stroke-width='1.6' stroke-linecap='round'/></svg>")}.lodging-status-select.status-booked{background-color:var(--blue-bg);color:var(--blue);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23456d8f' stroke-width='1.6' stroke-linecap='round'/></svg>")}.lodging-status-select.status-paid{background-color:var(--green-bg);color:var(--green);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2328785d' stroke-width='1.6' stroke-linecap='round'/></svg>")}.lodging-guest-pool{display:flex;flex-direction:column;gap:7px;max-height:55vh;overflow:auto}.lodging-pool-row{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.lodging-pool-row strong{display:block;font-size:12px}.lodging-pool-row small{display:block;color:var(--muted);font-size:10.5px;margin:2px 0 7px}.lodging-pool-row select{min-height:36px;font-size:12px}.lodging-add-need{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.lodging-add-need .flex select{flex:1;min-width:0}.lodging-room-editor{display:flex;flex-direction:column;gap:8px;margin-top:12px}.lodging-room-edit-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(90px,.7fr) minmax(120px,.9fr) auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.lodging-room-edit-row .field{margin-bottom:0}.lodging-empty{padding:24px;text-align:center;color:var(--muted)}.lodging-over{color:var(--red)!important}.lodging-good{color:var(--green)!important}.lodging-need-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;padding:3px 7px;border-radius:999px;background:var(--blue-bg);color:var(--blue);margin-left:5px}.guest-lodging-section{margin-top:14px}.lodging-dates{white-space:nowrap}.lodging-note{font-size:10.5px;color:var(--muted);margin-top:9px}.lodging-card-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.lodging-summary-link{cursor:pointer}.lodging-summary-link:hover{border-color:var(--accent)}
.lodging-import{border:1px solid var(--line);background:linear-gradient(145deg,#fffdf9,#fbf7f1);border-radius:14px;padding:13px 14px;margin-bottom:14px}.lodging-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.lodging-import .field{margin-bottom:0}.lodging-import-status{min-height:18px;margin-top:7px;font-size:10.8px;color:var(--muted)}.lodging-import-status.success{color:var(--green)}.lodging-import-status.error{color:var(--red)}.lodging-import-status.loading{color:var(--amber)}
.lodging-photo-editor{margin:14px 0}.lodging-photo-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}.lodging-photo-editor-head strong{font-size:12.5px}.lodging-photo-editor-head span{font-size:10.5px;color:var(--muted)}.lodging-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:9px}.lodging-photo-tile{min-width:0}.lodging-photo-thumb{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f2f3f5;cursor:pointer;padding:0}.lodging-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lodging-photo-thumb:hover{border-color:var(--accent)}.lodging-photo-tile .btn{width:100%;margin-top:5px}.lodging-photo-empty{padding:12px;border:1px dashed var(--line2);border-radius:10px;color:var(--muted);font-size:11px;text-align:center}.lodging-card-photos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;margin-bottom:13px;height:150px}.lodging-card-photos button{border:0;padding:0;overflow:hidden;background:#f2f3f5;cursor:pointer;position:relative}.lodging-card-photos button:first-child{border-radius:12px 0 0 12px}.lodging-card-photos button:last-child{border-radius:0 12px 12px 0}.lodging-card-photos img{width:100%;height:100%;object-fit:cover;display:block}.lodging-card-photos .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(32,25,22,.5);color:#fff;font-weight:750;font-size:13px}.lodging-photo-upload{position:relative;overflow:hidden}.lodging-photo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
@media(max-width:900px){.lodging-layout{grid-template-columns:1fr}.lodging-pool-card{position:static}.lodging-guest-pool{max-height:340px}.lodging-room-edit-row{grid-template-columns:1fr 1fr}.lodging-room-edit-row .icon{align-self:end}.lodging-assigned{grid-template-columns:minmax(0,1fr) auto auto}.lodging-assigned>.lodging-status-select{grid-column:1;justify-self:start}.lodging-assigned>.icon{grid-row:1}}
@media(max-width:560px){.lodging-import-row{grid-template-columns:1fr}.lodging-card-photos{height:120px;grid-template-columns:1.5fr 1fr}.lodging-import-row .btn{width:100%}.lodging-card-head{grid-template-columns:1fr}.lodging-card-actions{justify-content:flex-start}.lodging-room-edit-row{grid-template-columns:1fr}.lodging-assigned{grid-template-columns:1fr}.lodging-assigned>.lodging-status-select,.lodging-assigned>.icon{grid-column:auto;grid-row:auto;justify-self:start}.lodging-card-body{padding:13px}.lodging-card-head{padding:14px}}
.lodging-source-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fbf8f4;margin:0 0 13px;cursor:pointer;transition:border-color .18s,background .18s}.lodging-source-preview:hover{border-color:var(--accent);background:#fff}.lodging-source-preview-main{min-width:0}.lodging-source-domain{font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--accent-d);margin-bottom:3px}.lodging-source-title{font-size:12.5px;font-weight:750;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lodging-source-meta{font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lodging-source-preview .btn{pointer-events:none;min-height:34px}.lodging-import-preview{margin-top:10px}.lodging-link-preview-modal{max-width:760px}.lodging-link-hero{width:100%;aspect-ratio:16/8;border-radius:14px;overflow:hidden;background:#f2f3f5;margin-bottom:16px}.lodging-link-hero img{width:100%;height:100%;object-fit:cover;display:block}.lodging-link-placeholder{height:100%;display:grid;place-items:center;color:var(--faint)}.lodging-link-placeholder .ico{width:42px;height:42px}.lodging-link-preview-content h4{font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.15;margin-bottom:6px}.lodging-link-preview-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.lodging-link-preview-meta span{font-size:11px;padding:4px 8px;border-radius:999px;background:#f2f3f5;color:var(--muted)}.lodging-link-preview-description{font-size:12.5px;color:var(--muted);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.lodging-link-preview-address{font-size:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:560px){.lodging-source-preview{grid-template-columns:1fr}.lodging-source-preview .btn{width:100%}.lodging-link-preview-content h4{font-size:21px}}

@media print{.back-to-top{display:none!important}}
/* ===== v39 · audit UX, vue globale salles, déplacement direct, médiathèque ===== */
.program-main{min-width:0;display:grid;gap:6px}
.program-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start!important;min-width:0}
.program-title-text{min-width:0;line-height:1.25;overflow-wrap:anywhere}
.program-title-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start}
.program-meta{margin-top:0!important}
.seat-person.picked{z-index:12;box-shadow:0 0 0 4px rgba(158,42,43,.28),0 5px 14px rgba(110,45,42,.34)}
.seat-person.picked:after{content:'✓';position:absolute;right:-5px;top:-7px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:9px;font-weight:900;border:1px solid var(--accent)}
.guest-chip{border-radius:15px!important;align-items:flex-start!important;min-height:43px!important;padding:7px 10px 7px 6px!important}
.guest-chip>span{min-width:0;display:block}
.guest-chip .chip-main{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guest-chip .chip-meta{display:block;margin-top:2px;font-size:10px;line-height:1.25;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guest-chip.picked .chip-meta{color:rgba(255,255,255,.84)}
.seating-selection-note{display:none;margin:0 0 12px;padding:10px 12px;border:1px solid #dfc0bb;background:var(--accent-bg);border-radius:12px;color:var(--accent-d);font-size:12px;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.seating-selection-note.show{display:flex}
.room-overview-wrap{margin:0 0 14px}.room-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:9px}.room-overview-head strong{font-family:var(--font-display);font-size:18px;font-weight:500}.room-overview-head span{font-size:11.5px;color:var(--muted)}
.room-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.room-overview-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;min-width:0}.room-overview-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.room-overview-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.room-overview-card-head strong{font-size:12.5px}.room-overview-card-head small{display:block;margin-top:2px;font-size:10px;color:var(--muted)}.room-mini-canvas{position:relative;width:100%;aspect-ratio:1.55/1;border:1px solid var(--line2);border-radius:10px;background-color:#fffdfa;background-image:linear-gradient(rgba(91,35,77,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,35,77,.055) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.room-mini-table{position:absolute;transform:translate(-50%,-50%) rotate(var(--mini-angle,0deg));border:1.5px solid #cda9c3;background:#fffafc;color:var(--text);padding:2px 3px;display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden;z-index:2}.room-mini-table.round,.room-mini-table.oval{border-radius:50%}.room-mini-table.rect{border-radius:5px}.room-mini-table:hover,.room-mini-table.picked-target{border-color:var(--accent);background:var(--accent-bg)}.room-mini-table span{font-size:7.5px;line-height:1.05;font-weight:750;transform:rotate(var(--mini-angle-neg,0deg));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.room-mini-fixture{position:absolute;transform:translate(-50%,-50%) rotate(var(--mini-angle,0deg));border:1px dashed #b9a78f;background:#f8f1e6;border-radius:4px;display:grid;place-items:center;overflow:hidden;color:var(--muted);z-index:1}.room-mini-fixture span{font-size:7px;transform:rotate(var(--mini-angle-neg,0deg))}.room-overview-foot{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:10.5px;color:var(--muted)}

@media(max-width:800px){.program-title{grid-template-columns:1fr}.program-title-badges{justify-content:flex-start}}
@media(max-width:520px){.room-overview-grid{grid-template-columns:1fr}}

/* v47 — interface de planification sobre, centrée sur les usages */
:root{--bg:#f5f6f7;--panel:#fff;--panel-strong:#fff;--line:#e3e6e8;--line2:#cfd4d8;--text:#202428;--muted:#667078;--faint:#8a9399;--accent:#6f2631;--accent-d:#541c25;--accent-bg:#f8eef0;--green:#246b4f;--green-bg:#eaf5f0;--red:#b93632;--red-bg:#faecea;--amber:#8b6215;--amber-bg:#fbf3df;--blue:#356980;--blue-bg:#edf4f7;--font-display:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--radius:10px;--shadow:0 1px 2px rgba(24,28,31,.05)}
body{background:var(--bg);font-size:14px;line-height:1.48;letter-spacing:0}
.app{max-width:1380px;padding:0 24px 72px}.topbar{background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line);padding-top:12px}.brand{margin-bottom:10px}.brand h1{font-family:var(--font-ui);font-size:18px}.brand-mark{width:32px;height:32px;border-radius:8px;background:var(--accent);border:0;box-shadow:none}.brand-mark .ico{width:19px;height:19px}.brand-name{font-size:9px;letter-spacing:1px;color:var(--muted)}.brand-name em{color:inherit}.brand-wedding{font-family:var(--font-ui);font-size:18px;font-weight:700;line-height:1.15}.logo-word{font-family:var(--font-ui);font-weight:750}.logo-baseline{letter-spacing:1.5px}.card,.metric{box-shadow:var(--shadow)}.card.pad{padding:16px}.btn{border-radius:8px;box-shadow:none;min-height:40px;padding:8px 12px;font-weight:650}.btn:hover{box-shadow:none;background:#fafafa}.btn.primary:hover{background:var(--accent-d)}input,select,textarea{border-radius:8px;min-height:40px}.section{margin-top:18px}.section-h{margin-bottom:10px}.section-h h2,.modal-h h3{font-family:var(--font-ui);font-size:18px;font-weight:750;letter-spacing:0}.section-h .sub{font-size:12px}.page{animation:none}.page-head{margin-top:20px!important;padding-bottom:10px;border-bottom:1px solid var(--line);align-items:flex-end}.page-kicker{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.page-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
/* navigation regroupée */
.nav{display:flex;align-items:flex-end;gap:18px;overflow-x:auto;padding:0 0 0;scrollbar-width:none}.nav-group{display:grid;gap:1px;flex:0 0 auto}.nav-group-label{font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:0 8px}.nav-group-buttons{display:flex}.nav button{padding:7px 8px 9px;min-height:36px;font-size:12px;border-bottom:2px solid transparent}.nav button:hover{background:transparent;color:var(--text)}.nav button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:750}.nav-group-system{margin-left:auto}.app-tools{gap:6px}.tool-undo{min-width:38px;padding:5px}.command-trigger kbd{font-size:9px;border:1px solid var(--line);border-radius:4px;padding:1px 4px;background:#f7f8f8}.sync{min-width:auto;margin-right:2px}
/* menus d’actions compacts */
.action-menu{position:relative}.action-menu>summary{list-style:none;cursor:pointer}.action-menu>summary::-webkit-details-marker{display:none}.action-menu[open]>summary{border-color:var(--accent)}.action-menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:65;min-width:210px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px rgba(20,24,27,.12);display:grid;gap:3px}.action-menu-pop .btn{justify-content:flex-start;width:100%;border-color:transparent;background:#fff}.action-menu-pop .btn:hover{background:#f5f6f7}.top-tools-menu .action-menu-pop{min-width:190px}
/* dashboard = cockpit de décision, sans graphiques décoratifs */
.dashboard-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 0 16px;border-bottom:1px solid var(--line)}.dashboard-headline h2{font-size:24px;font-weight:750}.dashboard-head-copy{margin-top:4px;color:var(--muted);font-size:12.5px;max-width:720px}.compact-countdown{text-align:right;min-width:170px}.compact-countdown strong{font-family:var(--font-ui);font-size:28px;font-weight:750;line-height:1}.compact-countdown span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.organization-progress{margin:14px 0}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.dashboard-kpi-card{display:grid;gap:4px;text-align:left;padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer}.dashboard-kpi-card:hover{border-color:var(--line2);background:#fcfcfc}.dashboard-kpi-label{font-size:11px;color:var(--muted);font-weight:650}.dashboard-kpi-card strong{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.dashboard-kpi-card small{font-size:10.5px;color:var(--muted);font-weight:500}.dashboard-kpi-track{height:5px;border-radius:99px;background:#eceff0;overflow:hidden;margin-top:4px}.dashboard-kpi-track i{display:block;height:100%;max-width:100%;background:var(--accent)}.dashboard-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-work-card{min-height:220px}.dashboard-work-card .section-h h2{font-size:15px}.dashboard-work-card table{font-size:11.5px}.dashboard-work-card th,.dashboard-work-card td{padding:8px 9px}.dashboard-analysis-head,.summary-charts{display:none!important}
/* tâches, invités, prestataires : plus denses */
.task-item{border-radius:8px;padding:10px 12px}.guest-family{border-radius:10px}.guest-item{padding:10px 12px}.prov{border-radius:10px}.prov-head{padding:13px 14px}.quote-group{border-radius:9px}.summary-pill{border-radius:9px;padding:12px 14px}.summary-pill .v{font-size:21px}.filter-chip{border-radius:7px;min-height:34px;padding:6px 10px}.toolbar{margin:12px 0}.hint,.room-help,.program-summary-note{border-radius:8px}.program-item{border-radius:9px}.program-time{font-family:var(--font-ui);font-weight:750}.program-title{font-weight:700}.compare-matrix-wrap{border-radius:9px}.compare-duel-controls{position:relative;z-index:4}
/* table planner : l’outil reste visuel, les contrôles sont secondaires */
.room-overview-wrap,.room-switcher,.room-settings{border-radius:9px}.room-shell{border-radius:10px;padding:10px;background:#eef0f1}.room-canvas{border-radius:8px}.floor-table{box-shadow:0 2px 8px rgba(35,39,42,.12)}.fixture-suggestions{padding:8px 0}.fixture-suggestions>span{font-weight:650}.seating-inspector{margin-top:10px}.table-guest{border-radius:8px}
/* responsive */
@media(max-width:1050px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{gap:12px}.nav-group-label{display:none}.nav-group-system{margin-left:0}}
@media(max-width:820px){.topbar{padding-top:9px}.brand{align-items:center}.brand .actions{width:auto}.app-tools .sync{display:none}.top-tools-menu{display:none}.nav{margin:0 -12px;padding:0 12px;gap:4px}.nav-group{display:flex}.nav-group-buttons{gap:0}.nav button{font-size:11.5px;padding:7px 8px}.dashboard-headline{align-items:flex-start}.dashboard-work-grid{grid-template-columns:1fr}.dashboard-work-card{min-height:0}.page-head{align-items:flex-start}.page-actions{width:100%;justify-content:flex-start}}
@media(max-width:560px){.dashboard-headline{display:grid;gap:10px}.compact-countdown{text-align:left;min-width:0}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-kpi-card{padding:12px}.dashboard-kpi-card strong{font-size:19px}.page-actions>.btn,.page-actions>.action-menu{flex:1 1 auto}.page-actions>.action-menu>summary{width:100%}.action-menu-pop{left:0;right:auto;min-width:min(280px,calc(100vw - 30px))}.brand-wedding{font-size:16px}.command-trigger{font-size:0}.command-trigger .ico{font-size:14px}.command-trigger kbd{display:none}}


/* v48 — direction graphique : mariage éditorial + outil de planification clair */
:root{
  --bg:#f8f5f1;--panel:#ffffff;--panel-strong:#ffffff;--line:#e8e1da;--line2:#d8cec5;
  --text:#272321;--muted:#6f6761;--faint:#978b82;
  --accent:#7a3340;--accent-d:#5d2631;--accent-bg:#f7edef;
  --green:#2f7158;--green-bg:#eaf4ef;--red:#b84039;--red-bg:#faece9;
  --amber:#8a641f;--amber-bg:#faf1de;--blue:#3e6f84;--blue-bg:#edf4f7;
  --gold:#a68455;--gold-l:#c4a26e;--ink:#272321;
  --font-display:Georgia,'Times New Roman',serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --radius:14px;--shadow:0 1px 2px rgba(52,42,35,.04),0 8px 24px rgba(52,42,35,.045);
}
body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
.app{max-width:1360px;padding:0 28px 78px}
.topbar{margin:0 -28px;padding:13px 28px 0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(65,49,39,.02)}
.brand{margin-bottom:11px}.brand h1{font-size:18px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--accent);box-shadow:none}.brand-mark .ico{width:21px;height:21px}.brand-name{font-size:9px;letter-spacing:1.25px;color:var(--accent)}.brand-wedding{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.15px;color:var(--text)}
.sync{font-size:11px}.command-trigger{background:#fbfaf8}.command-trigger:hover{background:#fff}
.nav{gap:14px;padding-bottom:9px}.nav-group{gap:3px}.nav-group-label{padding:0 8px;font-size:8.5px;letter-spacing:.1em;color:var(--faint)}.nav-group-buttons{gap:3px}.nav button{min-height:34px;padding:7px 10px;border:0;border-radius:9px;font-size:11.8px;color:var(--muted)}.nav button:hover{background:#f7f3ef;color:var(--text)}.nav button.active{background:var(--accent-bg);color:var(--accent-d);border:0;font-weight:750}
.btn{min-height:40px;border-radius:10px;border-color:var(--line2);background:#fff;font-weight:650;box-shadow:0 1px 1px rgba(49,39,33,.02)}.btn:hover{background:#fff;border-color:#cdbfb4;box-shadow:0 2px 6px rgba(49,39,33,.05)}.btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:none}.btn.primary:hover{background:var(--accent-d);border-color:var(--accent-d)}.btn.ghost{background:transparent}.btn.danger{background:transparent}.btn.sm{min-height:36px}
input,select,textarea{min-height:40px;border-radius:10px;border-color:var(--line2);background:#fff;color:var(--text);box-shadow:inset 0 1px 0 rgba(50,40,34,.015)}input:hover,select:hover,textarea:hover{border-color:#cbbdb2}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,51,64,.10)}.fl{font-size:11.5px;color:#514a45;font-weight:700}
.card,.metric,.organization-step,.summary-pill{border-color:var(--line);background:#fff;box-shadow:var(--shadow)}.card{border-radius:14px}.card.pad{padding:18px}.summary-pill{border-radius:12px}.badge{border-radius:999px;font-weight:700}
.section{margin-top:22px}.section-h{margin-bottom:12px}.section-h h2,.modal-h h3{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.18px}.section-h .sub{font-size:12px;color:var(--muted)}
.page-head{margin-top:26px!important;padding-bottom:13px;border-bottom:0;align-items:flex-end}.page-head h2{font-size:27px}.page-kicker{font-size:9px;letter-spacing:.11em;color:var(--accent);font-weight:800}.page-actions{gap:7px}
.dashboard-headline{margin-top:20px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#fff;align-items:center;box-shadow:var(--shadow)}.dashboard-headline h2{font-family:var(--font-display);font-size:29px;font-weight:600;letter-spacing:-.3px}.dashboard-head-copy{font-size:12.5px;line-height:1.55}.compact-countdown{min-width:190px;padding:12px 14px;border-left:1px solid var(--line);text-align:right}.compact-countdown strong{font-family:var(--font-display);font-size:31px;font-weight:600;color:var(--accent-d)}.compact-countdown span{font-size:10.5px}
.planning-cockpit{border-radius:16px;background:#fff;border-color:var(--line);box-shadow:var(--shadow);padding:18px}.readiness-panel{border-right-color:var(--line)}.readiness-ring{background:conic-gradient(var(--accent) calc(var(--score)*1%),#eee7e1 0)}.readiness-ring:after{background:#fff}.planning-cockpit-head strong{font-family:var(--font-display);font-size:21px;font-weight:600}.planning-next{border-color:#ead9dc;background:#fbf4f5;border-radius:11px}.planning-phase{border-radius:10px}.planning-phase:hover{background:#fbf7f8}
.dashboard-kpis{gap:12px;margin-top:14px}.dashboard-kpi-card{padding:15px 16px;border-radius:13px;border-color:var(--line);box-shadow:var(--shadow);transition:transform .15s,border-color .15s,box-shadow .15s}.dashboard-kpi-card:hover{background:#fff;border-color:#d9cbc1;transform:translateY(-1px);box-shadow:0 8px 20px rgba(52,42,35,.06)}.dashboard-kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.045em}.dashboard-kpi-card strong{font-family:var(--font-display);font-size:25px;font-weight:600}.dashboard-kpi-track{height:4px;background:#eee9e5}.dashboard-kpi-track i{background:var(--accent)}.dashboard-work-grid{gap:14px}.dashboard-work-card{border-radius:14px}.dashboard-work-card .section-h h2{font-family:var(--font-ui);font-size:14px;font-weight:750}
.onboarding{border-radius:13px;background:#fff;border-color:var(--line);box-shadow:var(--shadow)}.dashboard-attention{gap:10px}.attention-item{border-radius:12px;border-color:var(--line);box-shadow:none}.attention-item:hover{background:#fff;border-color:#d5c7bd}
table{background:#fff}th{padding:10px 12px;background:#faf8f6;color:#786e67;font-size:10px;letter-spacing:.065em;border-bottom-color:var(--line)}td{padding:11px 12px;border-bottom-color:#eee9e5;font-size:13px}tbody tr:hover td{background:#fcfbfa}
.task-item,.guest-family,.prov,.quote-group,.seating-list-room,.seating-list-table{border-color:var(--line);box-shadow:none}.task-item:hover,.guest-family:hover,.prov:hover{border-color:#d8cbc1}.guest-family,.prov,.quote-group,.seating-list-room{border-radius:13px}.guest-item{background:#fff}.prov-head,.quote-group-head,.seating-list-room-head{background:#faf8f6}.filter-chip{border-radius:999px;background:#fff}.filter-chip.active{background:var(--accent-bg);border-color:#e5cfd4;color:var(--accent-d)}
.program-item{border-radius:12px;border-color:var(--line);box-shadow:none;padding:14px 15px}.program-item:hover{border-color:#d9cbc1}.program-item:before{width:3px}.program-time{color:var(--accent);font-weight:750}.program-title{font-size:14px}.program-actions{gap:4px}
.compare-duel-controls{border-radius:14px}.compare-duel-side,.compare-empty-side{border-radius:13px}.compare-duel-side{box-shadow:none}.compare-duel-price{font-family:var(--font-display);font-weight:600}.compare-matrix-wrap{border-radius:12px}.compare-matrix th{background:#faf8f6}.compare-matrix th:first-child{background:#faf8f6}
.room-overview-wrap,.room-switcher,.room-settings{border-radius:12px}.room-shell{border-radius:14px;padding:11px;background:#f1eeeb;border-color:#dfd6ce}.room-canvas{border-radius:10px;border-color:#d7cec7;background-color:#fffdfb;background-image:linear-gradient(rgba(89,68,58,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(89,68,58,.055) 1px,transparent 1px)}.floor-table{border-color:#bea37e;background:#fffdf9;box-shadow:0 3px 10px rgba(66,49,38,.10)}.floor-table.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,51,64,.12),0 4px 12px rgba(66,49,38,.10)}.seat-person{box-shadow:0 2px 5px rgba(75,46,42,.2)}.seating-inspector{border-radius:13px}.table-guest{background:#faf8f6;border:1px solid #eee8e3}.guest-chip{border-color:var(--line2)}.room-overview-card{border-radius:12px;border-color:var(--line)}
.modal{border-radius:16px;border-color:var(--line);box-shadow:0 24px 70px rgba(39,28,24,.18)}.modal-h{background:#fff;border-bottom-color:var(--line)}.modal-f{background:#faf8f6;border-top-color:var(--line)}.overlay{background:rgba(33,26,23,.42)}
.gate{background:var(--bg)}.gate-card{border-radius:18px;border-color:var(--line);background:#fff;box-shadow:0 18px 55px rgba(48,36,30,.10)}.logo-lockup .brand-mark{border-radius:14px}.logo-word{font-family:var(--font-display);font-weight:600}.gate-card h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.2px}.auth-choice{border-radius:12px}
.action-menu-pop{border-radius:12px;border-color:var(--line);box-shadow:0 14px 40px rgba(39,28,24,.12)}.toast{border-radius:11px;background:#2d2926}
.mobile-nav{background:rgba(255,255,255,.98);border-color:var(--line);box-shadow:0 -8px 24px rgba(46,35,30,.07)}.mobile-nav button.active{background:var(--accent-bg);color:var(--accent-d)}
@media(max-width:1050px){.nav{gap:7px}.nav button{padding:7px 8px}.page-head h2{font-size:25px}}
@media(max-width:820px){.app{padding-left:16px;padding-right:16px}.topbar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.dashboard-headline{margin-top:16px;padding:17px 18px}.dashboard-headline h2{font-size:26px}.compact-countdown{min-width:150px}.planning-cockpit{grid-template-columns:170px minmax(0,1fr)}.page-head{margin-top:20px!important}}
@media(max-width:700px){.mobile-nav{left:0;right:0;bottom:0;height:68px;border-radius:0;border-width:1px 0 0;padding:6px 8px max(6px,env(safe-area-inset-bottom));box-shadow:0 -7px 22px rgba(46,35,30,.08)}.mobile-nav button{border-radius:10px}.app{padding-bottom:92px!important}.back-to-top{bottom:calc(78px + env(safe-area-inset-bottom))}.dashboard-headline{display:grid;gap:12px}.compact-countdown{padding:10px 0 0;border-left:0;border-top:1px solid var(--line);text-align:left}.planning-cockpit{grid-template-columns:1fr}.readiness-panel{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}.planning-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}.page-actions{width:100%;justify-content:flex-start}}
@media(max-width:460px){.app{padding-left:12px;padding-right:12px}.topbar{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.brand-mark{width:34px;height:34px}.brand-wedding{font-size:18px}.dashboard-headline{padding:15px}.dashboard-headline h2{font-size:24px}.dashboard-kpi-card{padding:12px}.dashboard-kpi-card strong{font-size:22px}.page-head h2{font-size:23px}.page-actions>.btn,.page-actions>.action-menu{flex:1 1 auto}.card.pad{padding:15px}}


/* ===== v49 — application shell sobre, inspirée des usages planner ===== */
.resource-link-editor{display:grid;gap:9px;margin-top:8px}.resource-link-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) 44px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.resource-link-row .field{margin:0}.resource-link-row .icon{align-self:end}.resource-link-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.resource-link-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--accent);font-size:11.5px;font-weight:650;text-decoration:none}.resource-link-chip:hover{border-color:var(--accent);background:var(--accent-bg)}.resource-link-chip small{color:var(--muted);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-help{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.45}
@media(min-width:901px){
 body{background:#f6f4f1}
 .app{max-width:none;margin:0;padding:0 32px 72px 292px;min-height:100vh}
 .topbar{position:fixed;inset:0 auto 0 0;width:260px;margin:0;padding:22px 16px 18px;background:#fff;border-right:1px solid var(--line);border-bottom:0;backdrop-filter:none;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}
 .brand{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin:0}.brand h1{flex:none;align-items:center;padding:0 8px}.brand-wedding{font-size:18px}.brand-mark{width:38px;height:38px;border-radius:11px;box-shadow:none;background:var(--accent);border:0}.brand-mark .ico{width:21px;height:21px}.brand .actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.brand .actions .sync{grid-column:1/-1;padding:8px 10px;border-radius:10px;background:#f8f6f3;min-width:0}.brand .actions .command-trigger{grid-column:1/-1;justify-content:flex-start}.brand .actions .top-tools-menu{grid-column:1/-1}.brand .actions .top-tools-menu>summary{width:100%}.tool-undo{width:100%}
 .nav{margin-top:18px;display:flex;flex-direction:column;gap:15px;overflow:visible}.nav-group{display:grid;gap:5px}.nav-group-label{padding:0 10px;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}.nav-group-buttons{display:grid;gap:3px}.nav button{width:100%;justify-content:flex-start;gap:10px;min-height:40px;padding:9px 10px;border:0;border-radius:10px;color:#5f5752;font-size:12.5px;font-weight:650}.nav button .ico{width:17px;height:17px}.nav button:hover{background:#f8f4f1;color:var(--accent)}.nav button.active{background:var(--accent-bg);color:var(--accent);border:0;box-shadow:inset 3px 0 0 var(--accent)}.nav-group-system{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
 .page{max-width:1320px;margin:0 auto;padding-top:30px}.page>.section-h:first-child,.dashboard-headline{position:sticky;top:0;z-index:20;background:rgba(246,244,241,.96);backdrop-filter:blur(10px);margin:-30px -10px 20px;padding:24px 10px 14px;border-bottom:1px solid rgba(231,222,211,.72)}
 .mobile-nav{display:none!important}.back-to-top{right:24px}
}
@media(max-width:900px){.resource-link-row{grid-template-columns:1fr}.resource-link-row .icon{justify-self:end}.topbar{backdrop-filter:blur(16px)}.app{padding-left:12px;padding-right:12px}.brand h1{flex-basis:auto}.nav{display:none}}
.card,.metric,.summary-pill,.quote-group,.compare-duel-card{box-shadow:none}.card{border-color:#e4ddd5}.section-h h2,.dashboard-headline h2{letter-spacing:-.025em}.toolbar{gap:8px}.toolbar-group{gap:7px}.btn.primary{box-shadow:none}.empty{padding:32px 20px}.room-shell{background:#eeeae5}.room-canvas{box-shadow:none}.seat-pool,.seating-inspector{border-radius:14px}.compare-duel-card{border-width:1px}.compare-duel-card.winner-price,.compare-duel-card.winner-score{box-shadow:inset 0 3px 0 var(--accent)}


/* ===== v50 — identité Canva + UI planner sans fioritures ===== */
:root{--bg:#f5f3f0;--panel:#fff;--panel-strong:#fff;--line:#e5e0da;--line2:#d5cec6;--text:#24211f;--muted:#6f6964;--faint:#928a84;--accent:#742b35;--accent-d:#5b2029;--accent-bg:#f7edef;--radius:12px;--shadow:none;--font-display:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
body{background:var(--bg);font-size:14px;line-height:1.5}
.brand-mark{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:12px!important;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.brand-name{font-size:10px;letter-spacing:.08em;color:var(--muted)!important}.brand-name em{color:inherit!important}.brand-wedding{font-family:var(--font-ui)!important;font-weight:750!important;letter-spacing:-.02em!important}.logo-lockup{gap:9px}.login-logo{display:block;width:min(320px,100%);height:auto;margin:0 auto}.logo-word{font-family:var(--font-ui)!important;font-weight:780!important;letter-spacing:-.04em}.logo-baseline{font-family:var(--font-ui);letter-spacing:.12em}.gate-card h2,.section-h h2,.dashboard-headline h2,.modal-h h3{font-family:var(--font-ui)!important;font-weight:760!important;letter-spacing:-.025em!important}
.card,.metric,.summary-pill,.quote-group,.compare-duel-card{background:#fff;border-color:var(--line);border-radius:12px;box-shadow:none!important}.card.pad{padding:18px}.btn{border-radius:9px}.btn.primary{font-weight:720}.page-kicker{color:var(--accent);font-weight:760;letter-spacing:.08em}.page-head{border-bottom:1px solid var(--line);padding-bottom:14px!important}.page-head h2{font-size:25px!important}.toolbar,.pricing-basis{border-radius:12px}.summary-pill{padding:14px 15px}.summary-pill .v{font-family:var(--font-ui);font-weight:760;font-size:23px}
.sidebar-event{display:none}.planning-cockpit{display:none!important}.planning-overview{margin-top:14px;display:grid;gap:14px}.planning-overview-top{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:18px;align-items:center}.planning-overview-top>div:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.planning-overview-label{font-size:11px;font-weight:720;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.planning-overview-top strong{font-size:24px}.planning-overview-top>div:first-child>span:last-child{font-size:11px;color:var(--muted)}.planning-overview-bar,.planning-phase-progress{height:6px;border-radius:99px;background:#ece8e4;overflow:hidden}.planning-overview-bar i,.planning-phase-progress i{display:block;height:100%;background:var(--accent);border-radius:99px}.planning-next-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);background:#faf8f6;border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--text)}.planning-next-row:hover{border-color:#cdbfc0;background:var(--accent-bg)}.planning-next-row small{display:block;color:var(--muted);font-size:10.5px;margin-bottom:2px}.planning-next-row strong{font-size:13px}.planning-next-arrow{font-size:22px;color:var(--accent)}.planning-phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.planning-phase-line{border:0;background:transparent;display:grid;grid-template-columns:auto minmax(38px,1fr) auto;gap:8px;align-items:center;padding:7px 2px;cursor:pointer;color:var(--text);font-size:11.5px}.planning-phase-line:hover span:first-child{color:var(--accent)}.planning-phase-line strong{font-size:11px}.planning-phase-progress{height:4px}
.dashboard-headline{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.dashboard-headline h2{font-size:28px!important}.compact-countdown{border-left:0!important;padding:0!important}.compact-countdown strong{font-family:var(--font-ui)!important;font-weight:780!important;font-size:29px!important;color:var(--text)!important}.dashboard-kpi-card{border-radius:10px!important;box-shadow:none!important}.dashboard-kpi-card:hover{transform:none!important;border-color:#cdbfc0!important}.dashboard-kpi-card strong{font-family:var(--font-ui)!important;font-weight:760!important}.dashboard-work-card{min-height:0}.dashboard-work-card .section-h h2{font-size:14px!important}.dashboard-attention{gap:8px}.attention-item{border-radius:10px;box-shadow:none}.attention-item .attention-icon{border-radius:8px}
table{border-collapse:separate;border-spacing:0}th{background:#faf9f7!important;color:#5f5954!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:.045em}tbody tr:hover td{background:#fcfbfa}.compare-duel-card{border-radius:12px}.compare-duel-card.winner-price,.compare-duel-card.winner-score{box-shadow:inset 0 3px 0 var(--accent)!important}
.room-shell{border-radius:12px;background:#ebe8e4!important}.room-canvas{border-radius:10px}.seating-layout{grid-template-columns:minmax(0,1fr) 320px!important;gap:14px}.seat-pool,.seating-inspector{border-radius:12px!important}.guest-chip{border-radius:10px!important}.table-guest{border-radius:10px!important}.floor-table{box-shadow:0 3px 10px rgba(62,45,50,.08)!important}.room-overview-card{border-radius:10px!important}
@media(min-width:901px){.app{padding-left:264px!important;padding-right:28px!important;max-width:none!important}.topbar{width:236px!important;padding:20px 14px 16px!important}.brand{gap:10px!important}.brand h1{padding:0 8px 8px!important}.brand-mark{width:40px!important;height:40px!important}.brand-wedding{font-size:16px!important}.sidebar-event{display:flex;flex-direction:column;gap:2px;margin:0 8px 4px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#faf8f6}.sidebar-event span{font-size:10.5px;color:var(--muted)}.sidebar-event strong{font-size:12px;font-weight:740}.brand .actions{grid-template-columns:1fr 1fr!important}.nav{margin-top:12px!important;gap:12px!important}.nav-group{gap:4px!important}.nav-group-label{font-size:9px!important;padding:0 9px!important}.nav button{min-height:38px!important;border-radius:8px!important;padding:8px 9px!important;font-size:12px!important}.nav button.active{box-shadow:none!important;background:var(--accent-bg)!important}.page{max-width:1440px!important;padding-top:24px!important}.page>.section-h:first-child,.dashboard-headline{position:sticky;top:0;margin:-24px -8px 18px!important;padding:19px 8px 12px!important;background:rgba(245,243,240,.97)!important}.back-to-top{right:20px!important}}
@media(max-width:900px){.planning-overview-top{grid-template-columns:1fr}.planning-phase-grid{grid-template-columns:1fr 1fr}.seating-layout{grid-template-columns:1fr!important}}
@media(max-width:560px){.planning-phase-grid{grid-template-columns:1fr}.planning-phase-line{grid-template-columns:88px minmax(0,1fr) 34px}.dashboard-kpis{grid-template-columns:1fr 1fr}.card.pad{padding:14px}.page-head h2{font-size:22px!important}}


/* ===== v51 — planner orienté décisions, contrôle et Jour J ===== */
:root{--focus-bg:#fff;--surface-soft:#f7f4f1;--surface-warm:#fbf7f3}
.dashboard-focus{margin:18px 0}.dashboard-focus-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-focus-head h2{font-size:18px;margin:0}.smart-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.smart-priority-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;text-align:left;color:var(--text);cursor:pointer;min-height:106px}.smart-priority-card:hover{border-color:var(--line2);background:#fdfbf9}.smart-priority-card .priority-rank{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-soft);font-weight:800;font-size:11px;color:var(--muted)}.smart-priority-card.warn .priority-rank{background:var(--amber-bg);color:var(--amber)}.smart-priority-card.danger .priority-rank{background:var(--red-bg);color:var(--red)}.smart-priority-card.good .priority-rank{background:var(--green-bg);color:var(--green)}.smart-priority-card strong{display:block;font-size:13px;line-height:1.25}.smart-priority-card small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.smart-priority-card b{display:inline-flex;margin-top:8px;color:var(--accent);font-size:11px}.quick-create-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 16px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.quick-create-strip>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:0 4px}.quick-create-strip button{border:0;background:var(--surface-soft);border-radius:8px;min-height:34px;padding:6px 10px;font-size:11.5px;font-weight:700;color:var(--text);cursor:pointer}.quick-create-strip button:hover{background:var(--accent-bg);color:var(--accent)}
.dashboard-attention{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:10px}.attention-item{min-height:58px;padding:9px 11px;box-shadow:none}.planning-overview{box-shadow:none!important}
.seating-quality{margin:10px 0 14px}.seating-quality-shell{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.seating-quality-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:9px}.seating-quality-head strong{font-size:13px}.seating-quality-head span{font-size:11px;color:var(--muted)}.seating-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}.seating-check{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:9px;background:var(--surface-soft);font-size:11px;line-height:1.35}.seating-check i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#fff}.seating-check.good{color:var(--green)}.seating-check.warn{background:var(--amber-bg);color:var(--amber)}.seating-check.danger{background:var(--red-bg);color:var(--red)}.seating-diet-summary{margin-top:9px;font-size:11px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.seating-diet-summary .badge{white-space:normal}
.provider-question-bank{margin:0 18px 12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-warm)}.provider-question-bank summary{cursor:pointer;font-size:12px;font-weight:750;color:var(--text)}.provider-question-bank ul{margin:8px 0 0;padding-left:18px;display:grid;gap:5px;font-size:11px;color:var(--muted)}
.day-binder-modal{max-width:1040px;height:min(92vh,900px);display:flex;flex-direction:column}.day-binder-body{overflow:auto;background:#f6f4f1}.binder-sheet{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.binder-hero{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--accent);padding-bottom:14px;margin-bottom:16px}.binder-hero h2{font-size:24px;margin:0}.binder-hero p{margin:4px 0 0;color:var(--muted)}.binder-date{text-align:right;font-size:12px}.binder-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.binder-section{border:1px solid var(--line);border-radius:11px;padding:13px;break-inside:avoid}.binder-section.wide{grid-column:1/-1}.binder-section h3{font-family:var(--font-ui);font-size:13px;margin:0 0 9px}.binder-list{display:grid;gap:7px}.binder-row{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr) auto;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:11px}.binder-row:last-child{border-bottom:0}.binder-row strong{font-size:11.5px}.binder-row small{color:var(--muted);display:block;margin-top:2px}.binder-pill-row{display:flex;gap:6px;flex-wrap:wrap}.binder-empty{color:var(--muted);font-size:11px}.binder-table{width:100%;font-size:10.5px}.binder-table th,.binder-table td{padding:6px 7px}.binder-note{padding:8px 10px;border-radius:9px;background:var(--surface-soft);font-size:10.5px;color:var(--muted);margin-top:8px}
.btn:focus-visible,.nav button:focus-visible,.smart-priority-card:focus-visible,.quick-create-strip button:focus-visible{outline:3px solid rgba(146,53,61,.22);outline-offset:2px}
@media(max-width:1050px){.smart-priority-grid{grid-template-columns:1fr 1fr}.smart-priority-card:last-child{grid-column:1/-1}.binder-grid{grid-template-columns:1fr}.binder-section.wide{grid-column:auto}}
@media(max-width:700px){.smart-priority-grid{grid-template-columns:1fr}.smart-priority-card:last-child{grid-column:auto}.dashboard-focus-head{align-items:flex-start;flex-direction:column}.quick-create-strip{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.quick-create-strip button{flex:0 0 auto}.binder-sheet{border:0;border-radius:0;padding:16px}.binder-hero{display:grid}.binder-date{text-align:left}.seating-checks{grid-template-columns:1fr}}
@media print{body.print-binder .app{display:none!important}body.print-binder .overlay{display:none!important}body.print-binder #dayBinderOverlay.show{display:block!important;position:static!important;background:#fff!important;padding:0!important}body.print-binder #dayBinderOverlay .day-binder-modal{display:block!important;max-width:none!important;height:auto!important;border:0!important;box-shadow:none!important}body.print-binder #dayBinderOverlay .modal-h,body.print-binder #dayBinderOverlay .modal-f{display:none!important}body.print-binder #dayBinderOverlay .modal-b{display:block!important;overflow:visible!important;padding:0!important;background:#fff!important}body.print-binder #dayBinderOverlay .binder-sheet{max-width:none!important;border:0!important;border-radius:0!important;padding:0!important}}

/* ===== v52 — navigation horizontale + identité intégrée + thème mariage ===== */
:root{
  --bg:#F7F3EF;--panel:#FFFDFB;--panel-strong:#FFFFFF;--line:#E5DCD5;--line2:#D2C5BC;
  --text:#2C2523;--muted:#736963;--faint:#988B83;--ink:#2C2523;
  --accent:#7A2F3C;--accent-d:#5B202B;--accent-bg:#F6ECEF;
  --gold:#A9824E;--gold-l:#C2A06D;--green:#2F6D55;--green-bg:#EAF4EF;
  --amber:#8A621D;--amber-bg:#FAF0DA;--red:#B64039;--red-bg:#FAECE9;--blue:#406F84;--blue-bg:#EDF4F7;
  --font-display:Georgia,'Times New Roman',serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5}
.app{max-width:1480px!important;margin:0 auto!important;padding:0 28px 76px!important;min-height:100vh}
.topbar{position:sticky!important;inset:auto!important;top:0!important;width:auto!important;margin:0 -28px!important;padding:12px 28px 0!important;background:rgba(255,253,251,.98)!important;border-right:0!important;border-bottom:1px solid var(--line)!important;overflow:visible!important;z-index:45!important;backdrop-filter:blur(16px)!important}
.brand{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;align-items:center!important;gap:16px!important;margin:0 0 9px!important}
.brand h1{padding:0!important;margin:0!important;min-width:0!important;flex:none!important}
.brand-home{appearance:none;border:0;background:transparent;padding:0;margin:0;display:flex;align-items:center;gap:10px;min-width:0;text-align:left;cursor:pointer;color:inherit;border-radius:10px}
.brand-home:hover .brand-wedding{color:var(--accent)}.brand-home:focus-visible{outline:3px solid rgba(122,47,60,.18);outline-offset:4px}
.brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}.brand-mark svg{width:100%;height:100%;display:block}
.brand-name{font-size:9px!important;letter-spacing:.11em!important;color:var(--accent)!important;font-weight:800!important}.brand-name em{color:inherit!important}.brand-wedding{font-family:var(--font-display)!important;font-size:19px!important;font-weight:600!important;letter-spacing:-.02em!important;color:var(--text);line-height:1.08}
.sidebar-event{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:7px 10px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#FBF8F5!important;white-space:nowrap!important}.sidebar-event span{font-size:10px!important;color:var(--muted)!important}.sidebar-event strong{font-size:11.5px!important;color:var(--text)!important}
.brand .actions{width:auto!important;display:flex!important;align-items:center!important;gap:7px!important;grid-template-columns:none!important;overflow:visible!important}.brand .actions .sync,.brand .actions .command-trigger,.brand .actions .top-tools-menu{grid-column:auto!important}.brand .actions .sync{padding:0!important;background:transparent!important}.brand .actions .command-trigger{justify-content:center!important}.brand .actions .top-tools-menu>summary{width:auto!important}
.nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:2px!important;margin:0!important;padding:0 0 9px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;white-space:nowrap!important}.nav::-webkit-scrollbar{display:none}.nav-group{display:flex!important;flex-direction:row!important;gap:0!important;flex:0 0 auto!important;margin:0!important;padding:0!important;border:0!important}.nav-group-label{display:none!important}.nav-group-buttons{display:flex!important;flex-direction:row!important;gap:2px!important}.nav button{width:auto!important;justify-content:center!important;gap:6px!important;min-height:36px!important;padding:7px 10px!important;border:0!important;border-radius:9px!important;font-size:11.7px!important;font-weight:680!important;color:var(--muted)!important;background:transparent!important;box-shadow:none!important}.nav button:hover{background:#F4EEEA!important;color:var(--text)!important}.nav button.active{background:var(--accent-bg)!important;color:var(--accent-d)!important;box-shadow:none!important}.nav-group-system{margin-left:auto!important;padding:0!important;border:0!important}.nav button .ico{width:16px!important;height:16px!important}
.page{max-width:none!important;margin:0!important;padding-top:0!important}.page>.section-h:first-child,.dashboard-headline{position:static!important;top:auto!important;margin:22px 0 16px!important;padding:0 0 13px!important;background:transparent!important;backdrop-filter:none!important;border-bottom:1px solid var(--line)!important}
.section-h h2,.page-head h2,.dashboard-headline h2,.modal-h h3,.gate-card h2,.binder-hero h2{font-family:var(--font-display)!important;font-weight:600!important;letter-spacing:-.02em!important;color:var(--text)}
.page-head h2{font-size:27px!important}.section-h h2,.modal-h h3{font-size:21px!important}.dashboard-headline h2{font-size:30px!important}.page-kicker{color:var(--accent)!important}
.card,.metric,.summary-pill,.quote-group,.compare-duel-card{background:var(--panel)!important;border-color:var(--line)!important}.btn.primary{background:var(--accent)!important;border-color:var(--accent)!important}.btn.primary:hover{background:var(--accent-d)!important;border-color:var(--accent-d)!important}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(122,47,60,.10)!important}
.login-logo{display:block;width:min(360px,100%);height:auto;margin:0 auto}.jourj-mark-svg{display:block;width:100%;height:100%}
/* Le créneau a sa propre colonne : aucune heure ne peut déborder sur le titre. */
.day-of-modal{max-width:1040px!important}.day-of-card{grid-template-columns:165px minmax(0,1fr) auto!important;column-gap:18px!important;row-gap:8px!important;align-items:start!important;padding:14px 16px!important}.day-of-time{font-family:var(--font-display)!important;font-size:19px!important;font-weight:500!important;line-height:1.18!important;white-space:nowrap!important;min-width:0!important;color:var(--accent)!important}.day-of-time small{font-family:var(--font-ui)!important;font-size:10px!important;line-height:1.3!important;margin-top:6px!important}.day-of-card>div:nth-child(2){min-width:0!important;padding-top:1px!important}.day-of-title{font-size:14px!important;line-height:1.3!important;overflow-wrap:anywhere!important}.day-of-actions{min-width:max-content!important;align-self:start!important}.day-of-actions .btn{white-space:nowrap!important}
@media(max-width:1100px){.brand{grid-template-columns:minmax(200px,1fr) auto!important}.sidebar-event{display:none!important}.nav button{padding:7px 8px!important;font-size:11px!important}}
@media(max-width:900px){.app{padding:0 16px 92px!important}.topbar{margin:0 -16px!important;padding:10px 16px 0!important}.brand{display:flex!important;align-items:center!important;gap:10px!important}.brand .actions{margin-left:auto!important}.brand .actions .sync{display:none!important}.nav{display:none!important}.day-of-card{grid-template-columns:145px minmax(0,1fr)!important}.day-of-actions{grid-column:2!important;justify-content:flex-start!important;min-width:0!important}.page>.section-h:first-child,.dashboard-headline{margin-top:18px!important}}
@media(max-width:620px){.brand-wedding{font-size:16px!important}.brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important}.day-of-card{grid-template-columns:1fr!important}.day-of-actions{grid-column:1!important}.day-of-time{font-size:18px!important}.day-of-toolbar{grid-template-columns:1fr!important}}


/* v53 — fonctionnalités essentielles consolidées */
.planner-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}.planner-toolbar .field{margin:0;min-width:230px}.planner-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.planner-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px;display:grid;gap:8px;min-width:0}.planner-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.planner-card h3{font-family:var(--font-ui);font-size:13.5px;font-weight:780;line-height:1.3;margin:0}.planner-card-meta{font-size:11px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.planner-card-note{font-size:11.5px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.planner-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.planner-card-actions .btn{flex:0 1 auto}.planner-state{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:var(--surface-soft);font-size:10.5px;font-weight:750;color:var(--muted)}.planner-state.good{background:var(--green-bg);color:var(--green)}.planner-state.warn{background:var(--amber-bg);color:var(--amber)}.planner-state.danger{background:var(--red-bg);color:var(--red)}.planner-empty{grid-column:1/-1;border:1px dashed var(--line2);border-radius:14px;padding:28px;text-align:center;background:#fff}.planner-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block}.planner-dual-actions{display:flex;gap:8px;flex-wrap:wrap}.planner-dual-actions .btn{flex:1 1 160px}.planner-template-note{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);font-size:11.5px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.guest-portal-panel{display:grid;gap:12px}.portal-code-list{display:grid;gap:7px;max-height:320px;overflow:auto}.portal-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.portal-code-row code{font-size:13px;font-weight:800;letter-spacing:1px;background:var(--surface-soft);padding:5px 7px;border-radius:7px}.portal-url-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.portal-url-box input{font-size:11px}.portal-help{font-size:11.5px;color:var(--muted);line-height:1.5}.portal-switch{display:flex;align-items:center;gap:9px}.portal-switch input{width:20px;height:20px;accent-color:var(--accent)}
.public-gate{display:none;position:fixed;inset:0;z-index:1000;background:var(--bg);overflow:auto;padding:24px}.public-shell{width:min(940px,100%);margin:0 auto}.public-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.public-brand .brand-mark{width:42px;height:42px}.public-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;margin-bottom:12px}.public-card h1{font-size:28px;margin:0 0 4px}.public-card h2{font-size:17px;margin:0 0 8px}.public-lead{color:var(--muted);line-height:1.55}.public-schedule{display:grid;gap:7px}.public-schedule-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.public-schedule-row:last-child{border-bottom:0}.public-schedule-time{font-weight:800;color:var(--accent)}.public-party-list{display:grid;gap:10px}.public-party-person{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.public-party-person-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.public-party-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.public-result{padding:11px 12px;border-radius:10px;background:var(--surface-soft);font-size:12px;color:var(--muted)}.public-plan-room{margin-bottom:16px}.public-plan-table{border:1px solid var(--line);border-radius:11px;padding:11px;margin:8px 0}.public-plan-guests{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.public-plan-guest{font-size:10.5px;padding:4px 7px;border-radius:999px;background:var(--surface-soft)}.public-plan-guest.diet{background:var(--amber-bg);color:var(--amber)}
.guest-menu-tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--blue-bg);color:var(--blue);font-size:10px;font-weight:700;margin-top:4px}
@media(max-width:760px){.planner-summary{grid-template-columns:1fr 1fr}.public-gate{padding:12px}.public-party-fields{grid-template-columns:1fr}.public-schedule-row{grid-template-columns:96px minmax(0,1fr)}.portal-code-row{grid-template-columns:minmax(0,1fr) auto}.portal-code-row .btn{grid-column:1/-1}.portal-url-box{grid-template-columns:1fr}.planner-grid{grid-template-columns:1fr}}
@media(max-width:430px){.planner-summary{grid-template-columns:1fr}}


.form-disclosure{margin:8px 0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.form-disclosure>summary{cursor:pointer;padding:11px 13px;font-weight:750;color:var(--text)}.form-disclosure[open]>summary{border-bottom:1px solid var(--line)}.form-disclosure>div{padding-left:13px;padding-right:13px}.form-disclosure>.txt-sm{padding:0 13px 12px}.guest-portal-answers{display:grid;gap:6px;margin:8px 0}.guest-portal-answer{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.guest-portal-answer strong{display:block;font-size:11px}.guest-portal-answer span{display:block;margin-top:2px;color:var(--muted);font-size:11.5px}.seating-check.detail{grid-column:1/-1}.planner-catering-actions{display:flex;gap:8px;flex-wrap:wrap}
.seating-version-list{display:grid;gap:8px}.seating-version-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.seating-version-card strong{display:block}.seating-version-card small{display:block;color:var(--muted);margin-top:2px}.seating-version-actions{display:flex;gap:6px;flex-wrap:wrap}.seating-version-empty{padding:22px;border:1px dashed var(--line2);border-radius:11px;text-align:center;color:var(--muted)}

/* ===== v54 — direction éditoriale + parcours simplifiés ===== */
:root{
  --bg:#F7F3ED;--panel:#FFFCF8;--panel-strong:#FFFFFF;--surface-soft:#F1EAE2;
  --line:#DED4CA;--line2:#CBBEB3;--text:#2A2421;--ink:#201B19;--muted:#746A64;--faint:#9B9088;
  --accent:#6F2836;--accent-d:#54202A;--accent-bg:#F4E9EB;--gold:#B58B57;
  --green:#2F735C;--green-bg:#EAF3EE;--amber:#9A6A21;--amber-bg:#F8EEDB;--red:#A23E45;--red-bg:#F7E7E8;--blue:#496879;--blue-bg:#EAF0F3;
  --radius:8px;--shadow:none;
  --font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.48}
body:before{content:none!important}.app{max-width:1600px;margin:0 auto;padding:0 30px 72px}.page{max-width:1440px;margin:0 auto}.card{background:var(--panel);border-color:var(--line);border-radius:var(--radius);box-shadow:none}.card.pad{padding:18px 20px}.btn{border-radius:7px;box-shadow:none;font-weight:700}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-d)}input,select,textarea{border-radius:7px;background:#fff;border-color:var(--line2)}.badge{border-radius:999px}
/* marque : monogramme JJ issu de la direction Canva, rendu localement pour ne jamais dépendre d'un asset externe */
.brand-mark{width:43px;height:43px;border-radius:10px!important;overflow:hidden!important;background:transparent!important;border:0!important}.jourj-mark-svg{width:100%;height:100%;display:block}.brand-home{gap:11px}.brand-name{font-size:9px!important;letter-spacing:.16em!important;color:var(--accent)!important;font-weight:800!important}.brand-name em{color:var(--accent)!important}.brand-wedding{font-family:var(--font-display)!important;font-size:21px!important;line-height:1.05!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--ink)!important}.login-logo{width:min(420px,100%)}
/* barre principale horizontale, sans duplication du compte à rebours */
.topbar{position:sticky!important;inset:auto!important;top:0!important;z-index:80;width:auto!important;height:auto!important;margin:0 -30px!important;padding:12px 30px 0!important;background:rgba(255,252,248,.97)!important;border:0!important;border-bottom:1px solid var(--line)!important;backdrop-filter:blur(12px);display:block!important;overflow:visible!important}.brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px!important}.brand h1{margin:0;min-width:290px}.brand .actions{margin-left:auto;display:flex;align-items:center;gap:8px}.sidebar-event{display:none!important}.nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:2px;margin-top:10px;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav>button,.nav-more>summary{border:0;background:transparent;min-height:42px;padding:10px 11px;color:var(--muted);font-size:12px;font-weight:720;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;border-radius:0}.nav>button:hover,.nav-more>summary:hover{color:var(--accent);background:transparent}.nav>button.active{color:var(--accent);background:transparent;border-bottom-color:var(--accent)}.nav .ico{width:16px;height:16px}.nav-more{position:relative}.nav-more>summary{list-style:none}.nav-more>summary::-webkit-details-marker{display:none}.nav-more-pop{position:absolute;right:0;top:calc(100% + 5px);min-width:210px;padding:7px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(42,31,27,.12);z-index:100}.nav-more-pop button{width:100%;border:0;background:transparent;padding:9px 10px;text-align:left;font:inherit;color:var(--text);cursor:pointer}.nav-more-pop button:hover,.nav-more-pop button.active{background:var(--accent-bg);color:var(--accent)}
.module-links{display:flex;align-items:center;gap:0;margin:24px 0 8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.module-links button{border:0;background:transparent;padding:8px 12px 9px;color:var(--muted);font-size:11.5px;font-weight:750;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.module-links button.active{color:var(--accent);border-bottom-color:var(--accent)}.module-links button:hover{color:var(--accent)}
/* composition éditoriale : titres typographiques, peu de cartes */
.page-head{margin:0 0 18px!important;padding:16px 0 13px!important;border-bottom:1px solid var(--line)!important;background:transparent!important;position:static!important;backdrop-filter:none!important}.page-head h2,.dashboard-headline h2{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-.035em!important;color:var(--ink)}.page-head h2{font-size:34px!important}.page-kicker{color:var(--accent);font-size:9.5px;letter-spacing:.14em;font-weight:850}.page-head .sub{max-width:760px;font-size:12.5px;line-height:1.5}.section-h h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.dashboard-headline{position:static!important;top:auto!important;z-index:auto!important;margin:0!important;padding:44px 0 28px!important;align-items:end!important;border-bottom:1px solid var(--line)!important;background:transparent!important}.dashboard-headline h2{font-size:48px!important;line-height:.98}.dashboard-head-copy{max-width:760px;font-size:13px;margin-top:10px}.compact-countdown{min-width:190px;padding:0 0 2px 28px!important;border-left:1px solid var(--line)!important;text-align:left!important}.compact-countdown strong{font-family:var(--font-display)!important;font-size:42px!important;color:var(--accent)!important}.compact-countdown span{max-width:150px}.dashboard-attention{display:flex!important;gap:0!important;border-bottom:1px solid var(--line);margin:0!important}.dashboard-attention[hidden]{display:none!important}.attention-item{flex:1;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:13px 16px!important;box-shadow:none!important}.attention-item:last-child{border-right:0!important}.attention-item .attention-icon{display:none}.organization-progress{padding:24px 0 20px!important;border-bottom:1px solid var(--line)!important;margin:0!important}.organization-progress .planning-cockpit{border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;grid-template-columns:180px minmax(0,1fr)}.readiness-panel{border-color:var(--line)!important}.readiness-ring{width:106px!important;height:106px!important;background:conic-gradient(var(--accent) calc(var(--score)*1%),#E6DDD5 0)!important}.readiness-ring:after{background:var(--bg)!important}.planning-next{border:0!important;border-left:3px solid var(--accent)!important;border-radius:0!important;background:transparent!important;padding:9px 12px!important}.planning-phase{border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:9px 0!important}.dashboard-focus{margin:28px 0 10px}.dashboard-focus-head h2{font-family:var(--font-display);font-size:27px}.smart-priority-grid{display:block!important;border-top:1px solid var(--line)}.smart-priority-card{width:100%;min-height:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:14px 2px!important;grid-template-columns:38px minmax(0,1fr) auto!important}.smart-priority-card:after{content:'→';align-self:center;color:var(--accent);font-size:18px}.smart-priority-card .priority-rank{background:transparent!important;border:1px solid var(--line);border-radius:50%!important}.smart-priority-card:hover{background:rgba(255,255,255,.35)!important}.quick-create-strip{border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:9px 0!important}.quick-create-strip button{background:transparent!important;border-right:1px solid var(--line)!important;border-radius:0!important;padding:6px 12px!important}.dashboard-kpis{grid-template-columns:1.25fr 1fr 1fr 1fr!important;gap:0!important;border-bottom:1px solid var(--line)}.dashboard-kpi-card{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:18px 20px!important}.dashboard-kpi-card:last-child{border-right:0!important}.dashboard-kpi-card strong{font-family:var(--font-display)!important;font-size:30px!important}.dashboard-work-grid{grid-template-columns:1.4fr .9fr!important;gap:28px!important}.dashboard-work-card{border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:18px 0!important}.dashboard-work-card:nth-child(3),.dashboard-work-card:nth-child(4){margin-top:8px}
/* plan de salle : une vraie zone de travail */
#page-seating .page-head{margin-bottom:10px!important}.seating-commandbar{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:10px 0 14px;border-bottom:1px solid var(--line)}.seating-room-control{display:grid;grid-template-columns:auto minmax(180px,270px);gap:4px 10px;align-items:center}.seating-room-control label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--faint)}.seating-room-control span{grid-column:2;font-size:10.5px;color:var(--muted)}.seating-command-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.seating-add-menu{position:relative}.seating-add-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:210px;padding:7px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 36px rgba(42,31,27,.12);display:grid}.seating-add-pop button{border:0;background:transparent;padding:8px 9px;text-align:left;font:inherit;font-size:12px;cursor:pointer;color:var(--text)}.seating-add-pop button:hover{background:var(--accent-bg);color:var(--accent)}.seating-selection-note:empty,.seating-quality:empty{display:none}.seating-selection-note,.seating-quality{margin:10px 0 0;border-radius:0!important}.seating-room-strip{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start;margin:16px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.seating-room-strip-head strong{font-family:var(--font-display);font-size:19px;display:block}.seating-room-strip-head span{display:block;margin-top:4px;font-size:10.5px;color:var(--muted);line-height:1.4}.room-overview-grid{display:flex!important;gap:7px!important;overflow-x:auto;padding:0 0 3px!important}.room-overview-card{min-width:180px!important;max-width:240px;border:1px solid var(--line)!important;border-radius:7px!important;background:var(--panel)!important;padding:9px 10px!important;box-shadow:none!important}.room-overview-card.active{border-color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important}.room-overview-head{display:none!important}.seating-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.seating-side{position:sticky!important;top:118px!important;border:1px solid var(--line);background:var(--panel);padding:13px!important;border-radius:7px!important;max-height:calc(100vh - 145px);overflow:auto}.seating-side-help{font-size:10.5px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line);line-height:1.4}.seat-pool-list{max-height:none!important}.guest-chip{width:100%;border-radius:7px!important;cursor:grab!important}.room-shell{padding:9px!important;border-radius:7px!important;background:#EDE7E0!important;border-color:var(--line2)!important}.room-canvas{min-width:720px!important;border-radius:4px!important;border-color:#CFC2B7!important;background-color:#FFFCF8!important}.floor-table{border-radius:8px!important;box-shadow:0 2px 7px rgba(48,35,29,.10)!important}.floor-table.round,.floor-table.oval{border-radius:50%!important}.seating-inspector{margin-top:12px!important;border:1px solid var(--line)!important;border-radius:7px!important;background:var(--panel)!important;padding:15px 16px!important}.table-guest-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.table-guest{padding:8px!important;border-radius:6px!important;background:#F8F4EF!important}.table-guest-seat-select{min-height:34px!important}.seating-room-settings{margin:14px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.seating-room-settings>summary{cursor:pointer;padding:11px 2px;font-size:11.5px;font-weight:800;color:var(--text)}.seating-room-settings-body{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px auto;gap:10px;align-items:end;padding:0 0 14px}.seating-room-settings-body .field{margin:0}.seating-room-settings-actions{display:flex;gap:6px;flex-wrap:wrap}.room-scroll-note{margin:8px 0 0}.seating-list-view{margin-top:12px}
/* prestataires : la notation devient explicite et directement éditable */
.provider-toolbar{margin-bottom:10px}.prov{border-top:1px solid var(--line);background:transparent}.prov:last-child{border-bottom:1px solid var(--line)}.prov-head{background:transparent!important;padding:12px 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 95px auto!important;gap:14px!important;border:0!important}.prov-toggle{padding:0!important}.prov-title{font-family:var(--font-display)!important;font-size:20px!important;font-weight:700!important}.prov-meta{font-size:10.5px!important;gap:10px!important}.provider-score-quick{align-self:center;border-left:1px solid var(--line);padding-left:14px}.provider-score-quick span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:800}.provider-score-quick strong{display:block;margin-top:2px;font-family:var(--font-display);font-size:18px;color:var(--accent)}.provider-head-actions{justify-content:flex-end}.rating-cta{border-color:#C7A7AE!important;color:var(--accent)!important}.prov-body{border-top:1px solid var(--line)!important;background:transparent!important;padding:0 0 18px}.provider-evaluation-panel{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.provider-evaluation-head span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:850}.provider-evaluation-head strong{display:block;margin-top:3px;font-family:var(--font-display);font-size:27px;color:var(--accent)}.provider-evaluation-head small{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.4}.provider-inline-ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.provider-inline-ratings label span{display:block;margin-bottom:4px;font-size:10.5px;font-weight:750;color:var(--muted)}.provider-inline-ratings select{min-height:38px;font-weight:750}.provider-links-block{padding:12px 0;border-bottom:1px solid var(--line)}.provider-notes-block{padding:12px 0;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.provider-empty-quote{padding:16px 0}.provider-footer-actions{padding:12px 0 0;display:flex;gap:7px}.quote-group{margin:14px 0 0!important;border-radius:7px!important}.quote-group-head{border-radius:0!important}.tot-pill{border-radius:999px}
/* tableaux / résumés plus éditoriaux */
.summary-row{gap:0!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-pill{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:13px 15px!important}.summary-pill:last-child{border-right:0!important}.metric{border-radius:0!important;border-width:1px 0 0!important;background:transparent!important;padding:15px 2px!important}.metrics{gap:18px!important}.toolbar.card,.planner-toolbar.card{border-radius:7px!important}.empty{background:transparent}
@media(max-width:1100px){.brand h1{min-width:240px}.nav>button,.nav-more>summary{padding:9px 8px;font-size:11.5px}.dashboard-work-grid{grid-template-columns:1fr!important}.seating-workspace{grid-template-columns:255px minmax(0,1fr)}.table-guest-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.provider-inline-ratings{grid-template-columns:repeat(2,minmax(0,1fr))}.seating-room-settings-body{grid-template-columns:1fr 1fr}.seating-room-settings-actions{grid-column:1/-1}}
@media(max-width:900px){.app{padding:0 16px 92px!important}.topbar{margin:0 -16px!important;padding:10px 16px 0!important}.brand{gap:10px}.brand h1{min-width:0}.brand .actions{margin-left:auto}.nav{display:none!important}.module-links{margin-top:14px}.dashboard-headline{padding-top:24px!important}.dashboard-headline h2{font-size:36px!important}.seating-commandbar{align-items:stretch;flex-direction:column}.seating-command-actions{justify-content:flex-start}.seating-room-strip{grid-template-columns:1fr}.seating-workspace{grid-template-columns:1fr}.seating-side{position:static!important;max-height:none;order:0}.seating-main{order:1}.provider-evaluation-panel{grid-template-columns:1fr}.prov-head{grid-template-columns:minmax(0,1fr) auto!important}.provider-score-quick{grid-column:2;grid-row:1}.provider-head-actions{grid-column:1/-1;justify-content:flex-start}.summary-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.summary-pill:nth-child(2){border-right:0!important}.summary-pill:nth-child(-n+2){border-bottom:1px solid var(--line)!important}}
@media(max-width:620px){.brand-name{display:none}.brand-wedding{font-size:17px!important}.brand-mark{width:38px;height:38px}.dashboard-headline{display:grid!important;gap:14px}.dashboard-headline h2{font-size:32px!important}.compact-countdown{border-left:0!important;border-top:1px solid var(--line)!important;padding:12px 0 0!important}.dashboard-attention{display:block!important}.attention-item{border-right:0!important;border-bottom:1px solid var(--line)!important}.dashboard-kpis{grid-template-columns:1fr 1fr!important}.dashboard-kpi-card:nth-child(2){border-right:0!important}.dashboard-kpi-card:nth-child(-n+2){border-bottom:1px solid var(--line)!important}.seating-room-control{grid-template-columns:1fr}.seating-room-control span{grid-column:1}.seating-command-actions>.btn,.seating-command-actions>details{flex:1 1 auto}.seating-add-menu>summary,.seating-command-actions>.action-menu>summary{width:100%}.table-guest-list{grid-template-columns:1fr!important}.provider-inline-ratings{grid-template-columns:1fr 1fr}.prov-head{grid-template-columns:1fr!important}.provider-score-quick{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.provider-head-actions{grid-column:1}.summary-row{grid-template-columns:1fr 1fr!important}.page-head h2{font-size:29px!important}.page-actions{width:100%;justify-content:flex-start}}



/* v56 — plan de salle : espace de travail à trois zones */
.app{max-width:1540px}
.jourj-mark-img{display:block;width:100%;height:100%;object-fit:contain}.login-logo{display:block;width:min(100%,520px);height:auto}.brand-mark .jourj-mark-img{width:100%;height:100%}
.seating-workspace{display:grid;grid-template-columns:minmax(210px,250px) minmax(620px,1fr) minmax(300px,360px);gap:18px;align-items:start}
.seating-main{min-width:0;display:block}.seating-side{position:sticky;top:128px;max-height:calc(100vh - 150px);overflow:auto;padding-right:4px}
.seating-inspector{position:sticky;top:128px;max-height:calc(100vh - 150px);overflow:auto;min-width:0;border-left:1px solid var(--line);padding:2px 4px 28px 18px;background:transparent}
.seating-inspector:empty{display:block}.inspector-kicker{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.inspector-table-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.inspector-table-head h2{font-family:var(--font-display);font-size:24px;line-height:1.05;font-weight:500}.inspector-table-head span{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.inspector-table-tools{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin:14px 0 2px}.inspector-table-tools .angle-value{text-align:center}
.inspector-empty{min-height:190px;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--muted)}.inspector-empty strong{font-family:var(--font-display);font-size:20px;color:var(--text);font-weight:500}.inspector-empty.compact{min-height:80px}
.table-guest-list{display:grid;grid-template-columns:1fr;gap:6px;margin-top:9px;max-height:48vh;overflow:auto;padding-right:3px}.table-guest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 0;border-radius:0;background:transparent;border-bottom:1px solid var(--line)}.table-guest:last-child{border-bottom:0}.table-guest.active{background:var(--accent-bg);margin:0 -8px;padding:8px;border-radius:8px}.table-guest .seat-chip{border:0;cursor:pointer}.table-guest-name-button{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:var(--text)}.table-guest-name-button strong{font-size:12px}.table-guest-inline-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;margin-top:6px}.table-guest-control{min-height:34px;font-size:10.5px}.inspector-table-footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.seat-person.selected{z-index:10;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold-l),0 3px 10px rgba(60,38,32,.24);transform:translate(-50%,-50%) rotate(var(--table-angle-neg,0deg)) scale(1.1)}
.seat-focus-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.seat-focus-back{border:0;background:transparent;color:var(--accent);font-weight:750;cursor:pointer;padding:6px 0}.seat-focus-person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;margin-bottom:16px}.seat-focus-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}.seat-focus-person h2{font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.05}.seat-focus-person span{font-size:11px;color:var(--muted)}.seat-focus-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seat-focus-note{display:grid;gap:2px;padding:9px 0;border-top:1px solid var(--line);font-size:11px}.seat-focus-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.seat-focus-note.warn span{color:var(--amber);font-weight:700}.seat-focus-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.seat-focus-actions .btn{min-height:38px;font-size:11px}.seat-focus-actions .danger{grid-column:1/-1}
.seating-side-help,.seat-order-help{font-size:10.5px;color:var(--muted)}
.room-shell,.room-canvas,.floor-table,.room-overview-card,.seating-room-strip,.seating-quality{box-shadow:none}
.floor-table{box-shadow:0 2px 8px rgba(56,40,35,.10)}
@media(max-width:1220px){.seating-workspace{grid-template-columns:minmax(200px,230px) minmax(580px,1fr)}.seating-inspector{grid-column:1/-1;position:static;max-height:none;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.table-guest-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}
@media(max-width:900px){.seating-workspace{grid-template-columns:1fr}.seating-side{position:static;max-height:none;order:1}.seating-main{order:2}.seating-inspector{order:3;grid-column:auto}.table-guest-list{grid-template-columns:1fr}.seat-focus-fields,.seat-focus-actions{grid-template-columns:1fr}.seat-focus-actions .danger{grid-column:auto}}

/* Priorité finale du panneau latéral v56 */
@media(min-width:1221px){
  .seating-workspace{grid-template-columns:minmax(210px,250px) minmax(620px,1fr) minmax(300px,360px)!important}
  .seating-inspector{position:sticky!important;top:128px!important;grid-column:auto!important;margin-top:0!important;max-height:calc(100vh - 150px)!important;overflow:auto!important;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:2px 4px 28px 18px!important;box-shadow:none!important}
  .table-guest-list{grid-template-columns:1fr!important;max-height:48vh!important}
  .table-guest{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:8px 0!important}
  .table-guest.active{background:var(--accent-bg)!important;border-radius:8px!important;padding:8px!important}
}


/* ===== v57 — lisibilité, dashboard, invités, navigation ===== */
#page-budget .budget-key-metric{background:transparent!important;border-color:var(--line)!important;color:var(--text)!important}
#page-budget .budget-key-metric .ml,#page-budget .budget-key-metric .mv,#page-budget .budget-key-metric .mx{color:inherit!important;opacity:1!important}
#page-budget .budget-key-metric .ml{color:var(--muted)!important}

@media(min-width:901px){
  .nav{overflow:visible!important;white-space:nowrap!important}
  .nav-more{z-index:180;flex:0 0 auto}
  .nav-more-pop{z-index:220!important;display:grid;gap:1px;right:0;left:auto;top:calc(100% + 2px);min-width:230px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 45px rgba(42,31,27,.14)}
}

/* Aucun libellé utile ne doit être coupé */
.dashboard-task-open strong,.legend-label,.compare-name,.command-result small,.seating-list-guest span,.lodging-source-title,.lodging-source-meta,.guest-chip .chip-main,.guest-chip .chip-meta,.resource-link-chip small,.planner-link{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.floor-table-core{overflow:visible!important;max-width:none!important}
.floor-table-core strong{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;max-width:none!important;font-size:clamp(8px,.8vw,12px)!important;line-height:1.1!important;padding:2px 4px;background:rgba(255,252,248,.86);border-radius:3px}
.table-guest-name-button strong,.guest-family-title,.prov-title,.budget-quote-title,.program-title-text{overflow-wrap:anywhere;word-break:normal}

.room-mini-table{overflow:visible!important;min-width:24px;min-height:24px}
.room-mini-table span{font-size:8px!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important;background:rgba(255,252,248,.92);padding:2px 3px;border-radius:3px}
.room-overview-table-list{display:grid;gap:3px;margin-top:7px}
.room-overview-table-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;border:0;background:transparent;padding:4px 1px;text-align:left;color:var(--text);font:inherit;cursor:pointer}
.room-overview-table-list button:hover span{color:var(--accent)}
.room-overview-table-list b{font-size:9px;color:var(--accent);font-weight:850}.room-overview-table-list span{font-size:10px;line-height:1.25;overflow-wrap:anywhere}.room-overview-table-list small{font-size:9px;color:var(--muted);white-space:nowrap}

.guest-portal-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin:2px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guest-portal-status-main{display:flex;align-items:center;gap:10px;min-width:0}.guest-portal-status-main>div{min-width:0}.guest-portal-status-main strong{display:block;font-size:12.5px}.guest-portal-status-main span{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}
.guest-portal-dot{width:9px;height:9px;border-radius:50%;background:var(--faint);flex:0 0 auto}.guest-portal-dot.on{background:var(--green)}.guest-portal-status-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

.dashboard57-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding:38px 0 24px;border-bottom:1px solid var(--line)}
.dashboard57-title h2{font-family:var(--font-display)!important;font-size:clamp(38px,4.2vw,64px)!important;line-height:.96!important;letter-spacing:-.045em!important;font-weight:600!important;margin:0;color:var(--ink)}
.dashboard57-meta{margin-top:10px;font-size:12px;color:var(--muted)}
.dashboard57-head .compact-countdown{border:0!important;border-left:1px solid var(--line)!important;padding:4px 0 4px 24px!important;min-width:150px;text-align:right}
.dashboard57-head .compact-countdown strong{font-family:var(--font-display)!important;font-size:42px!important;line-height:.95!important;font-weight:600!important;letter-spacing:-.04em}.dashboard57-head .compact-countdown span{display:block;margin-top:5px;font-size:10.5px;color:var(--muted)}
.dashboard57-actions{display:flex;gap:0;align-items:center;margin:12px 0 2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.dashboard57-actions::-webkit-scrollbar{display:none}.dashboard57-actions button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);padding:9px 14px 10px;font:inherit;font-size:11.5px;font-weight:760;white-space:nowrap;cursor:pointer}.dashboard57-actions button:first-child{padding-left:0}.dashboard57-actions button:hover{color:var(--accent)}
.dashboard57-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:46px;align-items:start;margin-top:30px}
.dashboard57-main,.dashboard57-rail{display:grid;gap:32px}.dashboard57-section{min-width:0;padding-top:14px;border-top:1px solid var(--line)}.dashboard57-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.dashboard57-section-head h2{font-family:var(--font-display);font-size:24px;line-height:1.05;font-weight:600;letter-spacing:-.025em}.dashboard57-section-head .sub{font-size:10.5px;color:var(--muted);margin-top:3px;display:block}
.dashboard57-priority-section{padding-top:0;border-top:0}.dashboard57-priority-section .smart-priority-grid{border-top:1px solid var(--line)}
.dashboard57-budget-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:6px 0 13px}.dashboard57-budget-total span{font-size:11px;color:var(--muted)}.dashboard57-budget-total strong{font-family:var(--font-display);font-size:34px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.dashboard57-budget-list{margin:0;display:grid;gap:0}.dashboard57-budget-list>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--line)}.dashboard57-budget-list dt{font-size:10.5px;color:var(--muted)}.dashboard57-budget-list dd{margin:0;font-size:11.5px;font-weight:760;white-space:nowrap}.dashboard57-budget-list dd.good{color:var(--green)}.dashboard57-budget-list dd.danger{color:var(--red)}
.dashboard57-budget-track{height:5px;background:#e9e1da;margin-top:12px;overflow:hidden}.dashboard57-budget-track i{display:block;height:100%;background:var(--accent)}.dashboard57-budget-track i.over{background:var(--red)}
.dashboard57-due-list{display:grid}.dashboard57-due{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:10px 0;text-align:left;color:var(--text);cursor:pointer}.dashboard57-due:first-child{border-top:0}.dashboard57-due:hover strong{color:var(--accent)}.dashboard57-due span{min-width:0}.dashboard57-due strong{display:block;font-size:11.5px}.dashboard57-due small{display:block;margin-top:2px;font-size:9.8px;color:var(--muted);overflow-wrap:anywhere}.dashboard57-due>b{font-size:11px;white-space:nowrap}.dashboard57-due.over>b{color:var(--red)}.dashboard57-due.soon>b{color:var(--amber)}.dashboard57-empty{padding:12px 0;color:var(--muted);font-size:11px}
.organization-progress{margin:24px 0 0!important}.organization-progress .planning-overview{padding:0 0 22px!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;border-radius:0!important}.organization-progress .planning-overview-top{grid-template-columns:auto minmax(180px,1fr)}.organization-progress .planning-next-row{margin-top:12px;border-radius:0!important;border-left:2px solid var(--accent)!important;border-top:0!important;border-right:0!important;border-bottom:0!important;background:transparent!important;padding:8px 10px!important}
.dashboard-attention{margin:14px 0 0!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.attention-item{border-radius:0!important;box-shadow:none!important;border-width:0 0 1px!important;padding:10px 2px!important;background:transparent!important}
.dashboard57-section .dashboard-add-action{background:transparent!important;border:1px solid var(--line)!important}
.dashboard57-section .reception-overview{padding-top:0}.dashboard57-section .reception-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dashboard57-section .reception-actions .btn.primary{grid-column:1/-1}

@media(max-width:1180px){.dashboard57-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.dashboard57-head{padding-top:28px}.room-overview-card{min-width:220px!important}}
@media(max-width:900px){.dashboard57-head{grid-template-columns:1fr;gap:14px;padding-top:22px}.dashboard57-head .compact-countdown{border-left:0!important;border-top:1px solid var(--line)!important;padding:12px 0 0!important;text-align:left}.dashboard57-layout{grid-template-columns:1fr;gap:28px}.dashboard57-rail{grid-template-columns:1fr 1fr;align-items:start}.guest-portal-status{align-items:flex-start;flex-direction:column}.guest-portal-status-actions{justify-content:flex-start}.nav{overflow-x:auto!important}}
@media(max-width:620px){.dashboard57-title h2{font-size:38px!important}.dashboard57-rail{grid-template-columns:1fr}.dashboard57-actions button{padding-left:10px;padding-right:10px}.dashboard57-actions button:first-child{padding-left:0}.room-overview-table-list span{font-size:10.5px}}
@media(min-width:901px){.room-overview-card{min-width:260px!important;max-width:340px!important}}


/* ===== v58 — identité & interface unifiées ===== */
:root{
  --bg:#F5F0E9;--panel:#FFFCF7;--panel-strong:#FFFFFF;--line:#DED3C7;--line2:#CFC0B2;
  --text:#2A211E;--ink:#241B18;--muted:#746A63;--faint:#9A8C82;
  --accent:#6D2937;--accent-d:#4B1D27;--accent-bg:#F4E9EB;
  --gold:#9C7641;--gold-l:#C7A36A;--green:#2F725A;--green-bg:#E8F2ED;
  --red:#B8443E;--red-bg:#F9E9E7;--amber:#8B611D;--amber-bg:#F8EEDB;--blue:#456E7E;--blue-bg:#EAF1F3;
  --font-display:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,Helvetica,Arial,sans-serif;
  --radius:7px;--shadow:none;
}
html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.48;letter-spacing:0}
.app{max-width:1600px;padding:0 34px 80px}.topbar{margin:0 -34px;padding:13px 34px 0;background:rgba(255,252,247,.98);border-bottom:1px solid var(--line);box-shadow:none}.brand{margin-bottom:7px}.brand h1{flex:1 1 440px}.brand-mark{width:44px;height:44px;border-radius:7px}.brand-wedding{font-size:24px;font-weight:650;letter-spacing:-.025em}.brand-name{font-size:9px;letter-spacing:.19em}.sidebar-event{border-left:1px solid var(--line);padding-left:15px}
.nav{gap:0;margin-top:3px}.nav>button,.nav-more>summary{min-height:40px;padding:9px 12px;font-size:12px;font-weight:720;border-bottom:2px solid transparent}.nav>button.active{border-bottom-color:var(--accent);background:transparent}.nav-more-pop,.action-menu-pop,.seating-add-pop{border-radius:5px!important;box-shadow:0 16px 34px rgba(42,33,30,.10)!important}
.btn,input,select,textarea{border-radius:6px}.btn{min-height:40px;padding:8px 13px;box-shadow:none}.btn:hover{box-shadow:none;background:#fff}.btn.primary{background:var(--accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-d)}button.icon{border-radius:5px}
.card,.metric,.modal,.form-section,.hint,.quote-group,.budget-quote,.summary-pill{border-radius:6px!important;box-shadow:none!important}.metric.accent{background:var(--accent)!important}.page-head{padding:31px 0 18px;margin-bottom:16px;border-bottom:1px solid var(--line)}.page-head h2{font-family:var(--font-display);font-size:clamp(30px,3vw,45px)!important;font-weight:650;letter-spacing:-.035em;line-height:1}.page-kicker{font-size:9.5px;letter-spacing:.16em;font-weight:850;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.module-links{border-bottom:1px solid var(--line);gap:18px}.module-links button{border:0!important;background:transparent!important;padding:10px 0 8px!important;border-radius:0!important}.module-links button.active{color:var(--accent)!important;border-bottom:2px solid var(--accent)!important}
.overlay{background:rgba(36,27,24,.48)}.modal{border:1px solid var(--line);box-shadow:0 30px 80px rgba(36,27,24,.20)!important}.modal-h,.modal-f{background:var(--panel)}

/* Dashboard : composition éditoriale et dense, sans mur de cartes */
.dashboard57-head{padding:42px 0 23px;grid-template-columns:minmax(0,1fr) auto}.dashboard57-title h2{font-size:clamp(44px,5vw,76px)!important;font-weight:650!important;letter-spacing:-.055em!important}.dashboard57-meta{font-size:11.5px}.dashboard57-head .compact-countdown{padding-left:28px!important}.dashboard57-actions{margin-top:9px}.dashboard57-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr);gap:58px;margin-top:34px}.dashboard57-main,.dashboard57-rail{gap:34px}.dashboard57-section{padding-top:12px}.dashboard57-section-head h2{font-size:25px}.attention-item{padding:10px 0!important}.organization-progress .planning-overview{padding-bottom:18px!important}.smart-priority-grid{border-bottom:1px solid var(--line)}

/* Plan de salle : salles toujours visibles + poste de travail 3 colonnes */
#page-seating .page-head{margin-bottom:0}.seating-commandbar{padding:13px 0;border-bottom:0}.seating-room-context{display:grid;gap:2px;align-content:start}.seating-room-context>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:var(--faint)}.seating-room-context>strong{font-family:var(--font-display);font-size:23px;line-height:1.05;font-weight:650;color:var(--ink)}.seating-room-context>small{font-size:10.5px;color:var(--muted)}
.seating-room-strip{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;margin:0 0 15px!important;padding:10px 0 15px!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.seating-room-strip-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.seating-room-strip-head strong{font-family:var(--font-display);font-size:18px;line-height:1}.room-overview-grid{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:0 0 3px!important;scrollbar-width:thin}.room-tab-card{flex:0 0 auto;min-width:180px;max-width:250px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name size' 'meta meta';gap:3px 12px;text-align:left;padding:10px 11px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit}.room-tab-card:hover{border-color:var(--accent)}.room-tab-card.active{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.room-tab-name{grid-area:name;font-size:12.5px;font-weight:800;white-space:nowrap;overflow:visible;text-overflow:clip}.room-tab-size{grid-area:size;font-size:9.5px;color:var(--faint);white-space:nowrap}.room-tab-meta{grid-area:meta;font-size:10px;color:var(--muted);white-space:nowrap}.room-overview-card,.room-mini-canvas,.room-overview-table-list,.room-overview-foot{display:none!important}
.seating-workspace{display:grid!important;grid-template-columns:minmax(215px,250px) minmax(600px,1fr) minmax(315px,355px)!important;gap:18px!important;align-items:start}.seating-side,.seating-inspector{top:116px!important}.seating-side{border:1px solid var(--line);border-radius:5px!important;background:var(--panel);padding:12px!important}.seating-inspector{border-left:1px solid var(--line)!important;padding-left:18px!important}.room-shell{background:#EAE3DC!important;border:1px solid var(--line2)!important;border-radius:5px!important;padding:8px!important}.room-canvas{background-color:#FFFDF9!important;border:1px solid #CFC0B2!important;border-radius:3px!important;min-width:680px!important}.floor-table{border-color:#B99A70!important;background:#FFFCF7!important}.floor-table-core strong{background:#FFFCF7!important;color:var(--ink)!important;font-weight:800!important}.seat-person.selected{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold-l)!important}.table-guest{background:transparent!important}.table-guest.active{background:var(--accent-bg)!important}
.seat-focus-person h2,.inspector-table-head h2{font-size:26px;font-weight:650}.seat-focus-fields{grid-template-columns:1fr}.seat-focus-actions{grid-template-columns:1fr 1fr}.seat-focus-actions .danger{grid-column:1/-1}.seating-room-settings{margin-top:14px}

/* Pas de coupures arbitraires des libellés métier */
.brand-wedding,.page-head h2,.program-title-text,.prov-title,.guest-family-title,.budget-quote-title,.table-guest-name-button strong,.room-tab-name{overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:normal!important}.floor-table-core strong{white-space:nowrap!important;max-width:none!important}.program-title-text,.budget-quote-title,.prov-title,.guest-family-title{white-space:normal!important}.command-result small,.table-guest-meta,.room-tab-meta{white-space:normal!important}

/* Responsive */
@media(max-width:1260px){.seating-workspace{grid-template-columns:minmax(210px,235px) minmax(560px,1fr)!important}.seating-inspector{grid-column:1/-1!important;position:static!important;max-height:none!important;border-left:0!important;border-top:1px solid var(--line)!important;padding:18px 0 0!important}.table-guest-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard57-layout{gap:34px}}
@media(max-width:900px){.app{padding:0 16px 92px}.topbar{margin:0 -16px;padding:10px 16px 0}.brand-mark{width:40px;height:40px}.brand-wedding{font-size:19px}.dashboard57-head{padding-top:26px}.dashboard57-layout{grid-template-columns:1fr;gap:28px}.dashboard57-rail{grid-template-columns:1fr 1fr}.seating-room-strip{grid-template-columns:1fr!important;gap:9px!important}.seating-room-strip-head{flex-direction:row;align-items:center;justify-content:space-between}.seating-workspace{grid-template-columns:1fr!important}.seating-side{position:static!important;max-height:none!important;order:1}.seating-main{order:2}.seating-inspector{order:3;grid-column:auto!important}.room-canvas{min-width:620px!important}}
@media(max-width:620px){.brand-lockup{max-width:calc(100vw - 150px)}.brand-wedding{font-size:17px;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dashboard57-title h2{font-size:42px!important}.dashboard57-rail{grid-template-columns:1fr}.room-tab-card{min-width:165px}.seating-command-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.seating-command-actions>*{width:100%}.seating-add-menu>summary,.seating-command-actions>.action-menu>summary{width:100%}.table-guest-list{grid-template-columns:1fr!important}.seat-focus-actions{grid-template-columns:1fr}.seat-focus-actions .danger{grid-column:auto}}
@media print{.room-overview-grid{overflow:visible!important;flex-wrap:wrap}.room-tab-card{min-width:150px}}


/* ==========================================================================\n   Jour J v59 — ÉDITORIAL IVOIRE\n   Nouvelle identité : éditorial haut de gamme + produit digital moderne\n   ========================================================================== */
:root{
  --bg:#F7F3EC;--panel:#FDFBF8;--panel-strong:#FFFFFF;--line:#D8CEC4;--line2:#C9BDB2;
  --text:#2A2421;--muted:#746B65;--faint:#998D84;
  --accent:#6B2433;--accent-d:#591C29;--accent-bg:#F4E9EC;
  --gold:#B79A6B;--gold-l:#D5C09B;--ink:#2A2421;
  --green:#4F725E;--green-bg:#EAF1EC;--amber:#A66A2D;--amber-bg:#F7EDDE;--red:#A4473F;--red-bg:#F8E8E5;--blue:#4F6577;--blue-bg:#E9EFF2;
  --font-display:'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --font-ui:'Avenir Next','Inter','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-modal:16px;
  --shadow-subtle:0 1px 2px rgba(42,36,33,.06);--shadow-card:0 6px 24px -18px rgba(42,36,33,.28);--shadow-floating:0 14px 40px -22px rgba(42,36,33,.32);--shadow-modal:0 28px 90px -32px rgba(30,24,22,.42);
  --ease:cubic-bezier(.22,.8,.3,1)
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.62;letter-spacing:-.006em}
body,button,input,select,textarea{font-family:var(--font-ui)}
button,a,input,select,textarea{transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease),transform .18s var(--ease)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(107,36,51,.22);outline-offset:2px}
.app{max-width:1520px;padding:0 48px 88px}
.topbar{margin:0 -48px;padding:18px 48px 0;background:rgba(247,243,236,.98);backdrop-filter:none;border-bottom:1px solid rgba(216,206,196,.82)}
.brand{margin-bottom:14px;flex-wrap:nowrap}.brand h1{flex:1 1 auto}.brand-home{gap:12px}.brand-mark{width:44px;height:44px;border-radius:10px}.brand-name{font-size:10px;letter-spacing:.18em;color:var(--accent)}.brand-name em{color:inherit}.brand-wedding{font-family:var(--font-display);font-size:22px;line-height:1.05;white-space:nowrap;overflow:visible;overflow-wrap:normal}.jourj-mark-img{width:100%;height:100%;display:block}.sidebar-event{display:none!important}.brand .actions{gap:10px}.sync{min-width:auto}.command-trigger kbd{border:1px solid var(--line);border-radius:5px;background:transparent;padding:1px 5px;font-size:10px;color:var(--muted)}
.nav{gap:0;align-items:stretch}.nav button,.nav-more>summary{min-height:46px;padding:11px 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer}.nav button:hover,.nav-more>summary:hover{color:var(--text);background:transparent}.nav button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.nav button .ico{opacity:.78}.nav-more{position:relative}.nav-more>summary::-webkit-details-marker{display:none}.nav-more-pop{top:calc(100% + 8px);right:0;min-width:220px;border-radius:10px;box-shadow:var(--shadow-floating);border-color:var(--line);padding:6px;background:var(--panel)}.nav-more-pop button{min-height:40px!important;width:100%;border-bottom:0!important;border-radius:6px!important;justify-content:flex-start!important;padding:9px 10px!important}.nav-more-pop button:hover{background:#F2ECE5!important}
.btn{min-height:44px;border-radius:8px;border-color:var(--line);background:var(--panel);font-size:13px;font-weight:650;box-shadow:none}.btn:hover{border-color:#B9AAA0;background:#fff;box-shadow:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-d);border-color:var(--accent-d)}.btn.tertiary{border:0;background:transparent;color:var(--accent);padding-inline:4px;min-height:36px}.btn.tertiary:hover{background:transparent;color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}.btn.ghost{border-color:transparent}.btn.sm{min-height:38px;border-radius:7px}.btn.danger{color:var(--red)}button.icon{border-radius:7px}
input,select,textarea{min-height:48px;border-radius:8px;border-color:var(--line);background:var(--panel);font-size:16px;padding:11px 13px}input:hover,select:hover,textarea:hover{border-color:#BFB1A6}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(107,36,51,.09)}label.fl{font-size:12px;font-weight:700;color:#645B55;letter-spacing:.005em;margin-bottom:6px}.field{margin-bottom:16px}
.card{border-radius:10px;border-color:var(--line);background:var(--panel);box-shadow:none}.card.pad{padding:24px}.section{margin-top:36px}.section-h{margin-bottom:18px}.section-h h2,.page-head h2{font-family:var(--font-display);font-weight:400;color:var(--ink)}.page-head{padding:34px 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}.page-head h2{font-size:clamp(36px,4.2vw,52px);line-height:1;letter-spacing:-.025em}.page-kicker,.inspector-kicker{font-size:10px;line-height:1.3;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.module-links{border-bottom:1px solid var(--line);padding-top:10px;gap:22px}.module-links button{border:0;border-bottom:1px solid transparent;background:transparent;padding:12px 0 10px;border-radius:0;color:var(--muted);font-weight:650;min-height:42px}.module-links button.active{color:var(--accent);border-bottom-color:var(--accent)}
.badge{border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700}.filter-chip{border-radius:999px;min-height:36px;background:transparent}.filter-chip.active{background:var(--accent-bg);border-color:#E4CED4;color:var(--accent)}

/* Dashboard éditorial */
.home-editorial-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:64px;align-items:end;padding:58px 0 38px;border-bottom:1px solid var(--line)}.home-editorial-title h2{font-family:var(--font-display);font-size:clamp(50px,6.2vw,82px);font-weight:400;line-height:.98;letter-spacing:-.035em;max-width:940px}.home-editorial-meta{margin-top:16px;color:var(--muted);font-size:14px}.home-editorial-status{display:grid;gap:20px;align-self:stretch;align-content:end}.compact-countdown{padding:0!important;border:0!important;background:transparent!important;text-align:right}.compact-countdown strong{font-family:var(--font-display);font-size:54px;font-weight:400;line-height:.9;color:var(--ink)}.compact-countdown span{font-size:12px;color:var(--muted);margin-top:6px}.home-progress-slot .planning-overview{border:0!important;background:transparent!important;padding:0!important}.home-progress-slot .planning-overview-top{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.home-progress-slot .planning-overview-top>div:first-child{display:flex;align-items:baseline;gap:8px}.home-progress-slot .planning-overview-label{display:none}.home-progress-slot .planning-overview-top strong{font-family:var(--font-display);font-size:28px;font-weight:400}.home-progress-slot .planning-overview-top span:last-child{font-size:11px;color:var(--muted)}.home-progress-slot .planning-overview-bar{height:4px;border-radius:0;background:#E7DED6}.home-progress-slot .planning-overview-bar i{background:var(--accent);border-radius:0}.home-progress-slot .planning-next-row,.home-progress-slot .planning-phase-grid{display:none}
.dashboard-attention{margin:22px 0 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.attention-item{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:15px 18px;box-shadow:none}.attention-item:last-child{border-right:0}.attention-item:hover{background:#F4EEE7}.attention-item .attention-icon{display:none}.attention-item strong{font-size:12px}.attention-arrow{color:var(--accent)}
.home-priority-block{padding:52px 0 48px}.home-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.home-section-heading h3{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.05}.smart-priority-grid{display:grid;gap:0;border-top:1px solid var(--line)}.smart-priority-card{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:18px 4px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;text-align:left;color:var(--text);box-shadow:none!important}.smart-priority-card:hover{background:#F4EEE7!important}.priority-rank{font-family:var(--font-display);font-size:17px;color:var(--faint)}.priority-copy{display:grid;gap:3px}.priority-copy strong{font-size:15px}.priority-copy small{font-size:12px;color:var(--muted)}.priority-arrow{font-size:19px;color:var(--accent)}.dashboard57-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.dashboard57-actions button{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:8px 2px;font-weight:650;color:var(--accent);cursor:pointer}.dashboard57-actions button:hover{border-bottom-color:var(--accent)}
.home-editorial-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:72px;border-top:1px solid var(--line);padding-top:44px}.home-editorial-main{display:grid;gap:58px}.home-editorial-rail{border-left:1px solid var(--line);padding-left:34px;display:grid;align-content:start;gap:38px}.home-section,.home-rail-section{min-width:0}.home-rail-section{padding-bottom:28px;border-bottom:1px solid var(--line)}.home-rail-section:last-child{border-bottom:0}.dashboard57-budget-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0 12px}.dashboard57-budget-total strong{font-family:var(--font-display);font-size:34px;font-weight:400}.dashboard57-budget-list{display:grid;gap:0}.dashboard57-budget-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #E9E1D9}.dashboard57-budget-list dt,.dashboard57-budget-list dd{font-size:12px}.dashboard57-budget-track{height:3px;border-radius:0;margin-top:10px}.dashboard-task-open,.dashboard-program-row,.dashboard57-due{border-radius:0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important}.dashboard-task-open:hover,.dashboard-program-row:hover,.dashboard57-due:hover{background:#F4EEE7!important}.dashboard-program-row{grid-template-columns:74px minmax(0,1fr)}.dashboard-program-time{font-family:var(--font-display);font-size:18px}.dashboard-add-action{margin-top:12px}.dashboard57-empty{padding:14px 0;color:var(--muted)}

/* Listes / contenu métier : moins de "cards" */
.toolbar{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.task-list,.guest-list,.lodging-list{border-top:1px solid var(--line)}.task-item,.guest-item{border-radius:0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important}.task-item:hover,.guest-item:hover{background:#F4EEE7!important}.summary-row{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.summary-pill{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:17px 20px}.summary-pill:last-child{border-right:0}.summary-pill .v{font-family:var(--font-display);font-size:30px;font-weight:400}
#householdSection.card{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent}#householdSection.card.pad{padding:24px 0}.household-card,.guest-family{border-radius:8px!important;box-shadow:none!important}

/* Plan de salle : véritable espace de travail */
#page-seating .page-head{margin-bottom:12px}.seating-commandbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.seating-room-context span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.seating-room-context strong{font-family:var(--font-display);font-size:25px;font-weight:400}.seating-room-context small{color:var(--muted)}.seating-room-strip{margin:18px 0 16px;border:0;background:transparent}.seating-room-strip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.seating-room-strip-head strong{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.room-overview-grid{display:flex!important;gap:6px!important;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.room-tab-card{flex:0 0 auto;min-width:190px;max-width:260px;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:transparent!important;text-align:left;box-shadow:none!important}.room-tab-card.active{border-color:var(--accent)!important;background:var(--accent-bg)!important;box-shadow:inset 3px 0 0 var(--accent)!important}.room-tab-name{font-size:12.5px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-tab-meta{grid-column:1/-1;font-size:10.5px;color:var(--muted)}.room-tab-size{grid-column:2;grid-row:1;font-size:10px;color:var(--faint);white-space:nowrap}.seating-selection-note,.seating-quality{margin:10px 0}.seating-workspace{display:grid;grid-template-columns:260px minmax(560px,1fr) 330px;gap:18px;align-items:start}.seating-side,.seating-inspector{position:sticky;top:132px;max-height:calc(100vh - 158px);overflow:auto;scrollbar-width:thin}.seating-side{border-right:1px solid var(--line);padding-right:16px}.seating-inspector{border-left:1px solid var(--line);padding-left:18px;min-height:360px}.seating-main{min-width:0}.room-shell{padding:8px;border-radius:10px;border-color:var(--line);background:#EEE7DE}.room-canvas{border-radius:6px;border:1px solid #CBBDB0;background-color:#FFFDF9;background-image:linear-gradient(rgba(107,36,51,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(107,36,51,.055) 1px,transparent 1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.room-canvas:before{color:#8A7D73}.floor-table{border-color:#BFA8B1;background:#FCF7F8;box-shadow:0 4px 14px rgba(80,45,50,.08);border-radius:8px}.floor-table.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(107,36,51,.12)}.floor-table-core{overflow:visible}.floor-table-core strong{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:break-word!important;font-size:clamp(8px,1vw,12px)!important;line-height:1.08!important}.floor-table-meta{font-size:9.5px}.seat-person{width:28px;height:28px;background:var(--accent);box-shadow:0 2px 6px rgba(80,45,50,.24)}.seat-person.picked,.seat-person:focus-visible{box-shadow:0 0 0 3px #FFFDF9,0 0 0 5px var(--accent)!important}.seat-label{background:var(--text);border-radius:6px}.seat-pool-head{align-items:flex-start}.seat-pool-list{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;max-height:none!important}.guest-chip{width:100%;border-radius:7px!important;justify-content:flex-start;min-height:46px;padding:6px 8px;border-color:transparent!important;background:transparent!important}.guest-chip:hover{background:#F1EAE3!important}.guest-chip.picked{background:var(--accent-bg)!important;color:var(--text)!important;border-color:#DFC9D0!important}.guest-chip.picked i{background:var(--accent)!important;color:white!important}.guest-chip span{white-space:normal!important}.chip-main{display:block;font-size:12px}.chip-meta{display:block;font-size:10px;color:var(--muted);margin-top:1px}.seating-side-help{font-size:10.5px;color:var(--muted);padding-top:12px;border-top:1px solid var(--line)}.inspector-empty{padding:24px 0}.inspector-empty strong{font-family:var(--font-display);font-size:22px;font-weight:400}.inspector-empty span{font-size:12px;color:var(--muted);display:block;margin-top:6px}.inspector-table-head{padding-bottom:14px;border-bottom:1px solid var(--line)}.inspector-table-head h2,.seat-focus-person h2{font-family:var(--font-display);font-weight:400;font-size:27px}.inspector-table-tools{display:flex;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.table-guest-list{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.table-guest{border-radius:0!important;background:transparent!important;border-bottom:1px solid var(--line);padding:10px 0!important}.table-guest-inline-actions{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(88px,.75fr) 38px!important;gap:6px!important;margin-top:7px}.table-guest-control{min-height:36px!important}.inspector-table-footer{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px}.seat-focus-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.seat-focus-back{border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer;padding:0}.seat-focus-person{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.seat-focus-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-weight:800}.seat-focus-fields{padding-top:18px}.seat-focus-note{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line)}.seat-focus-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}.seat-focus-actions .btn:nth-last-child(-n+2){grid-column:1/-1}.seating-room-settings{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.seating-room-settings>summary{padding:13px 0;font-weight:700;cursor:pointer}.seating-room-settings-body{padding:8px 0 20px}.seating-list-view{margin-top:20px}

/* Prestataires et notation */
.provider-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.prov{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.prov-head{padding:17px 0!important}.prov-title{font-family:var(--font-display);font-size:23px!important;font-weight:400!important}.prov-meta{font-size:11px;color:var(--muted)}.provider-score-quick{border-left:1px solid var(--line);padding-left:18px;min-width:86px}.provider-score-quick span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.provider-score-quick strong{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--accent)}.rating-cta{border-color:var(--accent)!important;color:var(--accent)!important}.prov-body{padding:0 0 26px!important}.provider-evaluation-panel{margin:0 0 20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent!important;border-radius:0!important}.provider-evaluation-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.provider-evaluation-head span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:block}.provider-evaluation-head strong{font-family:var(--font-display);font-size:30px;font-weight:400;color:var(--accent)}.provider-evaluation-head small{font-size:10.5px;color:var(--muted)}.provider-inline-ratings{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}.provider-inline-ratings label span{font-size:11px;font-weight:700;color:var(--muted);display:block;margin-bottom:4px}.quote-group{border-radius:8px!important;box-shadow:none!important}

/* Budget et paiements */
#page-budget .metrics,#page-payments .metrics{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 30px}.metric{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:22px 18px;overflow:visible}.metric:last-child{border-right:0}.metric:before{display:none}.metric .mv{font-family:var(--font-display);font-size:34px;font-weight:400;overflow:visible;color:var(--ink)}.metric .ml{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.budget-key-metric{background:transparent!important;border-color:var(--line)!important;color:inherit!important}.budget-key-metric .ml,.budget-key-metric .mv,.budget-key-metric .mx{color:inherit!important;opacity:1!important}.pricing-basis{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0 0 18px}.pricing-basis .field{max-width:430px}.scen-bar{border-top:1px solid var(--line)}

/* Programme */
.program-list{gap:0}.program-day{gap:0}.program-day-head{padding:32px 0 12px;border-bottom:1px solid var(--line)}.program-day-head strong{font-size:24px}.program-item{grid-template-columns:170px minmax(0,1fr) auto;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:18px 4px;overflow:visible}.program-item:before{display:none}.program-time{font-size:20px}.program-title-text{font-family:var(--font-display);font-size:20px;font-weight:400}.program-actions{align-self:center}.program-toolbar.card{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:14px 0}

/* Modales, menus, auth */
.overlay{background:rgba(42,36,33,.45)}.modal{border-radius:16px;border-color:var(--line);box-shadow:var(--shadow-modal);background:var(--panel)}.modal-h,.modal-f{border-color:var(--line)}.action-menu-pop,.seating-add-pop{border-radius:10px;box-shadow:var(--shadow-floating);border-color:var(--line);background:var(--panel)}.gate{background:var(--bg)}.gate-card{max-width:460px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow-floating);padding:36px}.login-logo{width:min(260px,85%);height:auto}.auth-choice{justify-content:flex-start;text-align:left}.public-shell{background:var(--panel);border-color:var(--line);border-radius:12px}

/* Footer */
.app-footer{display:flex;align-items:center;gap:18px;margin-top:72px;padding:20px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.app-footer>span:first-child{font-family:var(--font-display);font-size:16px;color:var(--ink)}.app-footer button{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer}.app-footer button:hover{color:var(--accent)}

/* Mobile Plus */
.mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px 18px 12px}.mobile-more-grid button{display:flex;align-items:center;gap:10px;min-height:54px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-weight:650;text-align:left;padding:10px 4px;cursor:pointer}.mobile-more-grid button:nth-child(odd){margin-right:10px}.mobile-more-grid button:nth-child(even){margin-left:10px}.mobile-more-actions{display:flex;gap:8px;padding:14px 18px 20px;border-top:1px solid var(--line)}.mobile-more-actions .btn{flex:1}

/* Responsive réellement dédié */
@media(max-width:1180px){
  .app{padding-inline:28px}.topbar{margin-inline:-28px;padding-inline:28px}.brand-wedding{font-size:20px}.nav button,.nav-more>summary{padding-inline:10px;font-size:12px}.seating-workspace{grid-template-columns:220px minmax(520px,1fr) 290px;gap:12px}.home-editorial-grid{gap:40px}.home-editorial-rail{padding-left:24px}
}
@media(max-width:980px){
  .brand{flex-wrap:wrap}.brand .actions{margin-left:auto}.nav{overflow-x:auto}.home-editorial-head{grid-template-columns:1fr;gap:28px;padding-top:42px}.home-editorial-status{grid-template-columns:220px 1fr;align-items:end}.compact-countdown{text-align:left}.home-editorial-grid{grid-template-columns:1fr}.home-editorial-rail{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;grid-template-columns:repeat(3,1fr);gap:22px}.home-rail-section{border-bottom:0;border-right:1px solid var(--line);padding:0 20px 0 0}.home-rail-section:last-child{border-right:0}.seating-workspace{grid-template-columns:230px minmax(560px,1fr);overflow-x:auto;padding-bottom:8px}.seating-inspector{position:fixed;z-index:56;right:18px;top:auto;bottom:18px;width:min(390px,calc(100vw - 36px));max-height:72vh;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow-modal)}.seating-inspector:empty{display:none}.provider-inline-ratings{grid-template-columns:1fr 1fr}#page-budget .metrics,#page-payments .metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  .app{padding:0 18px calc(92px + env(safe-area-inset-bottom))}.topbar{position:relative;margin:0 -18px;padding:14px 18px 10px}.brand{margin-bottom:0}.brand h1{flex:1 1 220px}.brand-mark{width:40px;height:40px}.brand-name{font-size:9px}.brand-wedding{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.brand .actions{gap:4px}.sync,.top-tools-menu,.command-trigger{display:none!important}.nav{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:60;left:0;right:0;bottom:0;background:rgba(253,251,248,.98);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -24px rgba(42,36,33,.4)}.mobile-nav button{min-height:50px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:10px;font-weight:650}.mobile-nav button .ico{font-size:19px}.mobile-nav button.active{color:var(--accent)}.page-head{padding:28px 0 18px;align-items:flex-start}.page-head h2{font-size:38px}.page-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.page-actions>*{flex:0 0 auto}.module-links{overflow-x:auto;white-space:nowrap}.module-links button{flex:0 0 auto}.home-editorial-head{padding:36px 0 24px}.home-editorial-title h2{font-size:45px}.home-editorial-status{grid-template-columns:1fr auto;gap:16px}.compact-countdown strong{font-size:38px}.home-progress-slot{align-self:end}.home-priority-block{padding:34px 0}.home-section-heading h3{font-size:26px}.smart-priority-card{grid-template-columns:34px minmax(0,1fr) auto;padding:15px 0}.dashboard57-actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.dashboard57-actions button{flex:0 0 auto}.home-editorial-grid{padding-top:30px}.home-editorial-main{gap:42px}.home-editorial-rail{grid-template-columns:1fr;gap:26px}.home-rail-section{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.summary-row{display:grid;grid-template-columns:1fr 1fr}.summary-pill:nth-child(2){border-right:0}.summary-pill:nth-child(-n+2){border-bottom:1px solid var(--line)}.seating-commandbar{align-items:flex-start;flex-direction:column}.seating-command-actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.seating-command-actions>*{flex:0 0 auto}.room-overview-grid{margin-inline:-18px;padding-inline:18px}.seating-workspace{display:block;overflow:visible}.seating-side{position:static;max-height:none;border-right:0;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.seat-pool-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:210px!important;overflow:auto!important}.guest-chip{min-width:0}.room-shell{overflow:auto;margin-inline:-18px;border-radius:0;border-left:0;border-right:0;padding:8px 18px}.room-canvas{min-width:620px}.seating-inspector{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;max-height:62vh;padding:16px}.seating-room-settings{margin-top:14px}.table-guest-inline-actions{grid-template-columns:1fr 95px 38px!important}.provider-head-actions{width:100%;justify-content:flex-start!important}.provider-score-quick{margin-left:auto}.provider-inline-ratings{grid-template-columns:1fr 1fr}.program-item{grid-template-columns:1fr;padding:15px 0}.program-actions{justify-content:flex-start}.program-time{font-size:19px}.program-title-text{font-size:19px}#page-budget .metrics,#page-payments .metrics{grid-template-columns:1fr 1fr}.metric{padding:16px 10px}.metric .mv{font-size:28px}.gate-card{margin:16px;padding:28px 20px}.modal{border-radius:16px 16px 0 0;max-height:92vh}.overlay{align-items:flex-end}.mobile-more-sheet{width:100%;max-width:none;margin:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.app-footer{display:none}
}
@media(max-width:480px){
  .home-editorial-title h2{font-size:40px}.home-editorial-status{grid-template-columns:1fr}.compact-countdown{text-align:left}.summary-row{grid-template-columns:1fr}.summary-pill{border-right:0!important;border-bottom:1px solid var(--line)}.seat-pool-list{grid-template-columns:1fr!important}.provider-inline-ratings{grid-template-columns:1fr}#page-budget .metrics,#page-payments .metrics{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)!important}.metric:last-child{border-bottom:0!important}.mobile-more-grid{grid-template-columns:1fr}.mobile-more-grid button{margin:0!important}.table-guest-inline-actions{grid-template-columns:1fr 86px 38px!important}.brand-wedding{max-width:58vw}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Auth landing — expression de marque, sans hero SaaS générique */
#gateAuth{padding:0;background:#2A2421}.auth-landing{width:min(1180px,calc(100% - 48px));min-height:min(720px,calc(100vh - 48px));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);margin:auto;border:1px solid rgba(247,243,236,.12);background:#2A2421}.auth-story{padding:64px 68px;display:flex;flex-direction:column;justify-content:space-between;min-height:680px;border-right:1px solid rgba(247,243,236,.13);color:#F7F3EC}.auth-story-logo{width:230px;height:auto}.auth-story-copy{max-width:650px}.auth-story-copy .page-kicker{color:#D5C09B}.auth-story-copy h1{font-family:var(--font-display);font-size:clamp(54px,6vw,82px);font-weight:400;line-height:.94;letter-spacing:-.035em;margin:12px 0 22px;color:#F7F3EC}.auth-story-copy p{max-width:560px;font-size:17px;line-height:1.7;color:#D8CEC4}.auth-story-index{display:flex;gap:28px;border-top:1px solid rgba(247,243,236,.15);padding-top:18px}.auth-story-index span{font-size:10px;color:#998D84;letter-spacing:.08em;text-transform:uppercase}.auth-story-index b{display:block;color:#F7F3EC;font-size:12px;letter-spacing:0;text-transform:none;margin-top:4px}.auth-entry-card{align-self:center;margin:42px;background:#FDFBF8;box-shadow:none;border:0;border-radius:0;padding:34px}.auth-entry-card h2{font-family:var(--font-display);font-size:34px;font-weight:400;margin-bottom:24px}.auth-entry-card .auth-choices{display:grid;gap:10px}.auth-entry-card .auth-choice{min-height:52px;justify-content:flex-start}.auth-entry-card .auth-status{margin-top:18px;font-size:11px;color:var(--muted)}
@media(max-width:840px){#gateAuth{padding:0}.auth-landing{width:100%;min-height:100vh;grid-template-columns:1fr;border:0}.auth-story{min-height:44vh;padding:32px 24px;border-right:0;border-bottom:1px solid rgba(247,243,236,.13)}.auth-story-logo{width:190px}.auth-story-copy h1{font-size:48px}.auth-story-copy p{font-size:15px}.auth-story-index{display:none}.auth-entry-card{margin:0;border-radius:0;padding:30px 24px;align-self:stretch}}

/* ==========================================================================
   Jour J v60 — interface inspirée des repères visuels fournis
   Hiérarchie en deux niveaux, accent corail, cartes blanches, outils aérés.
   ========================================================================== */
:root{
  --bg:#ffffff;--panel:#ffffff;--panel-strong:#ffffff;--line:#dedede;--line2:#cfcfcf;
  --text:#252525;--muted:#777777;--faint:#a2a2a2;
  --accent:#ef4f62;--accent-d:#d93d51;--accent-bg:#fff1f3;
  --green:#27a34d;--green-bg:#eef9f1;--amber:#e89428;--amber-bg:#fff7e9;--red:#d95151;--red-bg:#fff0f0;--blue:#5d7fbd;--blue-bg:#eef4ff;
  --gold:#ef4f62;--gold-l:#ffadb7;--ink:#252525;
  --font-display:Georgia,'Times New Roman',serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --shadow-subtle:0 1px 2px rgba(0,0,0,.04);--shadow-card:0 4px 18px rgba(0,0,0,.07);--shadow-floating:0 12px 36px rgba(0,0,0,.13);--shadow-modal:0 28px 80px rgba(0,0,0,.20)
}
html,body{background:#fff!important;color:var(--text)!important}
body{font-size:15px!important;line-height:1.5!important;letter-spacing:0!important}
.app{max-width:none!important;margin:0!important;padding:0 0 88px!important;background:#fff!important}
.page{max-width:1540px!important;margin:0 auto!important;padding:0 48px!important}
.card,.metric,.summary-pill,.quote-group,.compare-duel-card{background:#fff!important;border-color:var(--line)!important;box-shadow:none!important}
.card{border-radius:12px!important}
.card.pad{padding:24px!important}
.btn{min-height:44px!important;border-radius:9px!important;border-color:#d8d8d8!important;background:#fff!important;color:#2c2c2c!important;font-weight:650!important}
.btn:hover{border-color:#b9b9b9!important;background:#fafafa!important;box-shadow:none!important}
.btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.btn.primary:hover{background:var(--accent-d)!important;border-color:var(--accent-d)!important}
.btn.tertiary{border:0!important;background:transparent!important;color:#c8384a!important}
.btn.danger{color:var(--red)!important;background:transparent!important;border-color:transparent!important}
input,select,textarea{border-radius:8px!important;border-color:#d7d7d7!important;background:#fff!important;min-height:46px!important}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(239,79,98,.11)!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(239,79,98,.22)!important;outline-offset:2px!important}
.progress-ring{height:8px!important;border-radius:999px!important;background:#efefef!important}.progress-ring>span{border-radius:999px!important;background:var(--accent)!important}
.badge{border-radius:999px!important}

/* En-tête à deux niveaux */
.topbar{position:sticky!important;top:0!important;z-index:50!important;margin:0!important;padding:0!important;background:rgba(255,255,255,.985)!important;border-bottom:1px solid #dedede!important;backdrop-filter:blur(10px)!important;overflow:visible!important}
.reference-header-main{max-width:1660px;margin:0 auto;min-height:88px;padding:0 42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:38px;border-bottom:1px solid #e5e5e5}
.reference-brand-wrap{margin:0!important;padding:0!important;font:inherit!important}
.reference-brand{display:flex!important;align-items:center!important;gap:9px!important;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap!important}
.reference-heart{font-family:Arial,sans-serif;font-size:56px;line-height:.7;color:#ff6776;font-weight:300;transform:rotate(-7deg);display:inline-block;margin-top:-4px}
.reference-logo-text{font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:700;letter-spacing:-1.2px;color:#303030}
.reference-main-links{display:flex;align-items:center;gap:30px;min-width:0;overflow:hidden}
.reference-main-links button{border:0;background:transparent;color:#222;font-size:15px;font-weight:700;padding:12px 0;cursor:pointer;white-space:nowrap}
.reference-main-links button:hover,.reference-main-links button.active{color:var(--accent)}
.reference-utility{display:flex;align-items:center;gap:14px}.reference-utility .sync{font-size:11px;color:#999}.reference-utility .sync .dot{width:8px;height:8px}
.reference-icon-button{width:42px;height:42px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#222}.reference-icon-button:hover{background:#f6f6f6}.reference-icon-button .ico{width:22px;height:22px;stroke-width:1.6}
.reference-avatar{width:44px;height:44px;border-radius:50%;border:2px solid #8fd3e0;background:#f4f8f8;display:grid;place-items:center;font-size:11px;font-weight:800;cursor:pointer;color:#333;list-style:none}.reference-avatar::-webkit-details-marker{display:none}.top-tools-menu{position:relative}.top-tools-menu .action-menu-pop{right:0;top:calc(100% + 10px)}
.reference-tool-nav{max-width:1540px!important;margin:0 auto!important;padding:0 30px!important;display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:0!important;overflow:visible!important;align-items:stretch!important}
.reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{min-height:114px!important;padding:18px 10px 20px!important;border:0!important;border-bottom:4px solid transparent!important;border-radius:0!important;background:transparent!important;color:#181818!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:9px!important;font-size:15px!important;font-weight:500!important;cursor:pointer!important;white-space:nowrap!important;list-style:none!important}
.reference-tool-nav>button:hover,.reference-tool-nav>.nav-more>summary:hover{background:#fafafa!important;color:#111!important}
.reference-tool-nav>button.active{border-bottom-color:#ff6876!important;color:#171717!important;background:transparent!important}
.reference-tool-nav .ico{width:34px!important;height:34px!important;stroke-width:1.35!important;color:#111!important;opacity:1!important}
.reference-tool-nav .nav-more{position:relative!important;display:block!important}.reference-tool-nav .nav-more>summary::-webkit-details-marker{display:none}.reference-tool-nav .nav-more-pop{top:calc(100% - 6px)!important;right:0!important;min-width:235px!important;border:1px solid #dedede!important;background:#fff!important;border-radius:10px!important;box-shadow:var(--shadow-floating)!important;padding:6px!important}
.reference-tool-nav .nav-more-pop button{min-height:42px!important;width:100%!important;justify-content:flex-start!important;padding:9px 11px!important;border:0!important;border-radius:7px!important;font-size:13px!important}.reference-tool-nav .nav-more-pop button:hover{background:#f7f7f7!important}
.module-links{display:none!important}
.mobile-nav{display:none}

/* Titres et marges de pages */
.page-head{padding:42px 0 24px!important;margin:0 0 26px!important;border-bottom:1px solid #e1e1e1!important;align-items:flex-end!important}
.page-head .page-kicker{display:none!important}.page-head h2{font-family:Georgia,'Times New Roman',serif!important;font-size:34px!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.5px!important;color:#292929!important}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-actions .btn.primary{padding-inline:19px!important}
.section-h h2,.home-section-heading h3{font-family:Georgia,'Times New Roman',serif!important;color:#292929!important}
.toolbar{border-color:#e0e0e0!important;background:#fff!important;border-radius:10px!important}

/* Dashboard : bandeau bleu pâle et carte de bienvenue */
#page-dashboard{max-width:none!important;padding:38px 0 0!important;position:relative!important;isolation:isolate}
#page-dashboard:before{content:'';position:absolute;z-index:-1;left:0;right:0;top:0;height:450px;background:#edf3ff}
.dashboard-reference-hero{max-width:1530px!important;margin:0 auto!important;padding:36px 38px!important;border:0!important;border-radius:20px!important;background:#fff!important;box-shadow:0 6px 22px rgba(44,66,110,.07)!important;display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;gap:30px!important;align-items:center!important}
.dashboard-reference-photo{height:245px;border-radius:12px;overflow:hidden;position:relative;background:#edf3ff}.dashboard-reference-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.dashboard-photo-countdown{position:absolute;left:0;right:0;bottom:0;padding:16px 18px!important;background:linear-gradient(180deg,transparent,rgba(0,0,0,.60))!important;text-align:right!important;color:#fff!important;display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;gap:18px!important}.dashboard-photo-countdown strong{font-family:var(--font-ui)!important;font-size:23px!important;color:#fff!important;font-weight:800!important;line-height:1!important}.dashboard-photo-countdown span{font-size:10px!important;color:#fff!important;max-width:100px;line-height:1.2;text-align:left;margin:0!important}
.dashboard-reference-content{min-width:0}.dashboard-reference-content .home-editorial-title h2{font-family:Georgia,'Times New Roman',serif!important;font-size:36px!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.7px!important;margin:0!important;color:#2b2b2b!important}.dashboard-reference-content .page-kicker{font-family:var(--font-ui)!important;font-size:16px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:#333!important;margin-bottom:8px!important}.home-editorial-meta{font-size:14px!important;color:#686868!important;margin-top:8px!important}
.home-editorial-status{display:block!important;margin-top:18px!important}.home-progress-slot .planning-overview{border:0!important;padding:0!important;background:transparent!important}.home-progress-slot .planning-overview-top{display:flex!important;align-items:center!important;gap:12px!important}.home-progress-slot .planning-overview-top strong{font-family:var(--font-ui)!important;font-size:13px!important;font-weight:700!important}.home-progress-slot .planning-overview-top span:last-child{font-size:12px!important}.home-progress-slot .planning-overview-bar{height:6px!important;border-radius:999px!important;background:#eee!important}.home-progress-slot .planning-overview-bar i{background:var(--accent)!important;border-radius:999px!important}
.dashboard-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-top:22px!important;border:0!important}.dashboard-kpi-card{min-height:124px!important;border:1px solid #e3e3e3!important;border-radius:14px!important;background:#fff!important;padding:18px 20px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;box-shadow:0 2px 8px rgba(0,0,0,.04)!important;cursor:pointer!important}.dashboard-kpi-card:hover{border-color:#ff9aa5!important;box-shadow:0 5px 14px rgba(0,0,0,.06)!important}.dashboard-kpi-label{font-size:13px!important;font-weight:700!important;color:#333!important}.dashboard-kpi-card strong{font-family:var(--font-ui)!important;font-size:22px!important;font-weight:500!important;margin-top:7px!important;color:#292929!important}.dashboard-kpi-card small{font-size:11px!important;color:#777!important;margin-top:4px!important}.dashboard-kpi-track{height:5px!important;width:100%;margin-top:auto!important;background:#eee!important;border-radius:999px!important}.dashboard-kpi-track i{height:100%;display:block;background:var(--accent)!important;border-radius:999px!important}
#page-dashboard>.onboarding,#page-dashboard>.dashboard-attention,#page-dashboard>.home-priority-block,#page-dashboard>.home-editorial-grid{max-width:1530px!important;margin-left:auto!important;margin-right:auto!important}
.home-priority-block{margin-top:42px!important;padding:26px 28px!important;border:1px solid #e2e2e2!important;border-radius:16px!important;background:#fff!important}.home-section-heading h3{font-size:29px!important;font-weight:700!important}.home-section-heading .page-kicker{color:#777!important;font-size:11px!important;letter-spacing:.1em!important}.smart-priority-grid{border-top:1px solid #e6e6e6!important}.smart-priority-card{padding:16px 2px!important}.smart-priority-card:hover{background:#fafafa!important}.priority-rank{color:#a0a0a0!important}.priority-arrow{color:var(--accent)!important}
.home-editorial-grid{margin-top:34px!important;padding-top:0!important;border-top:0!important;display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr)!important;gap:28px!important}.home-editorial-main,.home-editorial-rail{gap:28px!important}.home-editorial-rail{border-left:0!important;padding-left:0!important}.home-section,.home-rail-section{border:1px solid #e1e1e1!important;border-radius:14px!important;background:#fff!important;padding:24px!important}.home-rail-section{padding-bottom:24px!important}.dashboard-task-open,.dashboard-program-row,.dashboard57-due{border-color:#e8e8e8!important}.dashboard-task-open:hover,.dashboard-program-row:hover,.dashboard57-due:hover{background:#fafafa!important}

/* Rétro-planning */
.task-reference-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:46px;align-items:start;padding-bottom:40px}
.task-reference-sidebar{padding-right:28px;border-right:1px solid #e2e2e2;position:sticky;top:220px}.reference-side-section{padding:0 0 28px;margin-bottom:26px;border-bottom:1px solid #e1e1e1}.reference-side-section:last-child{border-bottom:0}.reference-side-title{text-transform:uppercase;font-size:12px;letter-spacing:.07em;font-weight:800;margin-bottom:14px;color:#292929}.reference-search-chip{min-height:42px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:22px;background:#fff;font-size:14px;display:flex;align-items:center;gap:7px;cursor:pointer}.reference-search-chip.active{border-color:#ff9ba5;background:#fff7f8}.reference-filter-link{width:100%;min-height:42px;border:0;background:transparent;padding:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:#333;text-align:left;font-size:14px}.reference-filter-link>span{display:flex;align-items:center;gap:10px}.reference-filter-link b{font-weight:500;color:#8f8f8f}.reference-filter-link:hover,.reference-filter-link.active{color:#222;font-weight:700}.state-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#bbb}.state-dot.done{background:#48a856}.state-dot.pending{background:#f0a443}.state-dot.late{background:#e45a5a}
.task-reference-main{min-width:0}.task-progress-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,520px);gap:22px;align-items:center;margin:4px 0 28px}.task-progress-reference>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.task-progress-reference strong{font-size:16px}.task-progress-reference span{font-size:12px}.task-add-reference{width:100%;height:72px;border:1px solid #dedede;border-radius:10px;background:#fff;display:flex;align-items:center;gap:16px;padding:0 20px;color:#999;font-size:17px;cursor:pointer;text-align:left}.task-add-reference:hover{border-color:#ff9ba5;background:#fffafb}.task-add-plus{width:42px;height:42px;border:1.5px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:34px;line-height:1;font-weight:200}.task-list{display:grid!important;gap:28px!important;margin-top:28px}.task-retro-group{display:grid;gap:10px}.task-retro-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.task-retro-heading h3{font-size:20px;font-weight:700;color:#222}.task-retro-heading span{font-size:12px;color:#888}.task-retro-list{border:1px solid #dfdfdf;border-radius:10px;background:#fff;overflow:hidden}.task-retro-list .task-item{border:0!important;border-radius:0!important;border-bottom:1px solid #e5e5e5!important;background:#fff!important;padding:18px 18px!important}.task-retro-list .task-item:last-child{border-bottom:0!important}.task-retro-list .task-item:hover{background:#fcfcfc!important}.task-title{font-size:15px!important;font-weight:500!important}.task-meta{font-size:11px!important;color:#999!important}.check{width:28px!important;height:28px!important;min-height:28px!important;accent-color:var(--accent)!important}

/* Invités */
#page-guests .page-head{margin-bottom:0!important}.guest-portal-status{margin-top:22px!important}.summary-row#guestSummary{display:grid!important;grid-template-columns:1.25fr 1.25fr 1fr!important;gap:0!important;border:0!important;border-bottom:1px solid #e0e0e0!important;padding:24px 0!important;margin:0 0 26px!important}.guest-summary-block{min-height:92px;display:flex;align-items:center;gap:18px;padding:0 32px;border-right:1px solid #e2e2e2}.guest-summary-block:first-child{padding-left:0}.guest-summary-block:last-child{border-right:0}.guest-summary-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;color:#282828}.guest-summary-icon .ico{width:48px;height:48px;stroke-width:1.2}.guest-summary-icon.heart{font-size:58px;color:#e9a6a9;font-family:Arial,sans-serif;line-height:1}.guest-summary-block>div>strong{font-size:22px;line-height:1}.guest-summary-block>div>span{display:block;margin-top:4px;font-size:14px}.guest-summary-block>div>small{display:block;margin-top:8px;color:#777;font-size:11px}.guest-answer-stats{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px;width:100%}.guest-answer-stats>span{display:block!important}.guest-answer-stats strong{display:block;font-size:20px}.guest-answer-stats small{display:block;font-size:11px;color:#555;margin-top:5px}
#householdSection{border-radius:12px!important;margin-bottom:24px!important}.guest-family{border-radius:9px!important;border-color:#e0e0e0!important}.guest-family-head{background:#fafafa!important;border-color:#e3e3e3!important}.guest-family-title{font-size:15px!important}.guest-item{border-radius:0!important}.guest-family .guest-item+.guest-item{border-color:#ececec!important}.status-select{border-radius:6px!important}.guest-table-select{border-radius:6px!important}.toolbar:has(#guestSearch){padding:12px!important;border:1px solid #dfdfdf!important;border-radius:10px!important;margin-bottom:16px!important}

/* Prestataires */
.provider-engagement{margin-top:24px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#8a8a8a}.provider-category-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin:34px 0 24px}.provider-category-card{min-height:210px;border:0;border-radius:12px;background:#f4f4f4;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#2b2b2b;position:relative;overflow:hidden}.provider-category-card:hover{box-shadow:0 7px 18px rgba(0,0,0,.08);transform:translateY(-2px)}.provider-category-card.active{box-shadow:0 0 0 2px var(--accent) inset}.provider-category-card.featured{background:linear-gradient(160deg,#567958,#8ea58d);color:#fff}.provider-category-card.all{background:#fff5f6;border:1px solid #ffd4d9}.provider-category-icon{width:58px;height:58px;display:grid;place-items:center}.provider-category-icon .ico{width:52px;height:52px;stroke-width:1.1}.provider-category-card strong{font-size:17px;font-weight:500;text-align:center}.provider-category-card small{font-size:12px;color:#858585}.provider-category-card.featured small{color:rgba(255,255,255,.85)}.provider-toolbar{border:0!important;border-top:1px solid #e0e0e0!important;border-bottom:1px solid #e0e0e0!important;padding:14px 0!important;margin:8px 0 0!important;border-radius:0!important}.provider-toolbar input{max-width:620px}
.prov{border:0!important;border-bottom:1px solid #e1e1e1!important}.prov-head{padding:20px 0!important}.prov-title{font-family:var(--font-ui)!important;font-size:18px!important;font-weight:700!important}.prov-body{padding-bottom:24px!important}.provider-evaluation-panel{border-color:#e5e5e5!important}.quote-group{border-radius:10px!important}

/* Budget */
.budget-reference-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:42px;align-items:start}.budget-reference-sidebar{border:1px solid #dedede;border-radius:10px;background:#fff;overflow:hidden;position:sticky;top:220px}.budget-new-category{width:100%;min-height:66px;border:0;border-bottom:1px solid #dfdfdf;background:#fff;color:#c93649;font-size:15px;font-weight:700;text-align:left;padding:0 18px;cursor:pointer}.budget-new-category span{font-size:25px;vertical-align:-2px;margin-right:8px;color:#ff6473}.budget-category-sidebar{display:grid}.budget-category-row{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid #e6e6e6}.budget-category-row:last-child{border-bottom:0}.budget-category-row span{font-size:14px;font-weight:600}.budget-category-row strong{font-size:13px;color:#858585;font-style:italic}.budget-category-empty{padding:20px;font-size:12px;color:#777;line-height:1.5}.budget-reference-main{min-width:0}
#page-budget .metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;margin:0 0 26px!important;border:1px solid #dedede!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;position:relative!important;padding-top:78px!important}#page-budget .metrics:before{content:'Mon budget';position:absolute;left:0;right:0;top:0;height:78px;display:grid;place-items:center;border-bottom:1px solid #e5e5e5;font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:700;color:#2a2a2a}
#page-budget .metric{border:0!important;border-radius:0!important;padding:34px 28px!important;min-height:170px!important;align-items:center!important;text-align:center!important;justify-content:center!important;background:#fff!important}.budget-key-metric{order:2!important;border-left:1px solid #e2e2e2!important}.metric:nth-child(2){order:1!important}.metric:nth-child(3){order:3!important;border-top:1px solid #e2e2e2!important}.metric:nth-child(4){order:4!important;border-top:1px solid #e2e2e2!important;border-left:1px solid #e2e2e2!important}.metric .ml{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#2d2d2d!important;justify-content:center!important}.metric .ml .ico{width:30px!important;height:30px!important;margin-right:8px!important;stroke-width:1.2!important}.metric .mv{font-family:var(--font-ui)!important;font-size:29px!important;font-weight:600!important;margin-top:10px!important}.metric .mx{font-size:11px!important;color:#777!important}.pricing-basis{padding:14px 18px!important;margin-bottom:18px!important}.pricing-basis .field{margin:0!important;display:flex!important;align-items:center!important;gap:12px!important}.pricing-basis label{margin:0!important;white-space:nowrap}.pricing-basis select{max-width:360px}.scenario-toolbar{border-color:#dedede!important;border-radius:10px!important}.budget-quote{border-radius:10px!important}.budget-quote.selected{border-color:#ff8894!important;box-shadow:0 0 0 1px #ff8894!important}.budget-quote-choice{background:#fff!important}.budget-quote.selected .budget-quote-choice{background:#fff7f8!important}

/* Plan de salle */
#page-seating .page-head{margin-bottom:16px!important}.seating-commandbar,.seating-room-strip,.seating-quality{border-color:#e0e0e0!important;background:#fff!important}.seating-workspace{grid-template-columns:280px minmax(650px,1fr) 320px!important;gap:0!important;border:1px solid #dedede!important;background:#fff!important;min-height:650px}.seating-side{padding:22px!important;border-right:1px solid #dfdfdf!important;background:#fff!important}.seating-main{padding:0!important}.room-shell{border:0!important;border-radius:0!important;background:#fff!important;padding:0!important}.room-canvas{min-height:650px!important;border:0!important;border-radius:0!important;background-color:#fff!important;background-image:linear-gradient(#ececec 1px,transparent 1px),linear-gradient(90deg,#ececec 1px,transparent 1px)!important;background-size:34px 34px!important}.room-canvas:before{display:none!important}.seating-inspector{border-left:1px solid #dfdfdf;padding:22px!important;background:#fff!important}.floor-table{border:1.5px solid #555!important;background:#fff!important;box-shadow:none!important}.floor-table.selected{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(239,79,98,.12)!important}.seat-person{background:#fff!important;color:#333!important;border:1.5px solid #999!important;box-shadow:none!important}.seat-person.child{background:#f3f7ff!important}.guest-chip{border-color:#ddd!important;background:#fff!important}

/* Autres modules : même langage */
.program-item,.planner-card,.lodging-card,.payment-history-item,.compare-duel-card{border-radius:10px!important;border-color:#e0e0e0!important;background:#fff!important}.program-item:hover,.planner-card:hover,.lodging-card:hover{border-color:#ffabb4!important}.program-time{color:#c93649!important}.program-title-text{font-family:var(--font-ui)!important;font-weight:650!important}.summary-row:not(#guestSummary){border-radius:10px!important;border:1px solid #e0e0e0!important;overflow:hidden!important}.summary-pill{background:#fff!important}.summary-pill .v{font-family:var(--font-ui)!important}
table{background:#fff!important}th{background:#fafafa!important;color:#555!important}tbody tr:hover{background:#fff9fa!important}
.modal{border-radius:14px!important;background:#fff!important}.modal-h,.modal-f{border-color:#e1e1e1!important}.overlay{background:rgba(20,20,20,.42)!important}.action-menu-pop,.seating-add-pop{background:#fff!important;border-color:#ddd!important;box-shadow:var(--shadow-floating)!important}

/* Auth / espace public dans la même esthétique */
#gateAuth{background:#fff!important;padding:0!important}.auth-landing{width:min(1180px,calc(100% - 48px))!important;min-height:min(700px,calc(100vh - 48px))!important;background:#fff!important;border:1px solid #e0e0e0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 18px 50px rgba(0,0,0,.09)!important}.auth-story{background:#edf3ff!important;color:#2b2b2b!important;border-right:1px solid #dde5f3!important}.auth-story-copy .page-kicker{color:#c93649!important}.auth-story-copy h1{color:#2b2b2b!important;font-size:clamp(48px,5.4vw,72px)!important}.auth-story-copy p{color:#5f6570!important}.auth-story-index{border-top-color:#d6dfef!important}.auth-story-index span{color:#7f8794!important}.auth-story-index b{color:#2b2b2b!important}.auth-entry-card{background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important}.auth-entry-card h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:700!important}.gate{background:#f7f7f7!important}.gate-card{background:#fff!important;border-color:#dfdfdf!important}.public-shell{background:#fff!important;border-color:#dedede!important}

/* Responsive */
@media(max-width:1240px){
  .reference-header-main{padding-inline:26px;gap:24px}.reference-main-links{gap:20px}.reference-main-links button{font-size:13px}.reference-tool-nav{padding-inline:18px!important}.reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{font-size:13px!important}.page{padding-inline:32px!important}.dashboard-reference-hero,#page-dashboard>.onboarding,#page-dashboard>.dashboard-attention,#page-dashboard>.home-priority-block,#page-dashboard>.home-editorial-grid{width:calc(100% - 64px)!important}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.budget-reference-layout{grid-template-columns:250px minmax(0,1fr);gap:26px}.seating-workspace{grid-template-columns:240px minmax(620px,1fr)!important;overflow-x:auto!important}.seating-inspector{position:fixed!important;right:20px!important;bottom:20px!important;top:auto!important;width:360px!important;max-height:65vh!important;z-index:60!important;border:1px solid #ddd!important;border-radius:12px!important;box-shadow:var(--shadow-floating)!important}.provider-category-overview{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .reference-main-links{display:none}.reference-header-main{grid-template-columns:1fr auto;min-height:72px}.reference-heart{font-size:45px}.reference-logo-text{font-size:26px}.reference-tool-nav{grid-template-columns:repeat(5,minmax(120px,1fr))!important;overflow-x:auto!important;justify-content:start!important}.reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{min-height:96px!important}.page{padding-inline:24px!important}.dashboard-reference-hero{grid-template-columns:190px minmax(0,1fr)!important;padding:28px!important}.dashboard-reference-photo{height:210px}.home-editorial-grid{grid-template-columns:1fr!important}.task-reference-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}.budget-reference-layout{grid-template-columns:1fr}.budget-reference-sidebar{position:static;display:grid;grid-template-columns:1fr}.budget-category-sidebar{grid-template-columns:repeat(2,1fr)}.budget-category-row{border-right:1px solid #e6e6e6}.provider-category-overview{grid-template-columns:repeat(2,1fr)}.summary-row#guestSummary{grid-template-columns:1fr 1fr!important}.guest-summary-block:last-child{grid-column:1/-1;border-top:1px solid #e2e2e2;padding:20px 0;border-right:0}.guest-summary-block:nth-child(2){border-right:0}
}
@media(max-width:760px){
  .app{padding-bottom:92px!important}.topbar{position:relative!important}.reference-header-main{padding:0 16px;min-height:64px}.reference-utility .sync{display:none}.reference-tool-nav{display:none!important}.mobile-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important;position:fixed!important;z-index:70!important;left:0!important;right:0!important;bottom:0!important;background:#fff!important;border-top:1px solid #ddd!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important}.mobile-nav button{min-height:50px!important;border:0!important;background:#fff!important;color:#666!important;display:grid!important;place-items:center!important;gap:3px!important;font-size:10px!important}.mobile-nav button.active{color:var(--accent)!important}.page{padding-inline:18px!important}.page-head{padding-top:28px!important;align-items:flex-start!important}.page-head h2{font-size:31px!important}.page-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.page-actions>*{flex:0 0 auto}#page-dashboard{padding-top:18px!important}#page-dashboard:before{height:380px}.dashboard-reference-hero{width:calc(100% - 28px)!important;grid-template-columns:1fr!important;padding:18px!important;gap:18px!important;border-radius:14px!important}.dashboard-reference-photo{height:180px}.dashboard-reference-content .home-editorial-title h2{font-size:29px!important}.dashboard-kpis{grid-template-columns:1fr 1fr!important;gap:10px!important}.dashboard-kpi-card{min-height:110px!important;padding:14px!important}.dashboard-kpi-card strong{font-size:18px!important}#page-dashboard>.onboarding,#page-dashboard>.dashboard-attention,#page-dashboard>.home-priority-block,#page-dashboard>.home-editorial-grid{width:calc(100% - 36px)!important}.home-priority-block{padding:20px!important}.home-section,.home-rail-section{padding:20px!important}.task-reference-layout{grid-template-columns:1fr}.task-reference-sidebar{position:static;border-right:0;border-bottom:1px solid #e2e2e2;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.reference-side-section:first-child{grid-column:1/-1}.task-progress-reference{grid-template-columns:1fr;gap:10px}.task-add-reference{height:62px}.summary-row#guestSummary{grid-template-columns:1fr!important}.guest-summary-block{border-right:0!important;border-bottom:1px solid #e2e2e2!important;padding:18px 0!important}.guest-summary-block:last-child{border-bottom:0!important}.provider-category-overview{grid-template-columns:1fr 1fr;gap:12px}.provider-category-card{min-height:155px;padding:16px}.provider-category-icon{width:44px;height:44px}.provider-category-icon .ico{width:40px;height:40px}#page-budget .metrics{grid-template-columns:1fr!important;padding-top:68px!important}#page-budget .metrics:before{height:68px;font-size:25px}.budget-key-metric,.metric:nth-child(4){border-left:0!important}#page-budget .metric{min-height:130px!important;padding:22px!important;border-top:1px solid #e2e2e2!important}.metric:nth-child(2){border-top:0!important}.budget-category-sidebar{grid-template-columns:1fr}.budget-category-row{border-right:0}.seating-workspace{display:block!important;overflow:visible!important;border:0!important}.seating-side{border:1px solid #ddd!important;border-radius:10px!important;margin-bottom:14px}.room-shell{overflow:auto!important;border:1px solid #ddd!important;border-radius:10px!important}.room-canvas{min-width:650px!important}.seating-inspector{left:12px!important;right:12px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important}.auth-landing{width:100%!important;min-height:100vh!important;border:0!important;border-radius:0!important}.auth-story{min-height:42vh!important;padding:30px 24px!important}
}
@media(max-width:460px){.provider-category-overview{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:1fr!important}.task-reference-sidebar{grid-template-columns:1fr}.reference-side-section:first-child{grid-column:1}.guest-answer-stats{gap:10px}.reference-logo-text{font-size:23px}.reference-heart{font-size:40px}.reference-avatar{width:38px;height:38px}.reference-icon-button{width:38px;height:38px}}
.reference-tool-nav>.nav-more.active>summary{border-bottom-color:#ff6876!important;color:#171717!important}

/* ==========================================================================
   Jour J v61 — navigation unique + harmonisation UX globale
   ========================================================================== */
html{scroll-padding-top:120px}
body{overflow-x:hidden}
button,input,select,textarea{font:inherit}
button:disabled,.btn:disabled{opacity:.48!important;cursor:not-allowed!important;box-shadow:none!important}
.page,.page>*{min-width:0}

/* Une seule navigation : le grand bandeau d'outils devient l'en-tête complet. */
.reference-header-main,.reference-main-links{display:none!important}
.topbar{position:sticky!important;top:0!important;z-index:70!important;background:rgba(255,255,255,.988)!important;border-bottom:1px solid #dedede!important;box-shadow:0 2px 10px rgba(0,0,0,.035)!important}
.reference-wide-band{width:100%;max-width:1720px;margin:0 auto;min-height:112px;padding:0 34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:24px}
.reference-brand-wrap{margin:0!important;display:flex;align-items:center;min-width:148px}
.reference-brand{align-self:stretch;display:flex!important;align-items:center!important;gap:7px!important;padding:0 2px!important;border:0!important;background:transparent!important;cursor:pointer!important}
.reference-heart{font-size:48px!important;margin-top:-2px!important}
.reference-logo-text{font-size:28px!important;letter-spacing:-1px!important}
.reference-tool-nav{max-width:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(9,minmax(82px,1fr))!important;gap:0!important;overflow:visible!important;align-items:stretch!important}
.reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{min-height:112px!important;padding:15px 8px 17px!important;font-size:13px!important;gap:7px!important}
.reference-tool-nav .ico{width:30px!important;height:30px!important}
.reference-tool-nav>button.active,.reference-tool-nav>.nav-more.active>summary{border-bottom-color:var(--accent)!important;color:#171717!important}
.reference-tool-nav>button:hover,.reference-tool-nav>.nav-more>summary:hover{background:#fbfbfb!important}
.reference-utility{align-self:stretch;display:flex!important;align-items:center!important;gap:10px!important;min-width:148px;justify-content:flex-end}
.reference-utility .sync{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.reference-icon-button,.reference-avatar{flex:0 0 auto}
.top-tools-menu .action-menu-pop{z-index:95!important}
.nav-more-pop{z-index:95!important}

/* Cohérence générale des pages et contrôles. */
.page{padding-inline:44px!important}
.page-head{padding-top:34px!important;margin-bottom:22px!important}
.page-head h2{font-size:33px!important}
.page-actions{gap:8px!important}
.page-actions .btn,.toolbar .btn,.toolbar-group .btn{white-space:nowrap}
.section{margin-top:20px!important}
.card,.metric,.summary-row,.quote-group,.planner-card,.lodging-card,.program-item,.payment-history-item{border-color:#e1e1e1!important}
.card,.metric,.planner-card,.lodging-card,.compare-duel-card{box-shadow:none!important}
.empty{padding:34px 24px!important;border-radius:10px!important;background:#fcfcfc!important;border:1px dashed #dddddd!important}
.empty .empty-title{font-weight:700!important;color:#333!important}
.empty .empty-copy{max-width:560px;margin-inline:auto;color:#777!important}
.action-menu-pop{z-index:90!important;min-width:220px!important}
.action-menu-pop .btn{width:100%!important;justify-content:flex-start!important}
.overlay{z-index:110!important}
.modal{width:min(760px,calc(100vw - 28px))!important}
.modal-b{overscroll-behavior:contain}
.modal-f{position:sticky;bottom:0;background:#fff;z-index:2}

/* Tables/listes : lecture plus rapide et touch targets homogènes. */
.table-wrap,.compare-matrix-wrap{overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}
th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-weight:750!important}
th,td{vertical-align:middle!important}
tbody tr{transition:background .12s ease}
.search input,.search{min-height:44px!important}

/* Feedback de sauvegarde visible mais discret. */
.sync{border-radius:999px;padding:6px 9px;background:#fafafa;border:1px solid #ececec}
.sync.saved .dot{background:var(--green)!important}
.sync.saving .dot,.sync.pending .dot{background:var(--amber)!important}
.sync.error{color:var(--red)!important;background:#fff5f5;border-color:#f1d0d0}
.sync.error .dot{background:var(--red)!important}

/* Modules : petites corrections de rythme et de densité. */
#page-dashboard{padding-top:18px!important}
.dashboard-reference-hero{margin-top:20px!important}
.home-priority-block,.home-section,.home-rail-section{border-radius:12px!important}
#page-tasks .task-reference-layout,#page-budget .budget-reference-layout{gap:30px}
.task-reference-sidebar,.budget-reference-sidebar{scrollbar-width:thin}
#page-guests .guest-toolbar,#page-providers .provider-toolbar{gap:10px!important}
.provider-category-card,.room-tab-card{transition:border-color .12s ease,background .12s ease,transform .12s ease}
.provider-category-card:hover{transform:translateY(-1px)}
#page-seating .seating-workspace{border-radius:12px!important;overflow:hidden!important}
#page-seating .seating-side,#page-seating .seating-inspector{scrollbar-width:thin}
#page-budget .metrics{box-shadow:none!important}
#page-settings .card{max-width:1120px}

/* Desktop intermédiaire : conserver le grand bandeau sans recréer une 2e nav. */
@media(max-width:1480px){
  .reference-wide-band{padding-inline:24px;gap:14px}
  .reference-brand-wrap{min-width:126px}.reference-utility{min-width:110px}
  .reference-logo-text{font-size:25px!important}.reference-heart{font-size:43px!important}
  .reference-tool-nav{grid-template-columns:repeat(9,minmax(74px,1fr))!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{font-size:12px!important;padding-inline:5px!important}
  .reference-tool-nav .ico{width:28px!important;height:28px!important}
  .reference-utility .sync{display:none!important}
}
@media(max-width:1180px){
  .reference-wide-band{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding-inline:18px}
  .reference-brand-wrap{min-width:112px}.reference-utility{min-width:94px}
  .reference-tool-nav{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;scroll-snap-type:x proximity}
  .reference-tool-nav::-webkit-scrollbar{display:none}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more{flex:0 0 96px!important;scroll-snap-align:start}
  .reference-tool-nav>.nav-more>summary{width:96px!important}
  .page{padding-inline:28px!important}
}

/* Mobile : même architecture, rendue sous forme d'une unique barre basse. */
@media(max-width:760px){
  html{scroll-padding-top:72px}
  .topbar{position:relative!important;box-shadow:none!important}
  .reference-wide-band{min-height:66px;padding:0 16px;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
  .reference-brand-wrap{min-width:0}.reference-brand{min-height:66px!important}
  .reference-heart{font-size:39px!important}.reference-logo-text{font-size:23px!important}
  .reference-tool-nav{display:none!important}
  .reference-utility{min-width:0;gap:6px!important}
  .reference-utility .sync{display:none!important}
  .reference-icon-button{width:38px!important;height:38px!important}
  .reference-avatar{width:38px!important;height:38px!important}
  .top-tools-menu{display:block!important}
  .mobile-nav{display:grid!important}
  .page{padding-inline:16px!important}
  .page-head{padding-top:24px!important;margin-bottom:18px!important}
  .page-head h2{font-size:29px!important}
  .page-actions{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}
  .page-actions::-webkit-scrollbar{display:none}
  .modal{width:100%!important;max-width:none!important;margin:0!important;border-radius:16px 16px 0 0!important;max-height:92dvh!important}
  .modal-f{padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  .table-wrap{margin-inline:-16px;padding-inline:16px}
}
@media(max-width:460px){
  .command-trigger{display:grid!important}
  .reference-utility{gap:2px!important}
  .reference-logo-text{font-size:22px!important}
  .reference-heart{font-size:36px!important}
  .page{padding-inline:14px!important}
}
@media(max-width:760px){.command-trigger{display:grid!important}}

/* ==========================================================================
   Jour J v61.1 — navigation réellement unique + détails de finition
   ========================================================================== */
.mobile-nav,.mobile-more-overlay{display:none!important}
.lodging-link-preview-modal{max-width:680px!important}
.lodging-link-preview-modal .modal-h>div{min-width:0}
.lodging-link-preview-modal #lodgingLinkPreviewDomain{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54ch}
.lodging-link-preview-modal .lodging-link-hero{border-radius:10px;overflow:hidden;background:#f5f5f5;min-height:160px;display:grid;place-items:center}
.lodging-link-preview-modal .lodging-link-hero img{width:100%;height:min(320px,34vh);object-fit:cover;display:block}
.lodging-link-preview-modal .lodging-link-placeholder{min-height:180px;display:grid;place-items:center;color:#999}
.lodging-link-preview-modal .lodging-link-placeholder .ico{width:48px;height:48px}
.lodging-link-preview-content{padding-top:18px}.lodging-link-preview-content h4{font-family:var(--font-display);font-size:26px;margin:0 0 10px}
.lodging-link-preview-meta{display:flex;gap:8px;flex-wrap:wrap}.lodging-link-preview-meta span{border:1px solid #e1e1e1;border-radius:999px;padding:5px 9px;font-size:12px;color:#555}
.lodging-link-preview-description,.lodging-link-preview-address{margin-top:16px;color:#555;line-height:1.6}

/* Sur petits écrans, on conserve le même bandeau principal au lieu de créer
   une seconde navigation. Les rubriques restent accessibles par défilement. */
@media(max-width:760px){
  html{scroll-padding-top:138px!important}
  .app{padding-bottom:max(34px,env(safe-area-inset-bottom))!important}
  .topbar{position:sticky!important;top:0!important;margin:0!important;padding:0!important;box-shadow:0 2px 10px rgba(0,0,0,.04)!important}
  .reference-wide-band{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand utility" "nav nav"!important;min-height:0!important;padding:0 14px!important;gap:0 8px!important}
  .reference-brand-wrap{grid-area:brand!important;min-width:0!important;height:60px!important}
  .reference-brand{min-height:60px!important;height:60px!important}
  .reference-heart{font-size:35px!important}.reference-logo-text{font-size:22px!important}
  .reference-utility{grid-area:utility!important;height:60px!important;min-width:0!important;display:flex!important}
  .reference-utility .sync{display:none!important}.reference-icon-button,.reference-avatar{width:36px!important;height:36px!important}
  .reference-tool-nav{grid-area:nav!important;display:flex!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none!important;margin:0 -14px!important;padding:0 10px!important;border-top:1px solid #ededed!important;scroll-snap-type:x proximity!important}
  .reference-tool-nav::-webkit-scrollbar{display:none!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more{display:block!important;flex:0 0 84px!important;scroll-snap-align:start!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{min-height:72px!important;height:72px!important;padding:8px 5px 9px!important;font-size:10px!important;gap:3px!important}
  .reference-tool-nav .ico{width:22px!important;height:22px!important}
  .reference-tool-nav>.nav-more>summary{width:84px!important}
  .nav-more-pop{position:fixed!important;top:132px!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 150px)!important;overflow:auto!important}
  .seating-inspector{bottom:14px!important}
  .back-to-top{bottom:14px!important}
}
@media(max-width:460px){
  .reference-tool-nav>button,.reference-tool-nav>.nav-more{flex-basis:78px!important}
  .reference-tool-nav>.nav-more>summary{width:78px!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more>summary{font-size:9.5px!important}
}

/* ==========================================================================
   Jour J v62 — cohérence, prestataires compacts & priorités d'interface
   ========================================================================== */
/* Le menu de compte doit toujours passer devant le contenu et les panneaux. */
.topbar{z-index:500!important;overflow:visible!important}
.reference-wide-band,.reference-utility,.top-tools-menu{overflow:visible!important}
.top-tools-menu[open]{position:relative!important;z-index:650!important}
.top-tools-menu .action-menu-pop{z-index:660!important;min-width:230px!important}

/* Toutes les catégories prestataires restent de vraies tuiles visuelles,
   mais avec une densité suffisante pour éviter une page interminable. */
.provider-category-overview{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  margin:24px 0 20px!important;
  align-items:stretch!important;
}
.provider-category-card{
  min-height:124px!important;
  padding:14px 10px!important;
  border:1px solid #e3e3e3!important;
  border-radius:11px!important;
  background:#f7f7f7!important;
  gap:8px!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.provider-category-card:hover{transform:none!important;border-color:#cfcfcf!important;box-shadow:0 5px 15px rgba(0,0,0,.055)!important;background:#fff!important}
.provider-category-card.all{background:#fff7f8!important;border-color:#f0c6cc!important}
.provider-category-card.active{background:#fff!important;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.provider-category-icon{width:38px!important;height:38px!important;flex:0 0 38px!important}
.provider-category-icon .ico{width:34px!important;height:34px!important;stroke-width:1.25!important}
.provider-category-card strong{font-size:13.5px!important;font-weight:700!important;line-height:1.25!important;text-align:center!important}
.provider-category-card small{font-size:10.5px!important;line-height:1.2!important;color:#858585!important}

/* Les tables restent visibles et manipulables même lorsque leurs dimensions
   physiques sont très faibles par rapport à une grande salle. */
.floor-table.scaled.rect{min-width:60px!important;min-height:42px!important}
.floor-table.scaled.round{min-width:58px!important;min-height:58px!important}
.floor-table.scaled.oval{min-width:68px!important;min-height:46px!important}

@media(max-width:1180px){
  .provider-category-overview{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:18px!important}
  .provider-category-card{min-height:108px!important;padding:11px 8px!important}
  .provider-category-icon{width:32px!important;height:32px!important;flex-basis:32px!important}
  .provider-category-icon .ico{width:29px!important;height:29px!important}
  .provider-category-card strong{font-size:12.5px!important}
  .top-tools-menu .action-menu-pop{position:fixed!important;top:56px!important;right:10px!important;left:auto!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 72px)!important;overflow:auto!important}
}

/* ========================================================================== 
   Jour J v63 — cohérence globale, fenêtres, mobile et densité maîtrisée
   ========================================================================== */
:root{
  --jj-radius:12px;
  --jj-gap:18px;
  --jj-section:28px;
}

/* Une hiérarchie de page constante, sans éléments qui débordent leur carte. */
.page{min-width:0!important}
.page-head{gap:18px!important;align-items:flex-end!important}
.page-head>div:first-child{min-width:0}
.page-head h2{font-size:33px!important;line-height:1.08!important;letter-spacing:-.02em!important;margin:0!important}
.page-kicker{font-size:11px!important;line-height:1.2!important;letter-spacing:.13em!important;font-weight:800!important;text-transform:uppercase!important}
.card,.metric,.summary-row,.planner-card,.lodging-card,.program-item,.payment-history-item,.scenario-toolbar,.pricing-basis{border-radius:var(--jj-radius)!important}
.card,.metric,.planner-card,.lodging-card,.program-item,.payment-history-item{min-width:0!important;overflow-wrap:anywhere}
.section{margin-top:var(--jj-section)!important}
.section-h{gap:14px!important}
.btn{min-height:42px!important;line-height:1.2!important}
.btn.sm{min-height:36px!important}
input,select,textarea{font-size:14px!important}
.fl{font-size:12px!important;line-height:1.25!important}
.txt-sm{font-size:12px!important;line-height:1.45!important}

/* Les fenêtres doivent toujours recouvrir le bandeau supérieur. Leur titre est
   donc visible, même pour les formulaires très longs. */
.overlay{z-index:2200!important;align-items:flex-start!important;overflow:auto!important;padding:20px!important;overscroll-behavior:contain}
.overlay.show{display:flex!important}
.modal{display:flex!important;flex-direction:column!important;max-height:calc(100dvh - 40px)!important;margin:auto 0!important;overflow:hidden!important}
.modal-h{position:sticky!important;top:0!important;z-index:6!important;flex:0 0 auto!important;min-height:64px!important;padding:17px 22px!important;background:#fff!important}
.modal-h>div{min-width:0!important}
.modal-h h3{font-family:var(--font-display)!important;font-size:21px!important;line-height:1.15!important;font-weight:700!important;margin:0!important;white-space:normal!important}
.modal-b{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:20px 22px!important}
.modal-f{position:sticky!important;bottom:0!important;z-index:6!important;flex:0 0 auto!important;padding:14px 22px!important;background:#fff!important}
.topbar{z-index:500!important}
.top-tools-menu[open],.top-tools-menu .action-menu-pop{z-index:900!important}

/* Accueil : aucune nappe bleue décorative, seulement les cartes utiles. */
#page-dashboard{background:#fff!important;padding-top:18px!important}
#page-dashboard:before{display:none!important;content:none!important}
.dashboard-reference-hero{background:#fff!important;margin-top:18px!important;border:1px solid #e2e2e2!important;box-shadow:none!important}
#page-dashboard>.dashboard-reference-hero,#page-dashboard>.onboarding,#page-dashboard>.dashboard-attention,#page-dashboard>.home-editorial-grid{width:auto!important;max-width:none!important}
.home-editorial-grid{margin-top:22px!important}
.dashboard-reference-photo{background:#f7f7f7!important}
.home-section,.home-rail-section{border-radius:var(--jj-radius)!important;border-color:#e1e1e1!important;box-shadow:none!important}

/* Tuiles financières : même gabarit partout, y compris lorsque la valeur vaut 0. */
.metrics{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:12px!important;margin-bottom:20px!important;padding-top:0!important}
#page-budget .metrics:before{display:none!important;content:none!important}
.metric{min-height:124px!important;padding:18px 20px!important;justify-content:flex-start!important}
.metric:before{display:none!important}
.metric .ml{min-height:32px!important;margin:0!important;font-size:11.5px!important;line-height:1.25!important;letter-spacing:.055em!important;text-transform:uppercase!important;font-weight:750!important;align-items:center!important}
.metric .ml .ico{width:24px!important;height:24px!important;margin-right:5px!important}
.metric .mv{font-family:var(--font-ui)!important;font-size:28px!important;line-height:1.08!important;font-weight:600!important;margin-top:16px!important;max-width:100%!important;overflow-wrap:anywhere!important}
.metric .mx{font-size:11.5px!important;line-height:1.35!important;margin-top:7px!important}
#page-budget .metric{min-height:124px!important;padding:18px 20px!important;border:1px solid #e1e1e1!important}

/* Les filtres de catégories sont volontairement fermés au chargement. Quand ils
   sont ouverts, le contenu défile dans la carte au lieu d'allonger toute la page. */
.ui-collapsible{margin:0 0 20px!important;border:1px solid #e1e1e1!important;border-radius:var(--jj-radius)!important;background:#fff!important;overflow:hidden!important}
.ui-collapsible>summary{list-style:none!important;cursor:pointer!important;min-height:62px!important;padding:14px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
.ui-collapsible>summary::-webkit-details-marker{display:none!important}
.ui-collapsible>summary>span:first-child{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:"icon title" "icon meta"!important;column-gap:11px!important;align-items:center!important;min-width:0!important}
.ui-collapsible>summary .ico{grid-area:icon!important;width:24px!important;height:24px!important}
.ui-collapsible>summary strong{grid-area:title!important;font-size:14px!important;line-height:1.2!important}
.ui-collapsible>summary small{grid-area:meta!important;font-size:11px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.collapsible-chevron{font-size:20px!important;transition:transform .18s ease!important}
.ui-collapsible[open] .collapsible-chevron{transform:rotate(180deg)!important}
.provider-category-panel-body,.budget-category-panel-body{border-top:1px solid #e5e5e5!important;padding:14px 16px 16px!important;max-height:min(440px,55vh)!important;overflow:auto!important}
.provider-category-overview{margin:0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.provider-category-card{min-height:108px!important;padding:12px 8px!important;gap:6px!important}
.provider-category-icon{width:32px!important;height:32px!important;flex-basis:32px!important}
.provider-category-icon .ico{width:29px!important;height:29px!important}
.provider-category-card strong{font-size:12.5px!important;line-height:1.2!important}
.provider-category-card small{font-size:10px!important}
.budget-reference-layout{display:block!important;grid-template-columns:1fr!important}
.budget-reference-main{min-width:0!important}
.budget-category-panel-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin-bottom:12px!important}
.budget-category-sidebar{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.budget-category-row{min-height:48px!important;padding:10px 12px!important;border:1px solid #e5e5e5!important;border-radius:9px!important;background:#fafafa!important;display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:center!important}
.budget-category-row span{font-size:12px!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.budget-category-row strong{font-size:12px!important;white-space:nowrap!important}

/* Notation prestataires : informative mais secondaire visuellement. */
.provider-score-quick{min-width:78px!important;padding:0 10px!important}
.provider-score-quick span,.provider-evaluation-head span{font-size:9.5px!important;line-height:1.2!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.provider-score-quick strong{font-family:var(--font-ui)!important;font-size:14px!important;line-height:1.2!important;font-weight:700!important;color:var(--accent)!important}
.provider-evaluation-panel{padding:14px!important;margin:0 0 14px!important;border-radius:10px!important}
.provider-evaluation-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:11px!important}
.provider-evaluation-head>div{display:flex!important;align-items:baseline!important;gap:9px!important}
.provider-evaluation-head strong{font-family:var(--font-ui)!important;font-size:16px!important;line-height:1.2!important;font-weight:700!important;color:var(--accent)!important}
.provider-evaluation-head small{font-size:10.5px!important}
.provider-inline-ratings{gap:9px!important}
.provider-inline-ratings label>span{font-size:10.5px!important}
.provider-inline-ratings select{min-height:40px!important}
.prov-head{gap:10px!important}
.prov-title{font-size:16px!important}
.prov-meta{font-size:11px!important;line-height:1.35!important}

/* Carnet : aucune barre de rappel redondante, le bouton dans l'en-tête suffit. */
.planner-template-note{display:none!important}
.planner-toolbar{margin-bottom:14px!important;display:flex!important;align-items:flex-end!important;gap:12px!important;flex-wrap:wrap!important}
.planner-toolbar>.field{margin:0!important;min-width:min(100%,280px)!important}
.planner-summary{margin-bottom:16px!important}

/* Paiements : formulaire plus lisible et mouvements négatifs identifiables. */
.payment-entry{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:end!important}
.payment-entry .wide{grid-column:span 2!important}
.payment-entry>#paymentAddButton{align-self:end!important}
.payment-history-item{padding:13px 15px!important;gap:12px!important;align-items:center!important}
.payment-history-item .amount{font-size:15px!important;font-weight:750!important;white-space:nowrap!important}
.payment-history-item.refund .amount{color:var(--amber)!important}

/* Plan de salle : le plan reste visible, même avec une seule table existante. */
#page-seating .seating-workspace{grid-template-columns:270px minmax(620px,1fr) 310px!important;min-height:610px!important}
#page-seating .room-canvas{min-height:610px!important}
.floor-table.scaled{visibility:visible!important;opacity:1!important}
.seating-inspector{z-index:45!important}
.room-scroll-note{font-size:11px!important;color:var(--muted)!important;margin-top:8px!important}

/* Les barres d'actions évitent les doublons et gardent leurs commandes lisibles. */
.page-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:0!important}
.task-add-reference{display:none!important}

@media(max-width:1180px){
  .provider-category-overview{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .budget-category-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .payment-entry{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #page-seating .seating-workspace{grid-template-columns:230px minmax(620px,1fr)!important;overflow-x:auto!important}
  #page-seating .seating-inspector{position:static!important;width:auto!important;max-height:none!important;border:0!important;border-top:1px solid #e1e1e1!important;border-radius:0!important;box-shadow:none!important;grid-column:1/-1!important}
}

/* Téléphone : pas de chevauchement ; comportement proche d'une application. */
@media(max-width:760px){
  html{scroll-padding-top:136px!important}
  body{overflow-x:hidden!important}
  .page{padding-inline:14px!important;padding-bottom:24px!important}
  .page-head{padding-top:22px!important;margin-bottom:16px!important;align-items:flex-start!important;flex-direction:column!important}
  .page-head h2{font-size:28px!important}
  .page-head>.page-actions,.page-head>.flex{width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;padding:1px 0 5px!important;scrollbar-width:none!important}
  .page-head>.page-actions::-webkit-scrollbar,.page-head>.flex::-webkit-scrollbar{display:none!important}
  .page-head>.page-actions>*,.page-head>.flex>*{flex:0 0 auto!important}
  .module-links{overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;margin-inline:-14px!important;padding-inline:14px!important}
  .module-links::-webkit-scrollbar{display:none!important}
  .section{margin-top:20px!important}
  .card.pad{padding:16px!important}
  .metrics{grid-template-columns:1fr!important;gap:9px!important}
  .metric,#page-budget .metric{min-height:106px!important;padding:15px 16px!important}
  .metric .ml{min-height:24px!important}
  .metric .ml .ico{width:21px!important;height:21px!important}
  .metric .mv{font-size:25px!important;margin-top:12px!important}

  #page-dashboard{padding-top:10px!important}
  .dashboard-reference-hero{grid-template-columns:1fr!important;padding:16px!important;margin-top:10px!important;gap:15px!important;border-radius:12px!important}
  .dashboard-reference-photo{height:160px!important}
  .dashboard-reference-content .home-editorial-title h2{font-size:27px!important;line-height:1.08!important}
  .dashboard-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .dashboard-kpi-card{min-height:96px!important;padding:12px!important}
  .home-editorial-grid{margin-top:14px!important}
  .home-section,.home-rail-section{padding:16px!important}

  .ui-collapsible{margin-bottom:14px!important}
  .ui-collapsible>summary{min-height:56px!important;padding:12px 14px!important}
  .provider-category-panel-body,.budget-category-panel-body{padding:10px!important;max-height:52dvh!important}
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .provider-category-card{min-height:96px!important;padding:10px 7px!important}
  .budget-category-sidebar{grid-template-columns:1fr!important}
  .budget-category-row{min-height:44px!important}

  .prov-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}
  .provider-score-quick{grid-column:2!important;grid-row:1!important}
  .provider-head-actions{grid-column:1/-1!important;justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:3px!important}
  .provider-inline-ratings{grid-template-columns:1fr 1fr!important}

  .payment-entry{grid-template-columns:1fr!important;gap:10px!important}
  .payment-entry .wide{grid-column:auto!important}
  .payment-entry>#paymentAddButton{width:100%!important}
  .payment-history-item{grid-template-columns:1fr auto!important;gap:6px 10px!important}
  .payment-history-item>.wide{grid-column:1/-1!important}
  .payment-history-item>.actions{grid-column:2!important;grid-row:1!important}

  .overlay{align-items:flex-end!important;padding:0!important}
  .modal{width:100%!important;max-width:none!important;max-height:94dvh!important;margin:0!important;border-radius:18px 18px 0 0!important}
  .modal-h{min-height:60px!important;padding:15px 16px!important}
  .modal-h h3{font-size:19px!important}
  .modal-b{padding:16px!important}
  .modal-f{padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;overflow-x:auto!important;justify-content:flex-start!important;flex-wrap:nowrap!important}
  .modal-f>*{flex:0 0 auto!important}

  #page-seating .seating-workspace{display:block!important;min-height:0!important;overflow:visible!important;border:0!important}
  #page-seating .seating-side{padding:14px!important;border:1px solid #e1e1e1!important;border-radius:10px!important;margin-bottom:10px!important}
  #page-seating .room-shell{overflow:auto!important;border:1px solid #e1e1e1!important;border-radius:10px!important;max-width:100%!important;-webkit-overflow-scrolling:touch!important}
  #page-seating .room-canvas{min-width:620px!important;min-height:520px!important}
  #page-seating .seating-inspector{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-height:none!important;margin-top:10px!important;padding:14px!important;border:1px solid #e1e1e1!important;border-radius:10px!important;box-shadow:none!important}

  .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  table{min-width:680px}
  .top-tools-menu .action-menu-pop{z-index:1800!important}
}

@media(max-width:420px){
  .dashboard-kpis{grid-template-columns:1fr!important}
  .provider-inline-ratings{grid-template-columns:1fr!important}
  .provider-category-card strong{font-size:12px!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more{flex-basis:76px!important}
}

/* ========================================================================== 
   Jour J v64 — système visuel final : marges, rythme, responsive « app »
   Cette couche est volontairement la dernière afin d'unifier les écrans
   historiques sans supprimer leurs fonctionnalités.
   ========================================================================== */
:root{
  --jj-page-max:1600px;
  --jj-page-pad:52px;
  --jj-line:#e3e3e3;
  --jj-soft:#f8f8f8;
  --jj-card-radius:12px;
  --jj-control-radius:9px;
  --jj-mobile-nav-h:72px;
}
html,body{max-width:100%;overflow-x:hidden}
.app{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 76px!important;background:#fff!important}
.page{width:100%!important;max-width:var(--jj-page-max)!important;margin:0 auto!important;padding-left:var(--jj-page-pad)!important;padding-right:var(--jj-page-pad)!important;box-sizing:border-box!important}
.page.active{display:block}
#page-dashboard{padding-top:30px!important;background:#fff!important}
#page-dashboard:before,#page-dashboard:after{display:none!important;content:none!important}
#page-dashboard>.dashboard-reference-hero,#page-dashboard>.onboarding,#page-dashboard>.home-editorial-grid{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.dashboard-reference-hero{margin-top:0!important;padding:30px!important;border:1px solid var(--jj-line)!important;border-radius:var(--jj-card-radius)!important;background:#fff!important;box-shadow:none!important}
.home-editorial-grid{margin-top:28px!important;gap:24px!important}
.home-section,.home-rail-section{padding:22px!important;border:1px solid var(--jj-line)!important;border-radius:var(--jj-card-radius)!important;background:#fff!important;box-shadow:none!important}
.home-editorial-main,.home-editorial-rail{gap:22px!important}
.home-section-heading{gap:14px!important;margin-bottom:16px!important}
.home-section-heading h3{line-height:1.15!important}

/* Même grille, mêmes traits et même respiration sur tous les modules. */
.page-head{padding-top:34px!important;padding-bottom:22px!important;margin:0 0 24px!important;border-bottom:1px solid var(--jj-line)!important;align-items:flex-end!important;gap:18px!important}
.page-head h2{font-size:33px!important;line-height:1.08!important;letter-spacing:-.02em!important}
.page-kicker{margin-bottom:7px!important;font-size:10.5px!important;line-height:1.2!important;letter-spacing:.14em!important}
.page-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.module-links{max-width:var(--jj-page-max)!important;margin:0 auto!important;padding:0!important;min-height:48px!important;display:flex!important;align-items:flex-end!important;gap:4px!important;border-bottom:1px solid var(--jj-line)!important;background:#fff!important;overflow-x:auto!important;scrollbar-width:none!important}
.module-links::-webkit-scrollbar{display:none!important}
.module-links button{min-height:47px!important;padding:0 14px!important;border-bottom:2px solid transparent!important;white-space:nowrap!important}
.module-links button.active{border-bottom-color:var(--accent)!important}
.section{margin-top:26px!important}
.section-h{gap:14px!important;margin-bottom:14px!important;align-items:center!important}
.card,.metric,.planner-card,.lodging-card,.program-item,.payment-history-item,.quote-group,.summary-row,.scenario-toolbar,.pricing-basis,.guest-family,.ui-collapsible{border:1px solid var(--jj-line)!important;border-radius:var(--jj-card-radius)!important;box-shadow:none!important;background:#fff!important}
.card.pad{padding:22px!important}
.toolbar{border:1px solid var(--jj-line)!important;border-radius:var(--jj-control-radius)!important;background:#fff!important;padding:11px!important;gap:10px!important}
.btn,input,select,textarea{border-radius:var(--jj-control-radius)!important}
.btn{min-height:40px!important;padding:9px 14px!important}
.btn.sm{min-height:34px!important;padding:7px 11px!important;font-size:12px!important}
input,select,textarea{min-height:42px!important}
textarea{min-height:96px!important}
hr,.divider{border-color:var(--jj-line)!important}

/* Grand bandeau desktop : toutes les rubriques sont directement accessibles. */
.topbar{position:sticky!important;top:0!important;z-index:1300!important;background:rgba(255,255,255,.985)!important;border-bottom:1px solid var(--jj-line)!important;box-shadow:0 2px 10px rgba(0,0,0,.03)!important;overflow:visible!important}
.reference-wide-band{width:100%!important;max-width:1800px!important;min-height:106px!important;margin:0 auto!important;padding:0 28px!important;display:grid!important;grid-template-columns:150px minmax(0,1fr) 168px!important;gap:14px!important;align-items:stretch!important;overflow:visible!important}
.reference-brand-wrap{min-width:0!important}
.reference-brand{min-height:106px!important}
.reference-heart{font-size:44px!important}
.reference-logo-text{font-size:27px!important}
.reference-tool-nav{display:grid!important;grid-template-columns:repeat(11,minmax(68px,1fr))!important;min-width:0!important;overflow:visible!important}
.reference-tool-nav>button{min-width:0!important;min-height:106px!important;padding:13px 5px 15px!important;gap:6px!important;font-size:11.5px!important;line-height:1.15!important;border-bottom:4px solid transparent!important}
.reference-tool-nav>button .ico{width:26px!important;height:26px!important}
.reference-tool-nav>button span{white-space:normal!important;text-align:center!important}
.reference-tool-nav>button.active{border-bottom-color:var(--accent)!important}
.reference-utility{min-width:0!important;gap:8px!important;overflow:visible!important}
.reference-utility .sync{max-width:104px!important;font-size:10.5px!important}
.top-tools-menu[open]{z-index:1800!important}
.top-tools-menu .action-menu-pop{z-index:1900!important;right:0!important;top:calc(100% + 8px)!important;min-width:240px!important;max-width:min(310px,calc(100vw - 20px))!important}
.mobile-app-nav,.mobile-module-sheet{display:none}

/* Invités : code RSVP et actions au niveau exact du foyer. */
.guest-family{overflow:hidden!important;margin-bottom:12px!important}
.guest-family-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:14px 16px!important;background:#fafafa!important;border-bottom:1px solid var(--jj-line)!important}
.guest-family-heading{min-width:0!important;flex:1 1 260px!important}
.guest-family-title{font-size:15px!important;font-weight:750!important;line-height:1.25!important}
.guest-family-meta{margin-top:4px!important;font-size:11.5px!important;line-height:1.4!important;color:var(--muted)!important}
.guest-family-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.household-rsvp-code{display:flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:5px 9px!important;border:1px solid #d8d8d8!important;border-radius:8px!important;background:#fff!important;white-space:nowrap!important}
.household-rsvp-code small{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--muted)!important}
.household-rsvp-code code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:13px!important;font-weight:800!important;letter-spacing:.08em!important;color:var(--ink)!important}
.guest-family-members{background:#fff!important}
.guest-item{padding:14px 16px!important;border-top:1px solid #ededed!important}
.guest-family-members>.guest-item:first-child{border-top:0!important}

/* RSVP public : réponse globale possible, mais chaque personne reste éditable. */
.public-shell{width:min(980px,calc(100% - 32px))!important;margin:0 auto!important;padding:28px 0 56px!important}
.public-card{border:1px solid var(--jj-line)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}
.public-party-response{margin-top:18px!important;border-top:1px solid var(--jj-line)!important;padding-top:18px!important}
.public-party-response-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:14px!important;margin-bottom:14px!important}
.public-party-response-head>div:first-child{display:grid!important;gap:4px!important}
.public-party-response-head strong{font-size:16px!important}
#publicPartySummary{font-size:11.5px!important;color:var(--muted)!important}
.public-party-bulk{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.public-party-list{display:grid!important;gap:12px!important}
.public-party-person{border:1px solid var(--jj-line)!important;border-radius:11px!important;padding:16px!important;background:#fff!important}
.public-party-person-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-bottom:12px!important;margin-bottom:14px!important;border-bottom:1px solid #ededed!important}
.public-party-person-head small{display:block!important;font-size:9.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--muted)!important;margin-bottom:3px!important}
.public-party-person-head strong{font-size:15px!important}
.public-party-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.public-address-field,.public-question-field{grid-column:1/-1!important}
.public-party-save{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:16px!important}
.public-party-save .public-lead{font-size:11.5px!important;flex:1 1 260px!important}

/* Plan de salle : pas de panneau de « contrôle », le plan est l'outil central. */
#page-seating .seating-quality,#seatingQuality{display:none!important}
#page-seating .seating-commandbar{padding-bottom:16px!important;margin-bottom:18px!important;border-bottom:1px solid var(--jj-line)!important}
#page-seating .room-overview-grid{margin-top:0!important;margin-bottom:18px!important}
#page-seating .seating-workspace{border:1px solid var(--jj-line)!important;border-radius:var(--jj-card-radius)!important;background:#fff!important;overflow:hidden!important}
#page-seating .room-shell{background:#fff!important}

/* Footer aligné sur les mêmes gouttières que les pages. */
.app-footer{width:100%!important;max-width:var(--jj-page-max)!important;margin:64px auto 0!important;padding:24px var(--jj-page-pad) 34px!important;box-sizing:border-box!important;border-top:1px solid var(--jj-line)!important;display:flex!important;align-items:center!important;gap:20px!important;font-size:11px!important;color:var(--muted)!important}
.app-footer>span:first-child{font-family:var(--font-display)!important;font-size:17px!important;color:var(--ink)!important}
.app-footer>span:last-child{margin-left:auto!important;text-align:right!important}

@media(max-width:1480px){
  :root{--jj-page-pad:38px}
  .reference-wide-band{grid-template-columns:130px minmax(0,1fr) 126px!important;padding-inline:18px!important;gap:8px!important}
  .reference-heart{font-size:39px!important}.reference-logo-text{font-size:23px!important}
  .reference-tool-nav>button{font-size:10.5px!important;padding-inline:3px!important}
  .reference-tool-nav>button .ico{width:24px!important;height:24px!important}
  .reference-utility .sync{display:none!important}
}
@media(max-width:1180px) and (min-width:761px){
  :root{--jj-page-pad:28px}
  .reference-wide-band{grid-template-columns:112px minmax(0,1fr) 92px!important}
  .reference-tool-nav{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;scroll-snap-type:x proximity!important}
  .reference-tool-nav::-webkit-scrollbar{display:none!important}
  .reference-tool-nav>button{flex:0 0 82px!important;scroll-snap-align:start!important}
}

/* Téléphone : véritable coque d'app, topbar compacte + navigation fixe en bas. */
@media(max-width:760px){
  :root{--jj-page-pad:16px;--jj-mobile-nav-h:72px}
  html{scroll-padding-top:66px!important}
  body{background:#fff!important}
  body.mobile-menu-open{overflow:hidden!important}
  .app{padding-bottom:calc(var(--jj-mobile-nav-h) + 18px + env(safe-area-inset-bottom))!important}
  .topbar{position:sticky!important;top:0!important;z-index:1400!important;box-shadow:none!important}
  .reference-wide-band{min-height:62px!important;padding:0 12px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}
  .reference-brand-wrap{min-width:0!important}
  .reference-brand{min-height:62px!important;gap:5px!important}
  .reference-heart{font-size:34px!important}.reference-logo-text{font-size:21px!important}
  .reference-tool-nav{display:none!important}
  .reference-utility{display:flex!important;min-width:0!important;gap:3px!important}
  .reference-utility .sync{display:none!important}
  .reference-icon-button,.reference-avatar{width:36px!important;height:36px!important;min-width:36px!important}
  .reference-icon-button .ico{width:20px!important;height:20px!important}
  .top-tools-menu{display:block!important}
  .top-tools-menu .action-menu-pop{position:fixed!important;top:58px!important;right:8px!important;left:auto!important;max-height:calc(100dvh - 140px)!important;overflow:auto!important}

  .mobile-app-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1500!important;height:calc(var(--jj-mobile-nav-h) + env(safe-area-inset-bottom))!important;padding:5px 6px env(safe-area-inset-bottom)!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important;background:rgba(255,255,255,.985)!important;border-top:1px solid #dcdcdc!important;box-shadow:0 -7px 24px rgba(0,0,0,.08)!important}
  .mobile-app-nav>button{min-width:0!important;min-height:58px!important;padding:5px 2px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#686868!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-size:9.5px!important;font-weight:700!important;line-height:1.05!important}
  .mobile-app-nav>button .ico{width:21px!important;height:21px!important}
  .mobile-app-nav>button.active{color:var(--accent)!important;background:#fff6f7!important}

  .mobile-module-sheet{display:block!important;position:fixed!important;inset:0!important;z-index:1450!important;pointer-events:none!important;visibility:hidden!important}
  .mobile-module-sheet.show{pointer-events:auto!important;visibility:visible!important}
  .mobile-module-backdrop{position:absolute!important;inset:0!important;border:0!important;background:rgba(24,24,24,.34)!important;opacity:0!important;transition:opacity .18s ease!important}
  .mobile-module-sheet.show .mobile-module-backdrop{opacity:1!important}
  .mobile-module-panel{position:absolute!important;left:0!important;right:0!important;bottom:calc(var(--jj-mobile-nav-h) + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 104px)!important;padding:18px 16px 20px!important;background:#fff!important;border-radius:18px 18px 0 0!important;border-top:1px solid var(--jj-line)!important;box-shadow:0 -16px 44px rgba(0,0,0,.15)!important;transform:translateY(105%)!important;transition:transform .2s ease!important;overflow:auto!important}
  .mobile-module-sheet.show .mobile-module-panel{transform:translateY(0)!important}
  .mobile-module-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:16px!important;padding-bottom:14px!important;border-bottom:1px solid var(--jj-line)!important}
  .mobile-module-head h2{font-family:var(--font-display)!important;font-size:24px!important;line-height:1.1!important;margin:0!important}
  .mobile-module-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .mobile-module-grid>button{min-height:86px!important;padding:12px 10px!important;border:1px solid var(--jj-line)!important;border-radius:11px!important;background:#fafafa!important;color:var(--ink)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:12px!important;font-weight:700!important;text-align:center!important}
  .mobile-module-grid>button .ico{width:26px!important;height:26px!important}
  .mobile-module-grid>button.active{border-color:var(--accent)!important;background:#fff6f7!important;color:var(--accent)!important}

  .page{padding-left:var(--jj-page-pad)!important;padding-right:var(--jj-page-pad)!important;padding-bottom:24px!important}
  #page-dashboard{padding-top:16px!important}
  .page-head{padding-top:22px!important;padding-bottom:16px!important;margin-bottom:18px!important;align-items:flex-start!important;flex-direction:column!important;gap:12px!important}
  .page-head h2{font-size:28px!important}
  .page-actions,.page-head>.flex{width:100%!important;display:flex!important;justify-content:flex-start!important;align-items:stretch!important;gap:7px!important;flex-wrap:wrap!important;overflow:visible!important;padding:0!important}
  .page-actions>*,.page-head>.flex>*{flex:0 0 auto!important;max-width:100%!important}
  .page-actions .search,.page-head .search{flex:1 1 100%!important;width:100%!important}
  .module-links{margin:0!important;padding:0 12px!important;min-height:43px!important;gap:2px!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .module-links button{min-height:42px!important;padding-inline:10px!important;font-size:11px!important}
  .section{margin-top:20px!important}
  .section-h{align-items:flex-start!important;flex-wrap:wrap!important}
  .card.pad{padding:16px!important}
  .toolbar{padding:10px!important;display:flex!important;flex-wrap:wrap!important;align-items:stretch!important}
  .toolbar>.search,.toolbar>input[type="search"],.toolbar>input[type="text"]{width:100%!important;max-width:none!important;flex:1 1 100%!important}
  .grid2,.grid3,.grid4{grid-template-columns:1fr!important}
  .metrics{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .metric{min-height:104px!important;padding:14px!important}
  .metric .mv{font-size:23px!important;margin-top:10px!important}
  .summary-row{grid-template-columns:1fr!important}

  .dashboard-reference-hero{grid-template-columns:1fr!important;padding:16px!important;gap:15px!important;border-radius:12px!important}
  .dashboard-reference-photo{height:170px!important;max-width:none!important}
  .dashboard-reference-content .home-editorial-title h2{font-size:28px!important;line-height:1.08!important}
  .dashboard-kpis{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .dashboard-kpi-card{min-height:102px!important;padding:13px!important}
  .home-editorial-grid{grid-template-columns:1fr!important;margin-top:16px!important;gap:14px!important}
  .home-editorial-main,.home-editorial-rail{gap:14px!important}
  .home-section,.home-rail-section{padding:16px!important}
  .home-section-heading h3{font-size:20px!important}

  .guest-family-head{align-items:flex-start!important;flex-direction:column!important;padding:13px!important;gap:11px!important}
  .guest-family-head-actions{width:100%!important;justify-content:flex-start!important}
  .household-rsvp-code{flex:1 1 auto!important;justify-content:space-between!important;max-width:160px!important}
  .guest-family-head-actions .btn{flex:1 1 auto!important;justify-content:center!important}
  .guest-item{padding:13px!important}
  .guest-member-main,.guest-member-controls{min-width:0!important}

  .public-shell{width:100%!important;padding:16px 12px 32px!important}
  .public-card{padding:16px!important;border-radius:12px!important}
  .public-party-response-head{flex-direction:column!important}
  .public-party-bulk{width:100%!important;justify-content:flex-start!important}
  .public-party-bulk .btn{flex:1 1 45%!important}
  .public-party-person{padding:13px!important}
  .public-party-person-head{align-items:flex-start!important;flex-direction:column!important}
  .public-party-fields{grid-template-columns:1fr!important}
  .public-address-field,.public-question-field{grid-column:auto!important}
  .public-party-save{align-items:stretch!important;flex-direction:column!important}
  .public-party-save .btn{width:100%!important}

  .provider-category-panel-body,.budget-category-panel-body{max-height:52dvh!important;padding:10px!important}
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .provider-category-card{min-height:100px!important;padding:10px 7px!important}

  #page-seating .seating-commandbar{align-items:flex-start!important;gap:10px!important}
  #page-seating .seating-command-actions{width:100%!important;display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:7px!important}
  #page-seating .seating-command-actions>*{flex:0 0 auto!important}
  #page-seating .seating-workspace{display:block!important;overflow:visible!important;border:0!important}
  #page-seating .seating-side{border:1px solid var(--jj-line)!important;border-radius:11px!important;padding:13px!important;margin-bottom:10px!important}
  #page-seating .room-shell{max-width:100%!important;margin:0!important;padding:0!important;border:1px solid var(--jj-line)!important;border-radius:11px!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
  #page-seating .room-canvas{min-width:600px!important;min-height:500px!important}
  #page-seating .seating-inspector{position:static!important;width:100%!important;max-height:none!important;margin-top:10px!important;padding:13px!important;border:1px solid var(--jj-line)!important;border-radius:11px!important;box-shadow:none!important}

  .overlay{padding:0!important;align-items:flex-end!important}
  .modal{width:100%!important;max-width:none!important;max-height:94dvh!important;margin:0!important;border-radius:18px 18px 0 0!important}
  .modal-h{padding:15px 16px!important;min-height:58px!important}
  .modal-h h3{font-size:19px!important}
  .modal-b{padding:16px!important}
  .modal-f{padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;overflow:visible!important}
  .modal-f>*{flex:1 1 auto!important}
  .table-wrap,.compare-matrix-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  table{min-width:660px!important}
  .back-to-top{bottom:calc(var(--jj-mobile-nav-h) + 14px + env(safe-area-inset-bottom))!important;right:12px!important}
  .app-footer{display:none!important}
}
@media(max-width:420px){
  :root{--jj-page-pad:13px}
  .reference-logo-text{font-size:20px!important}.reference-heart{font-size:32px!important}
  .dashboard-kpis,.metrics{grid-template-columns:1fr!important}
  .mobile-module-grid{gap:7px!important}
  .mobile-module-grid>button{min-height:80px!important}
}
/* Le tableau de bord avait historiquement un padding horizontal à 0 avec une
   spécificité d'ID. On l'écrase explicitement pour qu'il ait exactement les
   mêmes gouttières que tous les autres modules. */
#page-dashboard{padding-left:var(--jj-page-pad)!important;padding-right:var(--jj-page-pad)!important}
@media(max-width:760px){#page-dashboard{padding-left:var(--jj-page-pad)!important;padding-right:var(--jj-page-pad)!important}}

/* v64.1 — Jour J mobile : aucun contrôle tronqué dans l'en-tête.
   Les quatre actions restent immédiatement accessibles, comme dans une app,
   sans carrousel horizontal ni bouton partiellement hors écran. */
@media(max-width:760px){
  #page-program .page-head .page-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #page-program .page-head .page-actions>*{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  #page-program .page-head .page-actions>.btn,
  #page-program .page-head .page-actions>.action-menu>summary{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:9px 8px!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  #page-program .page-head .page-actions>.action-menu{
    position:relative!important;
  }
  #page-program .program-toolbar,
  #page-program .program-toolbar .toolbar-group{
    width:100%!important;
    min-width:0!important;
  }
  #page-program .program-toolbar .toolbar-group{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    flex-basis:auto!important;
  }
  #page-program .program-toolbar input,
  #page-program .program-toolbar select{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}

/* ========================================================================== 
   Jour J v65 — accès direct + restauration robuste du défilement
   ========================================================================== */
/* Une page normale doit toujours rester verticalement défilable. Le verrouillage
   n'existe que pendant l'ouverture effective d'une modale ou du menu mobile. */
html{min-height:100%;overflow-y:auto!important}
body{min-height:100%;overflow-y:auto!important}
body:not(.modal-open):not(.mobile-menu-open){overflow-y:auto!important}
body.modal-open,body.mobile-menu-open{overflow-y:hidden!important}

/* Connexion directe : suppression de la page marketing intermédiaire. */
#gateLogin,#gateSetup,#gateForgot{padding:32px 16px!important;align-items:flex-start!important}
#gateLogin .gate-card,#gateSetup .gate-card,#gateForgot .gate-card{margin:auto!important}
.auth-direct-create{margin-top:18px;padding-top:18px;border-top:1px solid var(--jj-line,#e3e3e3);display:grid;gap:9px;text-align:center}
.auth-direct-create>span{font-size:12px;color:var(--muted)}
.auth-direct-create .btn{width:100%;justify-content:center}
@media(max-width:760px){
  #gateLogin,#gateSetup,#gateForgot{padding:18px 14px!important;align-items:flex-start!important}
  #gateLogin .gate-card,#gateSetup .gate-card,#gateForgot .gate-card{margin:auto!important;width:100%!important;max-width:460px!important}
}


/* Correctifs v66 : scroll pages + nettoyage budget/paiements */
html,body{height:auto!important;max-height:none!important}
body:not(.modal-open):not(.mobile-menu-open),html:not(.modal-open):not(.mobile-menu-open){overflow-y:auto!important;overflow-x:hidden!important;position:static!important}
.app,.page,.page.active,.budget-reference-layout,.budget-reference-main,#budgetList{height:auto!important;max-height:none!important;overflow:visible!important}
#page-budget .metrics,
#page-payments .metrics{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  gap:14px!important;
  margin:10px 0 22px!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
#page-budget .metrics:before,
#page-payments .metrics:before{display:none!important;content:none!important}
#page-budget .metric,
#page-payments .metric{
  min-height:0!important;
  padding:20px 20px 18px!important;
  border:1px solid #e1e1e1!important;
  border-radius:12px!important;
  background:#fff!important;
  text-align:left!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  box-shadow:none!important;
}
#page-budget .metric:before,
#page-payments .metric:before{display:none!important;content:none!important}
#page-budget .metric,
#page-payments .metric{border-right:1px solid #e1e1e1!important;border-bottom:1px solid #e1e1e1!important;border-left:1px solid #e1e1e1!important}
#page-budget .metric .ml,
#page-payments .metric .ml{justify-content:flex-start!important;text-align:left!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#3b3b3b!important}
#page-budget .metric .ml .ico,
#page-payments .metric .ml .ico{width:18px!important;height:18px!important;margin-right:6px!important}
#page-budget .metric .mv,
#page-payments .metric .mv{font-family:var(--font-ui)!important;font-size:28px!important;font-weight:650!important;margin-top:10px!important;color:var(--ink)!important}
#page-budget .metric .mx,
#page-payments .metric .mx{font-size:12px!important;color:#777!important}
#page-budget .budget-key-metric,
#page-payments .budget-key-metric{border-left:1px solid #e1e1e1!important}
#page-budget .pricing-basis,
#page-budget .scen-bar,
#page-budget .section-h{border-top:0!important}
#page-budget .budget-reference-layout{display:block!important;grid-template-columns:1fr!important;gap:0!important}
#page-budget .budget-reference-layout:empty,
#page-budget #budgetList:empty,
#page-budget .scen-bar:empty{display:none!important}
#page-budget .budget-category-panel{margin-bottom:18px!important}
#page-budget .budget-category-panel-body{max-height:none!important}
#page-budget .budget-category-sidebar{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
#page-budget .budget-category-row{border-right:0!important}
#page-budget .card:empty{display:none!important}
@media (max-width:760px){
  #page-budget .metrics,
  #page-payments .metrics{grid-template-columns:1fr!important}
  #page-budget .metric,
  #page-payments .metric{padding:18px 18px 16px!important}
}


/* ========================================================================== 
   Jour J v67 — défilement natif + respiration + séparateurs utiles seulement
   ========================================================================== */
:root{
  --jj-page-pad:64px;
  --jj-section-gap:32px;
  --jj-card-pad:26px;
}

/* Une seule zone de scroll : la racine du document. Aucune classe d'overlay ne
   doit pouvoir bloquer durablement la molette de la souris. */
html{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  overscroll-behavior:auto!important;
  scrollbar-gutter:stable;
}
body,
body.modal-open,
body.mobile-menu-open,
body:not(.modal-open):not(.mobile-menu-open){
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow:visible!important;
  position:static!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
}
.app,.page,.page.active{height:auto!important;max-height:none!important;overflow:visible!important}
.overlay.show{overflow-y:auto!important;overscroll-behavior:auto!important}
.mobile-module-panel{overscroll-behavior:auto!important}

/* Authentification : un seul coeur, sans trait décoratif ni logo texte. */
#gateLogin .logo-lockup,#gateSetup .logo-lockup,#gateForgot .logo-lockup{margin-bottom:24px!important}
#gateLogin .login-logo,#gateSetup .login-logo,#gateForgot .login-logo{
  width:74px!important;
  height:74px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
#gateLogin .gate-card:before,#gateSetup .gate-card:before,#gateForgot .gate-card:before{display:none!important;content:none!important}
#gateLogin .gate-card,#gateSetup .gate-card,#gateForgot .gate-card{padding:42px 40px!important}

/* Plus d'air : mêmes espacements d'un module à l'autre. */
.page{padding-left:var(--jj-page-pad)!important;padding-right:var(--jj-page-pad)!important}
.page-head{
  padding-top:46px!important;
  padding-bottom:8px!important;
  margin-bottom:30px!important;
  border-bottom:0!important;
}
.section{margin-top:var(--jj-section-gap)!important}
.section-h{margin-bottom:18px!important}
.card.pad{padding:var(--jj-card-pad)!important}
.toolbar{padding:14px!important;gap:12px!important;margin-bottom:24px!important}
.ui-collapsible{margin-bottom:24px!important}
.metrics{gap:16px!important;margin-bottom:28px!important}
.home-editorial-grid{margin-top:34px!important;gap:28px!important}
.home-editorial-main,.home-editorial-rail{gap:28px!important}
.home-section,.home-rail-section{padding:26px!important}
.dashboard-reference-hero{padding:36px!important}
.provider-category-panel-body,.budget-category-panel-body{padding:18px!important}

/* Les traits pleine largeur sont retirés quand l'espacement suffit à séparer. */
.module-links{border-bottom:0!important;margin-bottom:8px!important}
.module-links button{border-bottom-width:3px!important}
.app-footer{border-top:0!important;margin-top:80px!important;padding-top:28px!important;padding-bottom:42px!important}
#page-seating .seating-commandbar{border-bottom:0!important;padding-bottom:8px!important;margin-bottom:24px!important}
.home-rail-section{border-bottom:0!important;border-right:0!important}
.public-party-response{border-top:0!important;padding-top:10px!important}
.pricing-basis,.scen-bar{border-top:0!important;border-bottom:0!important}
hr,.divider{opacity:.45}

/* Évite les séparateurs redondants sur les cartes déjà encadrées. */
.metric:before,.dashboard-budget:before{display:none!important;content:none!important}
#page-budget .metrics,#page-payments .metrics{border:0!important;background:transparent!important}
#page-budget .metric,#page-payments .metric{border:1px solid var(--jj-line)!important;border-radius:12px!important}

@media(max-width:1480px){:root{--jj-page-pad:46px}}
@media(max-width:1180px) and (min-width:761px){:root{--jj-page-pad:32px}}
@media(max-width:760px){
  :root{--jj-page-pad:18px;--jj-section-gap:24px;--jj-card-pad:20px}
  html{overflow-y:scroll!important}
  body,body.modal-open,body.mobile-menu-open{overflow:visible!important;position:static!important}
  .page-head{padding-top:30px!important;margin-bottom:22px!important}
  .card.pad{padding:20px!important}
  .dashboard-reference-hero{padding:22px!important}
  .home-section,.home-rail-section{padding:20px!important}
  #gateLogin .gate-card,#gateSetup .gate-card,#gateForgot .gate-card{padding:30px 22px!important;margin:18px auto!important}
  #gateLogin .login-logo,#gateSetup .login-logo,#gateForgot .login-logo{width:66px!important;height:66px!important}
}

/* ========================================================================== 
   Jour J v68 — audit UI/UX global
   Hiérarchie cohérente, rythme commun, surfaces calmes, responsive app-first.
   ========================================================================== */
:root{
  --accent:#d33850;
  --accent-d:#b92d43;
  --accent-bg:#fff1f3;
  --bg:#ffffff;
  --panel:#ffffff;
  --panel-strong:#ffffff;
  --text:#262626;
  --ink:#262626;
  --muted:#6f6f73;
  --faint:#929296;
  --line:#e7e7e9;
  --line2:#d6d6d9;
  --jj-line:#e7e7e9;
  --jj-soft:#f8f8f9;
  --jj-soft-2:#fbfbfc;
  --jj-card-radius:14px;
  --jj-control-radius:10px;
  --jj-page-max:1540px;
  --jj-page-pad:52px;
  --jj-section-gap:34px;
  --jj-card-pad:24px;
  --jj-shadow-pop:0 18px 55px rgba(26,26,30,.14);
}

/* Base : lisibilité et rythme. */
body{font-size:14px!important;line-height:1.55!important;background:#fff!important;color:var(--text)!important}
p,.txt-sm,.sub,.mx,.empty-copy{line-height:1.5!important}
h1,h2,h3,h4{color:var(--ink)!important}
.page-kicker{font-size:10px!important;font-weight:750!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:var(--accent)!important}
.section-h h2{font-size:21px!important;line-height:1.15!important}
.page-head h2{font-size:35px!important;line-height:1.06!important;font-weight:700!important;letter-spacing:-.025em!important}

/* Page : un même canevas partout, davantage de respiration sans vide perdu. */
.page{max-width:var(--jj-page-max)!important;padding-inline:var(--jj-page-pad)!important;padding-bottom:34px!important}
#page-dashboard{padding-top:32px!important}
.page-head{padding:42px 0 0!important;margin:0 0 28px!important;min-height:98px!important;border:0!important;align-items:flex-end!important}
.page-head>div:first-child{min-width:0!important}
.page-actions{gap:9px!important;align-items:center!important}
.section{margin-top:var(--jj-section-gap)!important}
.section-h{margin-bottom:16px!important}

/* Sous-navigation : un vrai sélecteur de module, sans lignes pleine largeur. */
.module-links{
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:22px 0 0!important;
  padding:4px!important;
  gap:3px!important;
  align-items:center!important;
  border:1px solid var(--jj-line)!important;
  border-radius:11px!important;
  background:var(--jj-soft)!important;
  overflow-x:auto!important;
}
.module-links button{
  min-height:36px!important;
  padding:7px 13px!important;
  border:0!important;
  border-radius:8px!important;
  color:#666!important;
  font-size:12px!important;
  font-weight:650!important;
  background:transparent!important;
}
.module-links button:hover{background:#fff!important;color:var(--ink)!important}
.module-links button.active{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 2px rgba(0,0,0,.06)!important}

/* Grand bandeau : plus léger visuellement, toujours complet. */
.topbar{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #ececef!important;box-shadow:0 2px 12px rgba(20,20,25,.025)!important;backdrop-filter:saturate(150%) blur(10px)}
.reference-wide-band{min-height:96px!important;grid-template-columns:150px minmax(0,1fr) 166px!important;padding-inline:26px!important}
.reference-brand{min-height:96px!important}
.reference-heart{color:var(--accent)!important}
.reference-tool-nav>button{min-height:96px!important;border-bottom-width:3px!important;color:#303034!important;opacity:.88!important;font-size:11.5px!important;font-weight:650!important}
.reference-tool-nav>button:hover{background:#fafafa!important;opacity:1!important}
.reference-tool-nav>button.active{color:var(--accent)!important;opacity:1!important;background:#fff!important}
.reference-tool-nav>button .ico{width:24px!important;height:24px!important;stroke-width:1.55!important}
.reference-avatar{border-color:#d9d9dc!important;background:#fff!important;box-shadow:none!important}
.reference-icon-button{border-radius:10px!important}
.sync{background:#fafafa!important;border:1px solid #ececef!important;border-radius:999px!important;padding:6px 9px!important;min-width:auto!important}

/* Boutons : une hiérarchie nette, aucun effet décoratif superflu. */
.btn{min-height:42px!important;padding:9px 14px!important;border-radius:10px!important;border-color:#d9d9dc!important;background:#fff!important;color:#2e2e32!important;font-size:12.5px!important;font-weight:700!important;box-shadow:none!important;transition:background .15s,border-color .15s,color .15s!important}
.btn:hover{background:#f8f8f9!important;border-color:#bdbdc2!important;box-shadow:none!important}
.btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.btn.primary:hover{background:var(--accent-d)!important;border-color:var(--accent-d)!important}
.btn.ghost,.btn.tertiary{background:transparent!important;border-color:transparent!important;color:var(--accent)!important;padding-inline:7px!important}
.btn.ghost:hover,.btn.tertiary:hover{background:var(--accent-bg)!important;border-color:transparent!important}
.btn.danger{background:transparent!important;color:#b93a36!important;border-color:transparent!important}
.btn.sm{min-height:34px!important;padding:7px 10px!important;font-size:11.5px!important}
button.icon{border-radius:9px!important;color:#717176!important}
button.icon:hover{background:#f3f3f5!important;color:#2d2d31!important}

/* Champs : densité et focus homogènes. */
input,select,textarea{border-color:#d9d9dc!important;border-radius:10px!important;background:#fff!important;color:#2a2a2e!important;box-shadow:none!important}
input,select{min-height:44px!important}
textarea{min-height:104px!important;line-height:1.5!important}
input:hover,select:hover,textarea:hover{border-color:#bdbdc2!important}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(211,56,80,.11)!important}
label.fl{font-size:11.5px!important;font-weight:700!important;color:#55555a!important;margin-bottom:6px!important}
.field{margin-bottom:14px!important}

/* Surfaces et encarts : mêmes rayons, mêmes bordures, pas de traits internes gratuits. */
.card,.metric,.planner-card,.lodging-card,.program-item,.payment-history-item,.quote-group,.summary-row,.scenario-toolbar,.pricing-basis,.guest-family,.ui-collapsible,.form-section,.compare-duel-card{
  border:1px solid var(--jj-line)!important;
  border-radius:var(--jj-card-radius)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.card.pad{padding:var(--jj-card-pad)!important}
.toolbar,.scenario-toolbar,.pricing-basis{padding:13px 14px!important;background:var(--jj-soft-2)!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;margin-bottom:22px!important}
.ui-collapsible{margin-bottom:22px!important;overflow:hidden!important}
.ui-collapsible>summary{min-height:58px!important;padding:12px 16px!important;background:#fff!important}
.ui-collapsible>summary:hover{background:#fafafa!important}
.ui-collapsible[open]>summary{background:#fbfbfc!important}
.provider-category-panel-body,.budget-category-panel-body{border-top:1px solid #efeff1!important;padding:16px!important;background:#fff!important}

/* KPI et statistiques : même taille/alignement partout. */
.metrics{gap:12px!important;margin-bottom:24px!important}
.metric{min-height:126px!important;padding:18px 19px!important;align-items:flex-start!important;text-align:left!important;justify-content:flex-start!important}
.metric .ml{font-size:10.5px!important;font-weight:750!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:#55555b!important;justify-content:flex-start!important}
.metric .ml .ico{width:18px!important;height:18px!important;margin-right:5px!important}
.metric .mv{font-family:var(--font-ui)!important;font-size:28px!important;font-weight:650!important;line-height:1.05!important;margin-top:12px!important;color:#252529!important}
.metric .mx{font-size:11.5px!important;margin-top:7px!important;color:#85858a!important}
.summary-pill{padding:18px!important;background:#fff!important}

/* Accueil : éditorial mais utile, sans rupture de grille. */
.dashboard-reference-hero{padding:34px!important;border-radius:16px!important;gap:32px!important}
.dashboard-reference-photo{border-radius:13px!important;overflow:hidden!important;background:#f5f5f6!important}
.dashboard-reference-content .home-editorial-title h2{font-size:38px!important;line-height:1.06!important;letter-spacing:-.03em!important}
.home-editorial-meta{font-size:13px!important;color:var(--muted)!important;margin-top:8px!important}
.dashboard-kpis{gap:12px!important}
.dashboard-kpi-card{border:1px solid var(--jj-line)!important;border-radius:12px!important;background:#fff!important;padding:17px!important;min-height:112px!important}
.dashboard-kpi-card strong{font-size:23px!important;line-height:1.1!important}
.home-editorial-grid{margin-top:24px!important;gap:18px!important}
.home-editorial-main,.home-editorial-rail{gap:18px!important}
.home-section,.home-rail-section{padding:22px!important;border-radius:14px!important}
.home-section-heading{margin-bottom:15px!important}
.home-section-heading h3{font-size:20px!important}
.dashboard-task-row,.dashboard-program-row{border-bottom:0!important;padding:9px 0!important}
.dashboard-task-row+.dashboard-task-row,.dashboard-program-row+.dashboard-program-row{margin-top:2px!important}

/* Invités : foyers mieux hiérarchisés, actions secondaires calmes. */
.guest-family{margin-bottom:14px!important}
.guest-family-head{padding:15px 16px!important;background:#fafafa!important;border-bottom:0!important}
.guest-family-title{font-size:15.5px!important}
.guest-family-meta{font-size:11.5px!important}
.household-rsvp-code{border-color:#dedee1!important;border-radius:999px!important;background:#fff!important;padding-inline:10px!important}
.guest-family-members{padding:5px 10px 10px!important}
.guest-item{padding:13px 6px!important;border-top:0!important}
.guest-item+.guest-item{border-top:1px solid #f0f0f2!important}
.status-select{min-height:36px!important;border-radius:999px!important}

/* Prestataires : tuiles compactes, scan visuel rapide. */
.provider-category-overview{gap:10px!important}
.provider-category-card{min-height:102px!important;padding:12px 10px!important;border:1px solid #e5e5e8!important;border-radius:12px!important;background:#fafafa!important}
.provider-category-card:hover{background:#fff!important;border-color:#cfcfd3!important;box-shadow:none!important}
.provider-category-card.active{background:#fff!important;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.provider-category-icon{color:#3c3c40!important}
.provider-engagement{font-size:11.5px!important;color:var(--muted)!important;margin-top:7px!important}
.prov-head{padding:16px!important;background:#fff!important}
.provider-inline-ratings{gap:10px!important}

/* Budget / paiements : lecture financière prioritaire, actions secondaires en retrait. */
#page-budget .metrics,#page-payments .metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:12px!important;margin:0 0 24px!important}
#page-budget .metric,#page-payments .metric{min-height:120px!important;padding:18px!important}
#page-budget .metric .mv,#page-payments .metric .mv{font-size:27px!important}
.budget-category-row{min-height:46px!important;padding:10px 12px!important;border:1px solid #ececef!important;border-radius:9px!important;background:#fafafa!important}
.budget-quote{margin-bottom:14px!important;overflow:hidden!important}
.budget-quote-choice{padding:15px 16px!important;background:#fff!important}
.budget-quote-details{background:#fff!important}
.budget-quote-detail{border-top:1px solid #f0f0f2!important;padding:12px 16px!important}
.budget-quote-actions,.quote-group-actions{border-top:0!important;background:#fafafa!important;padding:11px 14px!important}
.payment-entry{padding:16px!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;background:#fafafa!important;margin-bottom:20px!important}
.payment-history{gap:9px!important}
.payment-history-item{padding:13px 14px!important}
#payTable{border-radius:12px!important;overflow:hidden!important}

/* Programme / carnet / tâches : cartes plus simples, densité de travail maîtrisée. */
.program-list{gap:14px!important}
.program-item{padding:14px 15px!important;border-radius:12px!important;overflow:visible!important}
.program-item:before{display:none!important;content:none!important}
.program-item.important{border-left:3px solid var(--accent)!important}
.program-time{font-size:17px!important;color:#3e3e43!important}
.program-title{font-size:13.5px!important}
.program-meta,.program-notes{font-size:11.5px!important}
.planner-card{padding:16px!important}
.planner-summary{gap:12px!important}
.task-reference-layout{gap:26px!important}
.task-reference-sidebar{border-right:0!important;padding-right:20px!important}
.task-progress-reference{border:1px solid var(--jj-line)!important;border-radius:12px!important;padding:14px!important;background:#fafafa!important}

/* Logements et comparaison : mêmes surfaces et mêmes espacements. */
.lodging-card{margin-bottom:14px!important;overflow:hidden!important}
.lodging-card-head{padding:15px 16px!important;background:#fafafa!important}
.compare-toolbar{background:#fafafa!important}
.compare-duel-card{padding:18px!important}

/* Plan de salle : l'outil prime sur les cadres décoratifs. */
#page-seating .seating-commandbar{padding:0!important;margin-bottom:18px!important;border:0!important;background:transparent!important}
#page-seating .seating-room-strip{padding:14px 0 18px!important;border:0!important}
#page-seating .seating-workspace{border:1px solid var(--jj-line)!important;border-radius:14px!important;background:#fff!important}
#page-seating .seating-side{background:#fafafa!important}
#page-seating .room-shell{border:0!important;border-radius:0!important;background:#fff!important}
.seating-room-settings{margin-top:18px!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important}
.seating-room-settings>summary{padding:13px 15px!important}
.room-scroll-note{font-size:11px!important;color:var(--faint)!important;margin-top:9px!important}

/* Tables : en-tête discret et lignes lisibles, sans quadrillage lourd. */
table{border-collapse:separate!important;border-spacing:0!important;background:#fff!important}
th{font-size:10.5px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#6f6f74!important;background:#fafafa!important;border-bottom:1px solid #e8e8eb!important}
th,td{padding:12px 13px!important}
td{border-bottom:1px solid #f0f0f2!important}
tbody tr:last-child td{border-bottom:0!important}
tbody tr:hover td{background:#fdfdfd!important}

/* États vides : compacts, informatifs, action immédiatement proche. */
.empty{padding:34px 20px!important;border:1px dashed #dedee2!important;border-radius:12px!important;background:#fcfcfc!important}
.card>.empty{border:0!important;border-radius:inherit!important}
.empty i{margin-bottom:10px!important;color:#98989d!important}
.empty-title{font-size:14px!important;font-weight:750!important}
.empty-copy{font-size:11.5px!important;color:var(--muted)!important;max-width:520px!important;margin:5px auto 0!important}

/* Menus, pop-ups et modales : priorité visuelle claire. */
.action-menu-pop{border:1px solid #dedee1!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--jj-shadow-pop)!important;padding:7px!important;gap:3px!important}
.action-menu-pop .btn{width:100%!important;justify-content:flex-start!important;border-color:transparent!important;background:transparent!important}
.action-menu-pop .btn:hover{background:#f6f6f7!important}
.overlay{background:rgba(28,28,31,.36)!important;backdrop-filter:blur(2px)}
.modal{border:1px solid #e1e1e4!important;border-radius:16px!important;box-shadow:var(--jj-shadow-pop)!important;background:#fff!important}
.modal-h{padding:17px 19px!important;border-bottom:0!important;background:#fff!important}
.modal-h h3{font-size:21px!important;line-height:1.15!important}
.modal-b{padding:4px 19px 20px!important}
.modal-f{padding:14px 19px 18px!important;border-top:1px solid #f0f0f2!important;background:#fff!important}
.form-section{padding:15px!important;background:#fafafa!important;border-color:#e9e9ec!important}

/* Footer : présence légère, aligné au contenu. */
.app-footer{margin-top:72px!important;padding:26px var(--jj-page-pad) 40px!important;border-top:0!important;color:#7d7d82!important}
.app-footer>span:first-child{font-size:18px!important}

/* Responsive tablette. */
@media(max-width:1180px) and (min-width:761px){
  :root{--jj-page-pad:30px;--jj-section-gap:28px}
  .page-head h2{font-size:32px!important}
  .reference-wide-band{min-height:88px!important;grid-template-columns:116px minmax(0,1fr) 96px!important}
  .reference-brand{min-height:88px!important}
  .reference-tool-nav>button{min-height:88px!important}
  .dashboard-reference-content .home-editorial-title h2{font-size:34px!important}
}

/* Mobile : logique d'app native, actions lisibles sans carrousel accidentel. */
@media(max-width:760px){
  :root{--jj-page-pad:16px;--jj-section-gap:22px;--jj-card-pad:17px}
  body{font-size:13.5px!important}
  .topbar{border-bottom:1px solid #ededf0!important}
  .reference-wide-band{min-height:60px!important}
  .reference-brand{min-height:60px!important}
  .reference-heart{font-size:31px!important}.reference-logo-text{font-size:20px!important}
  .mobile-app-nav{height:calc(70px + env(safe-area-inset-bottom))!important;padding-top:5px!important;box-shadow:0 -5px 20px rgba(25,25,30,.07)!important}
  .mobile-app-nav>button{min-height:55px!important;border-radius:10px!important;font-size:9.5px!important}
  .mobile-app-nav>button.active{background:var(--accent-bg)!important;color:var(--accent)!important}
  .page{padding-inline:var(--jj-page-pad)!important;padding-bottom:28px!important}
  #page-dashboard{padding-top:14px!important}
  .module-links{margin-top:14px!important;width:100%!important;padding:4px!important;display:flex!important}
  .module-links button{flex:1 0 auto!important;min-height:34px!important;padding:6px 10px!important}
  .page-head{min-height:0!important;padding-top:26px!important;margin-bottom:20px!important;gap:12px!important}
  .page-head h2{font-size:29px!important}
  .page-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:8px!important}
  .page-actions>*{min-width:0!important;width:100%!important}
  .page-actions>.btn,.page-actions>.action-menu>summary{width:100%!important;min-height:42px!important;white-space:normal!important;text-align:center!important;justify-content:center!important}
  .page-actions>.action-menu{width:100%!important}
  .section{margin-top:var(--jj-section-gap)!important}
  .card.pad{padding:17px!important}
  .toolbar,.scenario-toolbar,.pricing-basis{padding:10px!important;margin-bottom:16px!important}
  .metrics,#page-budget .metrics,#page-payments .metrics{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .metric,#page-budget .metric,#page-payments .metric{min-height:104px!important;padding:14px!important}
  .metric .mv,#page-budget .metric .mv,#page-payments .metric .mv{font-size:23px!important}
  .metric .ml{font-size:9.5px!important;letter-spacing:.05em!important}
  .dashboard-reference-hero{padding:15px!important;gap:15px!important;border-radius:13px!important}
  .dashboard-reference-photo{height:165px!important}
  .dashboard-reference-content .home-editorial-title h2{font-size:29px!important}
  .dashboard-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .dashboard-kpi-card{min-height:96px!important;padding:12px!important}
  .dashboard-kpi-card strong{font-size:19px!important}
  .home-editorial-grid{margin-top:14px!important;gap:12px!important}
  .home-editorial-main,.home-editorial-rail{gap:12px!important}
  .home-section,.home-rail-section{padding:16px!important}
  .home-section-heading{align-items:flex-start!important;gap:8px!important}
  .home-section-heading .btn.tertiary{font-size:11.5px!important}
  .ui-collapsible>summary{min-height:54px!important;padding:11px 13px!important}
  .provider-category-panel-body,.budget-category-panel-body{padding:10px!important}
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .provider-category-card{min-height:94px!important;padding:10px 7px!important}
  .guest-family-head{padding:13px!important}
  .guest-family-members{padding:3px 8px 8px!important}
  .guest-item{padding:12px 4px!important}
  .program-item{grid-template-columns:1fr!important;gap:8px!important;padding:13px!important}
  .program-actions{justify-content:flex-start!important}
  .payment-entry{padding:13px!important}
  .payment-history-item{padding:12px!important}
  #page-seating .seating-workspace{border-radius:12px!important}
  #page-seating .room-canvas{min-width:600px!important}
  .modal{border-radius:18px 18px 0 0!important;border-bottom:0!important}
  .modal-h{padding:15px 16px!important}
  .modal-b{padding:3px 16px 18px!important}
  .modal-f{padding:12px 16px max(14px,env(safe-area-inset-bottom))!important}
  .back-to-top{display:none!important}
  .app-footer{display:none!important}
}
@media(max-width:430px){
  .metrics,#page-budget .metrics,#page-payments .metrics,.dashboard-kpis{grid-template-columns:1fr!important}
  .page-actions{grid-template-columns:1fr!important}
  .mobile-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Authentification v68 : écran court, rassurant et centré. */
.gate{background:#fafafa!important;padding:32px 16px!important}
.gate-card{width:min(440px,100%)!important;padding:38px 36px!important;border:1px solid #e4e4e7!important;border-radius:16px!important;background:#fff!important;box-shadow:0 16px 46px rgba(30,30,35,.08)!important}
.gate-card .logo-lockup{margin-bottom:20px!important}
.gate-card .login-logo{width:64px!important;height:64px!important}
.gate-card h2{font-size:29px!important;line-height:1.08!important;text-align:center!important;margin-bottom:25px!important}
.gate-card>p{text-align:center!important;color:var(--muted)!important;font-size:12.5px!important;margin:-12px 0 22px!important}
.gate-card .auth-back{width:100%!important;justify-content:center!important;margin-top:8px!important}
.auth-direct-create{border-top:0!important;background:#fafafa!important;border-radius:11px!important;padding:13px!important;margin-top:18px!important}
.auth-direct-create>span{font-size:11.5px!important}
.gate-err{margin-top:12px!important;font-size:12px!important;line-height:1.45!important}

@media(max-width:430px){
  .page-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gate{padding:14px!important;align-items:flex-start!important}
  .gate-card{padding:28px 20px!important;border-radius:14px!important;margin:16px auto!important}
  .gate-card h2{font-size:26px!important;margin-bottom:22px!important}
  .gate-card .login-logo{width:58px!important;height:58px!important}
}


/* v69 — cohérence des encarts, sous-menus supprimés, titres mobile alignés à gauche */
.module-links{display:none!important}

/* Tous les vrais encarts utilisent exactement la même géométrie visuelle. */
.dashboard-reference-hero,
.dashboard-kpi-card,
.card,
.metric,
.summary-row,
.guest-family,
.planner-card,
.lodging-card,
.program-item,
.payment-history-item,
.quote-group,
.compare-duel-card,
.scenario-toolbar,
.pricing-basis,
.ui-collapsible,
.form-section,
.home-section,
.home-rail-section,
.task-progress-reference,
.payment-entry,
.seating-room-settings{
  box-sizing:border-box!important;
  border:1px solid var(--jj-line)!important;
  border-radius:var(--jj-card-radius)!important;
  background:#fff!important;
  background-clip:padding-box!important;
  box-shadow:none!important;
}

/* Les encarts de synthèse restent toujours entièrement encadrés, y compris le dernier. */
.dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  border:0!important;
  overflow:visible!important;
  padding:1px!important;
}
.dashboard-kpi-card{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:17px!important;
  overflow:hidden!important;
  border:1px solid var(--jj-line)!important;
  border-right:1px solid var(--jj-line)!important;
  border-bottom:1px solid var(--jj-line)!important;
  border-left:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.dashboard-kpi-card:first-child,
.dashboard-kpi-card:last-child,
.dashboard-kpi-card:nth-child(n){
  border:1px solid var(--jj-line)!important;
}
.dashboard-kpi-card:focus-visible{outline:3px solid rgba(211,56,80,.16)!important;outline-offset:2px!important}
.dashboard-kpi-track{width:100%!important;overflow:hidden!important}

/* Une bordure ne doit jamais être rognée par le parent d'un groupe de cartes. */
.metrics,.dashboard-kpis,.dashboard-reference-content,.home-editorial-grid,.home-editorial-main,.home-editorial-rail{
  min-width:0!important;
}
.metrics>.metric,.dashboard-kpis>.dashboard-kpi-card{min-width:0!important}

/* Évite les doubles traits quand un encart contient déjà sa propre structure. */
.card>.empty{border:0!important}
.quote-group table,#payTable table{border:0!important}
.home-section-heading,.lodging-card-head,.guest-family-head{border-bottom:0!important}

/* Titres : position stable à gauche sur téléphone, indépendamment des actions. */
@media(max-width:760px){
  .page-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    text-align:left!important;
    width:100%!important;
  }
  .page-head>div:first-child{
    width:100%!important;
    margin:0!important;
    text-align:left!important;
    align-self:stretch!important;
  }
  .page-head .page-kicker,
  .page-head h2,
  .page-head .sub{
    display:block!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
    direction:ltr!important;
  }
  .page-head h2{transform:none!important}
  .page-actions{
    align-self:stretch!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:1px!important}
  .dashboard-kpi-card{min-height:96px!important;padding:12px!important}
}
@media(max-width:430px){
  .dashboard-kpis{grid-template-columns:1fr!important}
}


/* Audit complémentaire v69 : composants dynamiques qui se comportent comme des cartes. */
.prov,
.provider-evaluation-panel,
.provider-question-bank,
.guest-portal-panel,
.lodging-pool-card,
.planner-summary,
.compare-duel-insight,
.compare-matrix-wrap,
.room-tab-card,
.seating-workspace{
  box-sizing:border-box!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.prov{overflow:hidden!important;margin-bottom:14px!important}
.prov-head{border-bottom:0!important}
.prov.open .prov-body{border-top:1px solid #f0f0f2!important}
.provider-evaluation-panel,.provider-question-bank{overflow:hidden!important}
.compare-matrix-wrap{overflow-x:auto!important}
.room-tab-card{overflow:hidden!important}

/* Les grilles de cartes ne doivent jamais rogner la bordure de la dernière colonne. */
.dashboard-kpis,
.metrics,
.provider-category-overview,
.compare-duel-grid,
.home-editorial-grid{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
}
.dashboard-kpis>*,.metrics>*,.provider-category-overview>*,.compare-duel-grid>*{min-width:0!important}


/* v70 — anti-chevauchement global, gouttières mobile et bordures complètes */
:root{
  --v70-gutter:clamp(18px,3vw,34px);
  --v70-mobile-gutter:16px;
}

/* Sécurité de mise en page : aucun enfant ne doit pouvoir élargir sa carte. */
.app,.page,.page>*{min-width:0!important;max-width:100%!important}
.page *{box-sizing:border-box}
.flex,.actions,.page-actions,.provider-head-actions,.quote-group-actions,.budget-quote-actions,.program-actions,.seating-command-actions{min-width:0}
img,svg,video,canvas{max-width:100%}

/* Les cartes conservent leurs 4 côtés même en dernière colonne / dernier élément. */
.dashboard-reference-hero,.dashboard-kpi-card,.card,.metric,.summary-row,.summary-pill,
.guest-family,.planner-card,.lodging-card,.program-item,.payment-history-item,.quote-group,
.compare-duel-card,.scenario-toolbar,.pricing-basis,.ui-collapsible,.form-section,.home-section,
.home-rail-section,.task-progress-reference,.payment-entry,.seating-room-settings,.prov,
.provider-evaluation-panel,.provider-question-bank,.guest-portal-panel,.lodging-pool-card,
.planner-summary,.compare-duel-insight,.compare-matrix-wrap,.room-tab-card,.seating-workspace{
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  background-clip:padding-box!important;
  box-shadow:none!important;
  max-width:100%!important;
}
/* Les listes/grilles ne rognent jamais la bordure externe de leurs enfants. */
.metrics,.dashboard-kpis,.provider-category-overview,.compare-duel-grid,.budget-quotes,
#providersList,#budgetList,#lodgingList,.payment-history,.seating-list-tables{
  overflow:visible!important;
  padding-left:1px!important;
  padding-right:1px!important;
}
.metrics>* ,.dashboard-kpis>* ,.provider-category-overview>* ,.compare-duel-grid>*{min-width:0!important}

/* Prestataires : en-tête robuste et zone de notation sans collision. */
.prov{overflow:hidden!important;margin-bottom:16px!important}
.prov-head{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(74px,auto) minmax(0,auto)!important;
  gap:12px 16px!important;
  align-items:center!important;
  padding:16px 18px!important;
}
.prov-toggle{min-width:0!important;overflow:hidden!important}
.prov-title,.prov-meta{min-width:0!important;overflow-wrap:anywhere!important}
.prov-meta{row-gap:4px!important}
.provider-score-quick{
  min-width:82px!important;
  margin:0!important;
  padding:2px 14px!important;
  border-left:1px solid #ececef!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.provider-head-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
.provider-head-actions .btn{white-space:nowrap!important}
.prov-body{padding:0 18px 18px!important;border-top:1px solid #f0f0f2!important}
.provider-evaluation-panel{
  display:grid!important;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  padding:16px!important;
  margin:14px 0 16px!important;
  overflow:visible!important;
}
.provider-evaluation-head{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.provider-evaluation-head>div{
  display:block!important;
  min-width:0!important;
}
.provider-evaluation-head span{display:block!important;margin:0 0 5px!important;line-height:1.2!important}
.provider-evaluation-head strong{
  display:block!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.provider-evaluation-head small{
  display:block!important;
  margin:7px 0 0!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.provider-inline-ratings{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(120px,1fr))!important;
  gap:10px!important;
  min-width:0!important;
}
.provider-inline-ratings label{min-width:0!important;margin:0!important}
.provider-inline-ratings select{width:100%!important;min-width:0!important}
.provider-links-block,.provider-notes-block{padding-inline:2px!important}
.quote-group{margin:14px 0 0!important;overflow:hidden!important}
.quote-group-head{flex-wrap:wrap!important}
.quote-group-head>div{min-width:0!important}
.quote-group-title,.quote-group-meta{overflow-wrap:anywhere!important}

/* Tableaux et barres d'actions : scroll local plutôt que chevauchement. */
.table-wrap,.compare-matrix-wrap,#payTable{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
table{max-width:100%}
.page-actions,.seating-command-actions,.budget-quote-actions,.quote-group-actions{row-gap:8px!important}

/* Mobile : gouttières garanties sur chaque écran, aucun composant collé au bord. */
@media(max-width:760px){
  .app{padding-left:var(--v70-mobile-gutter)!important;padding-right:var(--v70-mobile-gutter)!important}
  .page{width:100%!important;padding-left:0!important;padding-right:0!important;margin:0!important}
  .page>*{max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .page-head{padding-left:0!important;padding-right:0!important}
  .page-head>div:first-child{padding-left:0!important;padding-right:0!important}
  .page-actions{padding:0!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .page-actions>*{min-width:0!important;max-width:100%!important}
  .page-actions .btn,.page-actions summary{white-space:normal!important;line-height:1.25!important}

  .card,.metric,.guest-family,.planner-card,.lodging-card,.program-item,.payment-history-item,
  .quote-group,.compare-duel-card,.scenario-toolbar,.pricing-basis,.ui-collapsible,.form-section,
  .home-section,.home-rail-section,.payment-entry,.seating-room-settings,.prov,.provider-evaluation-panel{
    width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
  }
  .toolbar,.scenario-toolbar,.pricing-basis{margin-left:0!important;margin-right:0!important}
  .room-overview-grid{margin-inline:0!important;padding-inline:0!important}
  .room-shell{margin-inline:0!important;border-left:1px solid var(--jj-line)!important;border-right:1px solid var(--jj-line)!important;border-radius:12px!important;padding:8px!important}
  .seating-workspace{padding:10px!important}
  .seating-side{padding-inline:0!important}

  .prov-head{grid-template-columns:minmax(0,1fr) auto!important;padding:14px!important;gap:10px!important}
  .provider-score-quick{grid-column:2!important;grid-row:1!important;border-left:1px solid #ececef!important;border-top:0!important;padding:0 0 0 10px!important;min-width:72px!important}
  .provider-head-actions{grid-column:1/-1!important;justify-content:flex-start!important;overflow:visible!important;flex-wrap:wrap!important}
  .prov-body{padding:0 14px 14px!important}
  .provider-evaluation-panel{grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}
  .provider-evaluation-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;align-items:end!important}
  .provider-evaluation-head>div{min-width:0!important}
  .provider-evaluation-head small{grid-column:1/-1!important;margin-top:0!important}
  .provider-inline-ratings{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .quote-group{margin-top:12px!important}
  .quote-group-head{padding:12px!important}
  .quote-group-actions{padding:10px 12px!important;justify-content:flex-start!important}
  .budget-quote-choice{grid-template-columns:auto minmax(0,1fr)!important}
  .budget-quote-total{grid-column:2!important;text-align:left!important;margin-top:4px!important}
  .budget-quote-detail{grid-template-columns:auto minmax(0,1fr)!important;gap:8px 10px!important}
  .budget-detail-calc,.budget-detail-price{grid-column:2!important}
  .budget-detail-price{text-align:left!important}
  .modal{width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important;margin-left:8px!important;margin-right:8px!important}
  .modal-h,.modal-b,.modal-f{padding-left:16px!important;padding-right:16px!important}
}
@media(max-width:430px){
  .page-actions{grid-template-columns:1fr!important}
  .provider-inline-ratings{grid-template-columns:1fr!important}
  .prov-head{grid-template-columns:1fr!important}
  .provider-score-quick{grid-column:1!important;grid-row:auto!important;border-left:0!important;border-top:1px solid #ececef!important;padding:9px 0 0!important;min-width:0!important}
  .provider-head-actions{grid-column:1!important}
}


/* v71 — suppression des faux chevauchements / doubles bordures */
/* Les rangées de KPI sont une grille de cartes indépendantes : pas de cadre parent. */
.summary-row:not(#guestSummary){
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:20px 0 26px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.summary-row:not(#guestSummary)>.summary-pill{
  min-width:0!important;
  padding:18px 20px!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.summary-row:not(#guestSummary)>.summary-pill:last-child{border-right:1px solid var(--jj-line)!important}

/* Programme : titres et cartes clairement séparés, aucune ligne qui traverse les blocs. */
.program-list{gap:22px!important}
.program-day{display:grid!important;gap:10px!important}
.program-day-head{
  padding:8px 2px 4px!important;
  margin:0!important;
  border:0!important;
  min-width:0!important;
}
.program-day-head strong{line-height:1.2!important}
.program-item{
  margin:0!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.program-item+.program-item{margin-top:0!important}

/* Rétroplanning : l'ancien trait de liste ne doit jamais traverser le titre de période. */
.task-list{border-top:0!important}
.task-retro-group{gap:10px!important}
.task-retro-heading{
  padding:0 2px!important;
  margin:0!important;
  border:0!important;
  min-height:34px!important;
}
.task-retro-heading h3,.task-retro-heading span{position:relative!important;z-index:1!important;background:transparent!important}
.task-retro-list{margin:0!important;border:1px solid var(--jj-line)!important;border-radius:12px!important}

/* Prestataires : pas de séparateur flottant entre le lien principal et les questions. */
.provider-links-block{
  padding:10px 0 4px!important;
  margin:0 0 10px!important;
  border:0!important;
}
.provider-notes-block{
  padding:10px 0!important;
  margin:0 0 10px!important;
  border:0!important;
}
.provider-question-bank{
  margin:0 0 14px!important;
  width:100%!important;
  max-width:100%!important;
}
.prov-body>.provider-question-bank{margin-left:0!important;margin-right:0!important}

/* Empêche les cadres de se toucher visuellement dans les zones en grille. */
.metrics,.dashboard-kpis,.provider-category-overview,.compare-duel-grid{gap:12px!important}
.metrics{border:0!important;background:transparent!important;overflow:visible!important}
.metrics>.metric{border:1px solid var(--jj-line)!important;border-radius:12px!important}

@media(max-width:980px){
  .summary-row:not(#guestSummary){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .summary-row:not(#guestSummary){grid-template-columns:1fr!important;gap:10px!important;margin:16px 0 22px!important}
  .summary-row:not(#guestSummary)>.summary-pill{padding:16px!important}
  .program-list{gap:18px!important}
  .program-day{gap:9px!important}
  .program-day-head{padding:4px 0 2px!important;align-items:flex-start!important}
  .program-item{padding:13px!important}
  .task-retro-heading{padding:0!important}
  .provider-question-bank{margin-bottom:12px!important}
}


/* ===== v72 guest portal + card integrity ===== */
.public-brand{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:22px!important}
.public-brand-heart{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:var(--accent-bg)!important;color:var(--accent)!important;font-size:24px!important;line-height:1!important;flex:0 0 42px!important}
.public-brand-copy strong{display:block!important;font-size:18px!important;line-height:1.05!important}
.public-brand-copy small{display:block!important;color:var(--muted)!important;margin-top:2px!important}
.public-hero-card{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr)!important;gap:18px!important;align-items:stretch!important}
.public-hero-panel{border:1px solid var(--jj-line)!important;border-radius:14px!important;padding:16px!important;background:#fbf7f4!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.public-hero-panel strong{font-size:14px!important;margin-bottom:6px!important}
.public-section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:14px!important}
.public-lodging-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:12px!important}
.public-lodging-card{border:1px solid var(--jj-line)!important;border-radius:14px!important;padding:15px!important;background:#fff!important;display:flex!important;flex-direction:column!important;gap:12px!important;min-width:0!important}
.public-lodging-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important}
.public-lodging-head h3{margin:0!important;font-size:15px!important}
.public-lodging-meta{display:flex!important;gap:8px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:11.5px!important;margin-top:5px!important}
.public-lodging-contact{display:grid!important;gap:5px!important;font-size:12px!important;color:var(--muted)!important}
.public-lodging-contact a{word-break:break-word!important}
.public-lodging-rooms{display:grid!important;gap:8px!important}
.public-lodging-room{border:1px solid #ece7e3!important;border-radius:11px!important;padding:10px 11px!important;background:#fcfbfa!important;display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-start!important}
.public-lodging-room span{font-size:11.5px!important;color:var(--muted)!important;text-align:right!important}
.public-lodging-links{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.public-lodging-note{margin:0!important}
.public-party-head-badges{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important}
.public-contact-sync{display:grid!important;gap:6px!important}
.public-contact-sync small{font-size:11px!important;color:var(--muted)!important;line-height:1.4!important}
.public-party-fields .field.is-disabled{opacity:.7!important}
.public-party-fields .field.is-disabled input{background:#f4f4f5!important;color:#75757c!important}

.metrics,#page-budget .metrics,#page-payments .metrics{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:16px!important;margin:0 0 24px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;align-items:stretch!important}
.metrics>.metric,#page-budget .metrics>.metric,#page-payments .metrics>.metric,.metric,#page-budget .metric,#page-payments .metric{position:relative!important;isolation:isolate!important;overflow:hidden!important;min-width:0!important;min-height:124px!important;padding:18px 20px!important;border:1px solid var(--jj-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
.metric:before,#page-budget .metric:before,#page-payments .metric:before,.metrics:before,#page-budget .metrics:before,#page-payments .metrics:before{display:none!important;content:none!important}
.metric .ml,.metric .mv,.metric .mx{text-align:left!important}
.metric .ml{justify-content:flex-start!important;min-height:auto!important}
.metric .mv{margin-top:12px!important}
.summary-row,.summary-pill,.quote-group,.guest-family,.card,.planner-card,.lodging-card,.program-item,.payment-history-item{overflow:hidden!important}

.guest-table-select{border:1px solid var(--jj-line)!important;transition:background-color .15s,border-color .15s,color .15s!important}
.guest-table-select.is-unassigned{background:var(--amber-bg)!important;color:var(--amber)!important;border-color:#f2d6a3!important}
.guest-table-select.is-assigned{background:var(--blue-bg)!important;color:var(--blue)!important;border-color:#cfe0f6!important}
.table-guest .badge.green{background:var(--green-bg)!important;color:var(--green)!important}
.table-guest .badge.amber{background:var(--amber-bg)!important;color:var(--amber)!important}
.table-guest .badge.red{background:var(--red-bg)!important;color:var(--red)!important}

@media(max-width:760px){
  .public-hero-card{grid-template-columns:1fr!important}
  .public-lodging-list{grid-template-columns:1fr!important}
  .public-lodging-head,.public-lodging-room{flex-direction:column!important}
  .public-lodging-room span{text-align:left!important}
}
@media(max-width:560px){
  .page{padding-inline:16px!important}
  .public-shell{width:100%!important;padding:14px 0 28px!important}
  .public-card,.public-party-person,.guest-family,.card,.metric,.lodging-card,.program-item,.planner-card{border-radius:12px!important}
  .guest-item{padding:12px 12px!important}
}


/* ===== v73: logement dans RSVP + audit lisibilité / cadres ===== */
*,*::before,*::after{box-sizing:border-box}
.field,.toolbar-group,.page-actions,.actions,.public-party-fields>*{min-width:0!important}
.field>.fl,.field>label.fl{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
.field>input,.field>select,.field>textarea{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}
.ui-collapsible>summary small,.budget-category-row span,.dashboard-task-open strong,
.budget-quote-title,.quote-group-title,.program-title-text,.provider-question-bank summary{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.page-actions .btn,.toolbar .btn,.toolbar-group .btn,.provider-head-actions .btn{
  max-width:100%!important;
  white-space:normal!important;
  height:auto!important;
}

/* Le bloc de calcul du budget est un vrai encart fermé, sans label ni valeur tronquée. */
#page-budget .pricing-basis{
  display:block!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:16px 18px!important;
  border:1px solid var(--jj-line)!important;
  border-top:1px solid var(--jj-line)!important;
  border-right:1px solid var(--jj-line)!important;
  border-bottom:1px solid var(--jj-line)!important;
  border-left:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:visible!important;
}
#page-budget .pricing-basis .field{
  display:grid!important;
  grid-template-columns:minmax(210px,max-content) minmax(320px,520px)!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  max-width:780px!important;
  margin:0!important;
}
#page-budget .pricing-basis label{
  margin:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#page-budget .pricing-basis select{
  width:100%!important;
  min-width:320px!important;
  max-width:520px!important;
}

/* Les groupes de cartes n'ont jamais de pseudo-cadre parent incomplet. */
.metrics,.summary-row:not(#guestSummary),.dashboard-kpis{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  overflow:visible!important;
  padding:0!important;
}
.metrics>*,.summary-row:not(#guestSummary)>*,.dashboard-kpis>*{
  border-top:1px solid var(--jj-line)!important;
  border-right:1px solid var(--jj-line)!important;
  border-bottom:1px solid var(--jj-line)!important;
  border-left:1px solid var(--jj-line)!important;
  background:#fff!important;
  background-clip:padding-box!important;
}

/* Espace invité : les logements sont rattachés au champ "Besoin de logement". */
.public-lodging-field{display:grid!important;gap:8px!important}
.public-lodging-picker{
  width:100%!important;
  margin-top:4px!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fbfaf9!important;
  overflow:hidden!important;
}
.public-lodging-picker>summary{
  list-style:none!important;
  cursor:pointer!important;
  min-height:44px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  font-weight:700!important;
}
.public-lodging-picker>summary::-webkit-details-marker{display:none!important}
.public-lodging-picker>summary:after{content:'⌄';color:var(--muted);margin-left:auto!important}
.public-lodging-picker[open]>summary:after{transform:rotate(180deg)}
.public-lodging-picker>summary small{font-weight:500!important;color:var(--muted)!important;white-space:nowrap!important}
.public-lodging-picker .public-lodging-list.compact{
  padding:0 10px 10px!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  gap:9px!important;
}
.public-lodging-picker .public-lodging-card{
  padding:12px!important;
  border-radius:11px!important;
  gap:9px!important;
}
.public-lodging-empty{font-size:11.5px;color:var(--muted);padding:10px 0 0}
.public-rsvp-open{display:flex!important;align-items:flex-end!important}
.public-rsvp-open .btn{width:100%!important}

@media(max-width:900px){
  #page-budget .pricing-basis .field{grid-template-columns:1fr!important;max-width:620px!important;gap:8px!important}
  #page-budget .pricing-basis select{min-width:0!important;max-width:100%!important}
}
@media(max-width:760px){
  .public-lodging-picker .public-lodging-list.compact{grid-template-columns:1fr!important}
  .public-lodging-picker>summary{align-items:flex-start!important;flex-wrap:wrap!important}
  .public-lodging-picker>summary small{white-space:normal!important}
}
@media(max-width:560px){
  #page-budget .pricing-basis{padding:14px!important;margin-bottom:18px!important}
  #page-budget .pricing-basis .field{width:100%!important}
  .field>.fl,.field>label.fl{font-size:11.5px!important}
  .page-actions,.toolbar-group{gap:8px!important}
}


/* ===== v74 : inspirations outils mariage tout-en-un ===== */
.portal-customization-card{border:1px solid var(--jj-line);border-radius:14px;background:#fbfaf9;padding:16px;margin:2px 0 16px}
.portal-customization-card .grid2{gap:12px}
.portal-section-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}
.portal-section-toggles label{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #ebe7e4;border-radius:10px;background:#fff;font-size:12px;font-weight:650;cursor:pointer}
.portal-section-toggles input{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}
.public-gate[data-theme="rose"]{--public-accent:#d94d60;--public-soft:#fff1f3}
.public-gate[data-theme="sage"]{--public-accent:#647e69;--public-soft:#eff5f0}
.public-gate[data-theme="blue"]{--public-accent:#53779b;--public-soft:#eef4fb}
.public-gate[data-theme="sand"]{--public-accent:#8b6a4d;--public-soft:#f7f1e9}
.public-gate[data-theme="plum"]{--public-accent:#71516f;--public-soft:#f5eef5}
.public-gate[data-theme] .public-brand-heart{color:var(--public-accent)!important;background:var(--public-soft)!important}
.public-gate[data-theme] .page-kicker,.public-gate[data-theme] .public-schedule-time{color:var(--public-accent)!important}
.public-gate[data-theme] .btn.primary{background:var(--public-accent)!important;border-color:var(--public-accent)!important}
.public-gate[data-theme] .public-hero-panel{background:var(--public-soft)!important}
.public-event-name{font-size:14px;font-weight:750;color:var(--muted);margin:3px 0 8px}
.public-deadline{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 11px;border-radius:999px;background:var(--public-soft,var(--accent-bg));color:var(--public-accent,var(--accent));font-size:11.5px}
.public-deadline strong{text-transform:uppercase;letter-spacing:.08em;font-size:9px}
.public-contact-box{margin-top:13px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);display:grid;gap:3px}
.public-contact-box span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.public-contact-box strong{font-size:12px;overflow-wrap:anywhere}
.public-album-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,var(--public-soft,#fff6f6))!important}
.public-album-card h2{margin-top:2px!important}
.seating-constraint-alert,.seating-constraint-ok{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;width:100%;padding:10px 12px;border-radius:11px;font-size:11.5px}
.seating-constraint-alert{background:var(--amber-bg);color:var(--amber)}
.seating-constraint-alert span{color:#7a5a27;overflow-wrap:anywhere}
.seating-constraint-ok{background:var(--green-bg);color:var(--green)}
#teamOwnerOptions{display:none}
@media(max-width:760px){
  .portal-section-toggles{grid-template-columns:1fr}
  .public-album-card{align-items:flex-start;flex-direction:column}
  .public-album-card .btn{width:100%}
  .seating-constraint-alert,.seating-constraint-ok{flex-direction:column}
}


/* ===== v75 : adolescents, 3D, personnalisation invité, Save the Date ===== */
.seat-person.teen{background:#7b5ab6!important}.guest-chip.teen i,.table-guest.teen .seat-chip{background:#7b5ab6!important}.badge.teen{background:#f0eafb;color:#6745a1}
.seating-3d-view{margin-top:14px}.seating-3d-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;padding:15px 16px;border:1px solid var(--jj-line);border-radius:14px;background:#fff}.seating-3d-toolbar strong,.seating-3d-toolbar small{display:block}.seating-3d-toolbar small{color:var(--muted);margin-top:4px}.seating-3d-stage{min-height:620px;border:1px solid var(--jj-line);border-radius:16px;overflow:auto;background:linear-gradient(#f8f5f1,#eee6dd);padding:60px 8% 100px;perspective:1100px}.room-3d-scene{min-width:760px;display:grid;place-items:center}.room-3d-floor{position:relative;width:min(950px,86vw);aspect-ratio:1.5/1;background:linear-gradient(135deg,#fffdfa,#f6eee6);border:1px solid #d5c8bd;box-shadow:0 36px 60px rgba(55,40,31,.22);transform:rotateX(54deg) rotateZ(-2deg);transform-style:preserve-3d;border-radius:8px;background-image:linear-gradient(rgba(100,80,60,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(100,80,60,.06) 1px,transparent 1px);background-size:6.66% 10%}.room-3d-label{position:absolute;left:18px;top:18px;transform:translateZ(4px);display:grid;gap:2px}.room-3d-label span{font-size:11px;color:var(--muted)}.table-3d,.fixture-3d{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(18px);transform-style:preserve-3d}.table-3d{width:var(--w);height:var(--d);min-width:58px;min-height:42px;border:0;background:transparent;cursor:pointer}.table-3d-top{position:absolute;inset:0;border:2px solid #ce9baa;background:#fff7f8;border-radius:12px;display:grid;place-items:center;align-content:center;gap:2px;box-shadow:0 7px 0 #b77f8e,0 12px 18px rgba(80,45,55,.18);color:#36282d}.table-3d.round .table-3d-top,.table-3d.oval .table-3d-top{border-radius:999px}.table-3d-top strong{font-size:11px}.table-3d-top small{font-size:9px;color:var(--muted)}.fixture-3d{width:var(--w);height:var(--d);min-width:52px;min-height:38px;border:1px solid #c9bfb6;border-radius:9px;background:#f1ece6;box-shadow:0 6px 0 #c8b9ad,0 10px 15px rgba(55,45,35,.14);display:grid;place-items:center;align-content:center;gap:2px;text-align:center}.fixture-3d span{font-size:18px}.fixture-3d small{font-size:8px;font-weight:700}
.portal-style-grid input[type="color"]{height:48px;padding:5px}.portal-save-date-card{border:1px solid var(--jj-line);border-radius:14px;background:#fff9f2;padding:16px;margin:16px 0}.portal-switch.compact{padding:8px 10px}.public-gate{background:var(--public-bg,var(--bg))!important}.public-gate[data-font="modern"] .public-card h1,.public-gate[data-font="modern"] .public-card h2{font-family:var(--font-ui)!important}.public-gate[data-font="classic"] .public-card h1,.public-gate[data-font="classic"] .public-card h2{font-family:Georgia,'Times New Roman',serif!important}.public-gate[data-theme="terracotta"]{--public-accent:#b85d42;--public-soft:#faeee8}.public-gate[data-theme="champagne"]{--public-accent:#9a7a45;--public-soft:#faf4e8}.public-gate[data-theme="night"]{--public-accent:#c9a96e;--public-soft:#28242f;--public-bg:#17151d}.public-gate[data-theme="night"] .public-card{background:#211e28!important;color:#f8f4ed!important;border-color:#393440!important}.public-gate[data-theme="night"] .public-lead,.public-gate[data-theme="night"] .txt-muted{color:#c8c1cb!important}.public-hero-card.has-cover{position:relative;overflow:hidden!important;min-height:330px;background:linear-gradient(90deg,rgba(255,255,255,.97) 0 52%,rgba(255,255,255,.18) 74%),var(--public-cover) center/cover no-repeat!important}.public-hero-emoji{display:block;font-size:34px;line-height:1;margin-bottom:12px}.public-monogram{font-family:var(--font-display);font-size:18px;color:var(--public-accent);margin-top:8px}.public-countdown{display:inline-flex;margin-top:14px;padding:8px 11px;border-radius:999px;background:var(--public-soft);color:var(--public-accent);font-weight:750;font-size:12px}.public-mini-card{display:grid!important;grid-template-columns:auto 1fr!important;gap:14px!important;align-items:start!important}.public-mini-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--public-soft);font-size:22px}.public-footer-message{text-align:center;padding:24px 16px 46px;color:var(--public-accent);font-family:var(--font-display);font-size:20px}.public-save-hero{text-align:center!important;padding:38px 28px!important}.public-save-icon{font-size:54px;margin-bottom:12px}.save-date-notice{margin:18px auto 0;max-width:620px;padding:12px 14px;border-radius:12px;background:var(--public-soft);color:var(--public-accent);font-weight:700}.save-date-party{display:grid;gap:12px;margin-top:16px}.save-date-person{padding:15px;border:1px solid var(--jj-line);border-radius:13px;background:#fff}.save-date-person>strong{display:block;margin-bottom:10px}.save-date-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.save-date-options label{cursor:pointer}.save-date-options input{position:absolute;opacity:0;pointer-events:none}.save-date-options span{display:block;border:1px solid var(--jj-line);border-radius:11px;padding:12px 10px;text-align:center;font-weight:700;background:#fff}.save-date-options input:checked+span{border-color:var(--public-accent);background:var(--public-soft);color:var(--public-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--public-accent) 14%,transparent)}
@media(max-width:760px){.seating-3d-stage{min-height:480px;padding:50px 16px 80px}.room-3d-scene{min-width:650px}.public-hero-card.has-cover{background:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.9)),var(--public-cover) center/cover no-repeat!important}.save-date-options{grid-template-columns:1fr}.portal-style-grid{grid-template-columns:1fr!important}}

.badge.save-intent-likely{background:#e8f5ed;color:#28785d}.badge.save-intent-maybe{background:#fff4df;color:#95610d}.badge.save-intent-unlikely{background:#fdeceb;color:#b33b34}


/* ===== v76 · Andalousie, Save the Date visible, grilles invités ===== */
.public-gate[data-theme="andalusia"]{
  --public-accent:#b6573f;
  --public-soft:#f8e7d7;
  --public-bg:#fff8ec;
  --andalusia-olive:#6e7442;
  --andalusia-blue:#315f75;
  --andalusia-gold:#d79a3d;
  --andalusia-ink:#3d3028;
  background:
    radial-gradient(circle at 12% 4%,rgba(215,154,61,.10),transparent 22rem),
    radial-gradient(circle at 88% 18%,rgba(49,95,117,.08),transparent 24rem),
    var(--public-bg)!important;
}
.public-gate[data-theme="andalusia"] .public-shell{max-width:1040px!important;padding-top:24px!important}
.public-gate[data-theme="andalusia"] .public-brand{max-width:980px;margin-inline:auto!important}
.public-gate[data-theme="andalusia"] .public-brand-heart{color:#b6573f!important;background:#fff0df!important;border:1px solid #e9c9a4!important}
.public-gate[data-theme="andalusia"] .public-brand-copy strong{font-family:Georgia,'Times New Roman',serif!important;color:var(--andalusia-ink)!important}
.public-gate[data-theme="andalusia"] .public-card{border-color:#e8d8c8!important;background:rgba(255,253,248,.97)!important;box-shadow:0 12px 38px rgba(83,55,37,.055)!important}
.public-gate[data-theme="andalusia"] .public-hero-card{min-height:470px!important;padding:58px clamp(28px,7vw,76px)!important;display:flex!important;align-items:center!important;position:relative!important;overflow:hidden!important;border-radius:28px!important;background:
  linear-gradient(135deg,rgba(255,253,247,.98),rgba(255,246,229,.94))!important;
}
.public-gate[data-theme="andalusia"] .public-hero-card.has-cover{background:linear-gradient(90deg,rgba(255,250,240,.98) 0 48%,rgba(255,250,240,.60) 68%,rgba(255,250,240,.18)),var(--public-cover) center/cover no-repeat!important}
.public-gate[data-theme="andalusia"] .public-hero-copy{position:relative;z-index:2;max-width:650px!important;text-align:left!important}
.public-gate[data-theme="andalusia"] .public-spanish-kicker{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;color:var(--andalusia-blue);margin-bottom:16px}
.public-gate[data-theme="andalusia"] .public-hero-emoji{font-size:30px!important;margin-bottom:12px!important}
.public-gate[data-theme="andalusia"] .public-hero-card h1{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(42px,7vw,78px)!important;line-height:.98!important;letter-spacing:-.035em!important;color:var(--andalusia-ink)!important;max-width:760px!important}
.public-gate[data-theme="andalusia"] .public-date-line{font-size:17px;font-weight:700;color:#6f5544;margin-top:18px}
.public-gate[data-theme="andalusia"] .public-intro{max-width:620px;margin-top:18px!important;font-size:15px!important;line-height:1.7!important;color:#69584d!important}
.public-gate[data-theme="andalusia"] .andalusia-ornament{position:absolute;right:-80px;bottom:-110px;width:390px;height:390px;border:1px solid rgba(182,87,63,.18);border-radius:50% 50% 0 50%;transform:rotate(45deg);background:repeating-radial-gradient(circle at 50% 50%,transparent 0 24px,rgba(49,95,117,.035) 25px 26px)}
.public-gate[data-theme="andalusia"] .public-hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.public-gate[data-theme="andalusia"] .public-deadline,.public-gate[data-theme="andalusia"] .public-countdown{margin:0!important;background:#fff3e4!important;border:1px solid #eccba3!important;color:#914f38!important}
.public-gate[data-theme="andalusia"] .public-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}
.public-gate[data-theme="andalusia"] .public-mini-card{margin:0!important;min-height:140px!important;padding:20px!important;align-content:start!important}
.public-gate[data-theme="andalusia"] .public-mini-icon{background:#f7ead9!important;color:#8b543c!important;border:1px solid #ead1b5!important}
.public-gate[data-theme="andalusia"] .public-mini-card h2{font-size:17px!important;color:var(--andalusia-ink)!important}
.public-gate[data-theme="andalusia"] .public-text-link{display:inline-block;margin-top:8px;color:var(--andalusia-blue)!important;font-weight:750;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.public-gate[data-theme="andalusia"] .public-section-title{margin-bottom:20px}
.public-gate[data-theme="andalusia"] .public-section-title>span{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:#b6573f}
.public-gate[data-theme="andalusia"] .public-section-title h2{font-family:Georgia,'Times New Roman',serif!important;font-size:30px!important;margin-top:4px!important;color:var(--andalusia-ink)!important}
.public-gate[data-theme="andalusia"] .public-program-card,.public-gate[data-theme="andalusia"] .public-rsvp-card{padding:30px clamp(20px,4vw,40px)!important}
.public-gate[data-theme="andalusia"] .public-schedule-row{grid-template-columns:120px minmax(0,1fr)!important;padding:15px 0!important;border-bottom-color:#eee0d3!important}
.public-gate[data-theme="andalusia"] .public-schedule-time{color:#b6573f!important}
.public-gate[data-theme="andalusia"] .public-rsvp-card{border-top:4px solid #b6573f!important}
.public-gate[data-theme="andalusia"] .btn.primary{background:#b6573f!important;border-color:#b6573f!important}
.public-gate[data-theme="andalusia"] input,.public-gate[data-theme="andalusia"] select,.public-gate[data-theme="andalusia"] textarea{border-color:#dfd0c1!important;background:#fffefa!important}

.save-date-summary{margin:0 0 22px;border:1px solid var(--jj-line);border-radius:14px;background:#fff;padding:16px 18px;overflow:hidden}
.save-date-summary[hidden]{display:none!important}
.save-date-summary-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.save-date-summary-title>span{font-size:14px;font-weight:800}.save-date-summary-title small{color:var(--muted)}
.save-date-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.save-date-kpi{border:1px solid var(--jj-line);border-radius:11px;background:#fff;padding:12px 13px;text-align:left;color:var(--text);min-width:0}
button.save-date-kpi{cursor:pointer}.save-date-kpi strong{display:block;font-size:22px;line-height:1}.save-date-kpi span{display:block;font-size:11px;color:var(--muted);margin-top:6px;white-space:normal}
.save-date-kpi.likely{background:#f0f8f2;border-color:#cfe5d4}.save-date-kpi.maybe{background:#fff8e9;border-color:#eeddb2}.save-date-kpi.unlikely{background:#fff1ef;border-color:#efcfca}.save-date-kpi.unknown{background:#f7f7f8}
.save-intent-unknown{background:#f0f1f3!important;color:#74777f!important}
.person-type-select{min-height:36px;max-width:155px;padding:6px 30px 6px 10px;border-radius:999px;font-size:11.5px;font-weight:750;border:1px solid transparent;width:auto;background:#f3f4f5;color:#555}
.person-type-select.is-adult{background:#f0f1f3;color:#555;border-color:#e1e2e5}.person-type-select.is-teen{background:#f4effa;color:#745b8a;border-color:#dfd3eb}.person-type-select.is-child{background:var(--blue-bg);color:var(--blue);border-color:#d5e2f2}
#page-guests .guest-list{max-width:100%;margin-inline:auto}
#page-guests .guest-family{margin-bottom:14px}
#page-guests .guest-family-head{padding:15px 17px!important}
#page-guests .guest-item{grid-template-columns:minmax(220px,1.35fr) minmax(135px,.62fr) minmax(130px,.58fr) minmax(185px,.85fr) auto!important;gap:14px!important;padding:13px 14px!important;align-items:center!important}
#page-guests .guest-name-line{row-gap:5px!important}
#page-guests .guest-actions{justify-self:end!important}
#page-guests .toolbar,#page-guests .guest-portal-status,#page-guests .summary-row,#page-guests .save-date-summary{max-width:100%!important}

@media(max-width:980px){
  #page-guests .guest-item{grid-template-columns:minmax(0,1fr) minmax(130px,auto)!important}
  #page-guests .guest-item>*:nth-child(1){grid-column:1/-1!important}
  #page-guests .guest-item>*:nth-child(2){grid-column:1!important}
  #page-guests .guest-item>*:nth-child(3){grid-column:2!important;justify-self:end!important}
  #page-guests .guest-item>*:nth-child(4){grid-column:1!important}
  #page-guests .guest-actions{grid-column:2!important;justify-self:end!important}
}
@media(max-width:700px){
  .save-date-summary{padding:14px}.save-date-summary-grid{grid-template-columns:1fr 1fr}
  .public-gate[data-theme="andalusia"] .public-shell{padding-inline:14px!important}
  .public-gate[data-theme="andalusia"] .public-hero-card{min-height:0!important;padding:34px 22px!important;border-radius:18px!important}
  .public-gate[data-theme="andalusia"] .public-hero-card.has-cover{background:linear-gradient(rgba(255,250,240,.91),rgba(255,250,240,.96)),var(--public-cover) center/cover no-repeat!important}
  .public-gate[data-theme="andalusia"] .public-hero-card h1{font-size:44px!important}
  .public-gate[data-theme="andalusia"] .andalusia-ornament{width:240px;height:240px;right:-100px;bottom:-120px}
  .public-gate[data-theme="andalusia"] .public-info-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .public-gate[data-theme="andalusia"] .public-mini-card{min-height:118px!important;padding:16px!important}
  .public-gate[data-theme="andalusia"] .public-program-card,.public-gate[data-theme="andalusia"] .public-rsvp-card{padding:22px 18px!important}
  .public-gate[data-theme="andalusia"] .public-schedule-row{grid-template-columns:82px minmax(0,1fr)!important}
}
@media(max-width:480px){
  .save-date-summary-grid{grid-template-columns:1fr!important}
  #page-guests .guest-item{grid-template-columns:1fr!important;padding:13px!important}
  #page-guests .guest-item>*{grid-column:1!important;justify-self:stretch!important}
  #page-guests .guest-actions{justify-self:start!important}
  .person-type-select,.status-select,.guest-table-select{width:100%!important;max-width:none!important}
  .public-gate[data-theme="andalusia"] .public-info-grid{grid-template-columns:1fr!important}
}

/* ===== v77 · site invités éditorial + audit UI global ===== */
:root{--jj-content-max:1180px;--jj-card-pad:20px}
.app{max-width:var(--jj-content-max)!important;padding-inline:28px!important}.page{min-width:0!important;padding-bottom:42px!important}.page.active{overflow:visible!important}.page-head{margin-bottom:24px!important}.page-head>div:first-child{min-width:0!important}.page-head h2,.section-h h2,.card h2,.card h3{overflow-wrap:anywhere!important}.section,.toolbar,.metrics,.summary-row,.card,.planner-card,.lodging-card,.program-item,.guest-family,.quote-group,.scenario-toolbar,.pricing-basis,.ui-collapsible{min-width:0!important;max-width:100%!important}.card,.planner-card,.lodging-card,.program-item,.guest-family,.quote-group,.scenario-toolbar,.pricing-basis,.ui-collapsible,.metric{border:1px solid var(--jj-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}.card.pad{padding:var(--jj-card-pad)!important}.metrics,.dashboard-kpis,.provider-category-overview,.compare-duel-grid{gap:14px!important;overflow:visible!important}.metrics>.metric,.dashboard-kpis>*{height:100%!important;overflow:hidden!important}.metric{border:1px solid var(--jj-line)!important}.metric:before,.metrics:before{display:none!important;content:none!important}.toolbar{gap:12px!important;margin-block:14px 20px!important}.toolbar-group{min-width:0!important;flex-wrap:wrap!important}.toolbar input.search{min-width:min(320px,100%)!important}.page-actions,.actions,.provider-head-actions,.budget-quote-actions,.quote-group-actions,.program-actions{gap:8px!important;row-gap:8px!important;flex-wrap:wrap!important}input,select,textarea{max-width:100%!important}.txt-sm,.txt-muted,.guest-meta,.provider-meta,.lodging-card-meta,.program-meta,.budget-quote-meta{overflow-wrap:anywhere!important}.table-wrap,.compare-matrix-wrap{max-width:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}

.public-gate{--public-accent:#b6573f;--public-bg:#fff8ec;position:fixed!important;inset:0!important;overflow:auto!important;background:var(--public-bg)!important;padding:0!important;scroll-behavior:smooth!important}.public-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:var(--public-bg)!important;border:0!important;border-radius:0!important}.public-brand{width:min(1180px,calc(100% - 48px))!important;margin:0 auto!important;padding:16px 0!important;display:flex!important;align-items:center!important;gap:9px!important;color:#2d2926!important}.public-brand-heart{width:34px!important;height:34px!important;flex:0 0 34px!important;background:transparent!important;border:1px solid rgba(182,87,63,.28)!important;color:var(--public-accent)!important;font-size:21px!important}.public-brand>strong{font-family:var(--font-display)!important;font-size:20px!important;font-weight:500!important}#publicContent{width:100%!important}.public-site-nav{position:sticky!important;top:0!important;z-index:30!important;min-height:58px!important;padding:8px max(24px,calc((100vw - 1180px)/2))!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;background:rgba(255,248,236,.94)!important;border-top:1px solid rgba(182,87,63,.12)!important;border-bottom:1px solid rgba(182,87,63,.16)!important;backdrop-filter:blur(14px)!important}.public-site-nav a{color:#3f3732!important;text-decoration:none!important;font-size:12.5px!important;font-weight:700!important}.public-site-nav>div{display:flex!important;align-items:center!important;gap:22px!important}.public-site-home{display:flex!important;align-items:center!important;gap:8px!important;font-family:var(--font-display)!important;font-size:16px!important}.public-site-home span{color:var(--public-accent)!important;font-size:20px!important}.public-web-hero{position:relative!important;min-height:min(720px,74vh)!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:linear-gradient(135deg,#f7e8d4,#fff9ef)!important}.public-web-hero.has-cover{background-image:var(--public-cover)!important;background-size:cover!important;background-position:center!important}.public-web-hero-overlay{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(48,29,20,.08),rgba(48,29,20,.44))!important;opacity:0!important}.public-web-hero.has-cover .public-web-hero-overlay{opacity:1!important}.public-web-hero-inner{position:relative!important;z-index:2!important;width:min(820px,calc(100% - 40px))!important;margin:auto!important;padding:72px 32px!important;text-align:center!important}.public-web-hero.has-cover .public-web-hero-inner{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.25)!important}.public-web-hero h1{font-family:var(--font-display)!important;font-size:clamp(48px,8vw,92px)!important;font-weight:500!important;line-height:.98!important;letter-spacing:-.035em!important;margin:12px auto 14px!important}.public-spanish-kicker{display:block!important;font-size:11px!important;font-weight:800!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--public-accent)!important}.public-web-hero.has-cover .public-spanish-kicker{color:#fff!important}.public-web-emoji{font-size:30px!important;line-height:1!important;margin-top:16px!important}.public-event-name{font-family:var(--font-display)!important;font-size:22px!important;margin-top:8px!important}.public-date-line{font-size:14px!important;font-weight:750!important;letter-spacing:.09em!important;text-transform:uppercase!important;margin-top:14px!important}.public-web-hero-inner>p{max-width:650px!important;margin:20px auto 0!important;font-size:15px!important;line-height:1.75!important}.public-hero-meta{display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:22px!important}.public-hero-countdown,.public-deadline-chip{display:inline-flex!important;align-items:center!important;gap:7px!important;border:1px solid rgba(182,87,63,.28)!important;border-radius:999px!important;padding:7px 12px!important;background:rgba(255,255,255,.82)!important;color:#433a34!important;text-shadow:none!important}.public-hero-countdown strong{font-size:18px!important;color:var(--public-accent)!important}.public-hero-countdown span,.public-deadline-chip{font-size:11px!important;font-weight:750!important}.public-hero-cta{display:inline-flex!important;margin-top:28px!important;min-height:46px!important;padding:0 22px!important;border-radius:999px!important;align-items:center!important;justify-content:center!important;background:var(--public-accent)!important;color:#fff!important;text-decoration:none!important;font-weight:750!important}.public-web-section{width:min(980px,calc(100% - 48px))!important;margin:0 auto!important;padding:76px 0!important;border:0!important;background:transparent!important}.public-web-section+.public-web-section{border-top:1px solid rgba(182,87,63,.13)!important}.public-section-heading{text-align:center!important;margin-bottom:34px!important}.public-section-heading>span{display:block!important;color:var(--public-accent)!important;text-transform:uppercase!important;font-size:10px!important;font-weight:800!important;letter-spacing:.18em!important;margin-bottom:6px!important}.public-section-heading h2{font-family:var(--font-display)!important;font-size:clamp(34px,5vw,48px)!important;font-weight:500!important;line-height:1.08!important;margin:0!important}.public-essentials-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.public-essential{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:13px!important;align-items:flex-start!important;padding:18px!important;border:1px solid rgba(182,87,63,.18)!important;border-radius:16px!important;background:rgba(255,255,255,.56)!important}.public-essential>span{width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(182,87,63,.09)!important;font-size:19px!important}.public-essential small{display:block!important;color:#81756c!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-weight:800!important}.public-essential strong{display:block!important;margin-top:3px!important;font-size:13.5px!important;line-height:1.45!important}.public-essential a{display:inline-block!important;margin-top:5px!important;color:var(--public-accent)!important;text-decoration:none!important;font-size:12px!important;font-weight:750!important}.public-timeline{max-width:760px!important;margin:0 auto!important;position:relative!important}.public-timeline:before{content:''!important;position:absolute!important;left:108px!important;top:10px!important;bottom:10px!important;width:1px!important;background:rgba(182,87,63,.28)!important}.public-timeline-item{position:relative!important;display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:42px!important;padding:0 0 28px!important}.public-timeline-item:last-child{padding-bottom:0!important}.public-timeline-item:before{content:''!important;position:absolute!important;left:104px!important;top:7px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:var(--public-accent)!important;box-shadow:0 0 0 5px var(--public-bg)!important}.public-timeline-time{text-align:right!important;font-size:12px!important;font-weight:800!important;color:var(--public-accent)!important;padding-top:1px!important}.public-timeline-body h3{font-family:var(--font-display)!important;font-size:22px!important;font-weight:500!important;margin:0!important}.public-timeline-place{font-size:12px!important;color:#74695f!important;margin-top:5px!important}.public-timeline-body p{font-size:13px!important;color:#5f5650!important;line-height:1.6!important;margin:8px 0 0!important}.public-practical-copy{max-width:760px!important;margin:0 auto!important;white-space:pre-wrap!important;font-size:14px!important;line-height:1.85!important;color:#4e4742!important}.public-rsvp-section{padding-bottom:92px!important}.public-rsvp-intro{text-align:center!important;color:#71675f!important;margin:-18px 0 26px!important}.public-rsvp-entry{width:min(520px,100%)!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;padding:16px!important;border:1px solid rgba(182,87,63,.2)!important;border-radius:16px!important;background:rgba(255,255,255,.65)!important}.public-rsvp-entry .field{margin:0!important}.public-rsvp-entry .btn{min-height:46px!important}.public-party-response{max-width:860px!important;margin:34px auto 0!important;padding-top:0!important;border-top:0!important}.public-party-response-head{padding:0 0 14px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(182,87,63,.15)!important}.public-party-person{border:1px solid rgba(182,87,63,.18)!important;border-radius:16px!important;padding:18px!important;background:rgba(255,255,255,.72)!important}.public-party-person-head{border-bottom:0!important;margin-bottom:8px!important;padding-bottom:0!important}.public-party-fields{gap:14px!important}.public-party-save{justify-content:center!important;margin-top:22px!important}.public-party-save .public-lead{font-size:11px!important;flex:0 1 auto!important}.public-lodging-options[hidden]{display:none!important}.public-lodging-picker{margin-top:10px!important;border:1px solid rgba(182,87,63,.18)!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important}.public-lodging-picker>summary{padding:11px 12px!important}.public-lodging-list.compact{padding:10px!important;grid-template-columns:1fr!important}.public-lodging-card{border-radius:12px!important;padding:13px!important}.public-web-footer{min-height:170px!important;padding:42px 24px 54px!important;text-align:center!important;border-top:1px solid rgba(182,87,63,.15)!important}.public-web-footer>span{display:block!important;color:var(--public-accent)!important;font-size:28px!important}.public-web-footer p{font-family:var(--font-display)!important;font-size:20px!important;margin:10px auto!important;max-width:620px!important}.public-web-footer small{color:#91857c!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:9px!important}

.guest-portal-panel{display:grid!important;gap:18px!important}.guest-portal-panel>.field{margin:0!important}.portal-customization-card,.portal-save-date-card{border:1px solid var(--jj-line)!important;border-radius:14px!important;background:#fff!important;padding:18px!important}.portal-section-toggles{margin-top:8px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.portal-section-toggles label{min-height:42px!important;padding:9px 11px!important;border:1px solid #ece8e4!important;border-radius:10px!important;background:#faf9f8!important;display:flex!important;align-items:center!important;gap:8px!important}.portal-url-box{gap:10px!important}.portal-code-list{max-height:320px!important;overflow:auto!important}

@media(max-width:760px){:root{--jj-card-pad:16px}.app{padding-inline:16px!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.page{padding-inline:0!important;padding-bottom:34px!important}.page-head{padding-inline:2px!important;margin-bottom:18px!important}.page-head h2{text-align:left!important;margin-left:0!important}.page-actions{width:100%!important;overflow:visible!important;flex-wrap:wrap!important}.toolbar{padding-inline:0!important}.toolbar-group{width:100%!important}.toolbar-group>*{max-width:100%!important}.card.pad{padding:16px!important}.metric{padding:15px!important}.guest-family,.lodging-card,.program-item,.planner-card,.provider-category-panel,.budget-category-panel{margin-inline:0!important}.mobile-app-nav{left:8px!important;right:8px!important;bottom:8px!important;border:1px solid var(--jj-line)!important;border-radius:18px!important;overflow:hidden!important}.public-brand{width:calc(100% - 32px)!important;padding:12px 0!important}.public-site-nav{padding:7px 16px!important;min-height:54px!important}.public-site-nav>div{gap:13px!important}.public-site-nav a{font-size:11px!important}.public-web-hero{min-height:66vh!important}.public-web-hero-inner{width:calc(100% - 28px)!important;padding:48px 10px!important}.public-web-hero h1{font-size:clamp(42px,14vw,68px)!important}.public-web-section{width:calc(100% - 32px)!important;padding:54px 0!important}.public-section-heading{margin-bottom:24px!important}.public-section-heading h2{font-size:34px!important}.public-essentials-grid{grid-template-columns:1fr!important}.public-essential{padding:15px!important}.public-timeline:before{left:72px!important}.public-timeline-item{grid-template-columns:58px minmax(0,1fr)!important;gap:29px!important}.public-timeline-item:before{left:68px!important}.public-timeline-time{font-size:10.5px!important}.public-rsvp-entry{grid-template-columns:1fr!important}.public-rsvp-entry .btn{width:100%!important}.public-party-person{padding:14px!important}.public-party-fields{grid-template-columns:1fr!important}.public-address-field,.public-question-field{grid-column:auto!important}.public-party-bulk{width:100%!important}.public-party-bulk .btn{flex:1 1 140px!important}.portal-section-toggles{grid-template-columns:1fr!important}.portal-customization-card,.portal-save-date-card{padding:14px!important}.portal-style-grid{grid-template-columns:1fr!important}}
@media(max-width:420px){.public-site-nav>div{gap:9px!important}.public-site-nav a{font-size:10px!important}.public-site-home{font-size:0!important}.public-site-home span{font-size:20px!important}.public-web-section{width:calc(100% - 24px)!important}.public-brand{width:calc(100% - 24px)!important}.app{padding-inline:12px!important}.page-head{padding-inline:2px!important}}

/* ========================================================================== */
/* v78 — refonte de stabilité : desktop, rythme global et Save the Date       */
/* ========================================================================== */

:root{
  --jj-shell-max:1680px;
  --jj-content-max:1480px;
  --jj-gutter-desktop:34px;
  --jj-gutter-tablet:24px;
  --jj-gutter-mobile:16px;
  --jj-block-gap:24px;
}

/* Une seule géométrie de page : la barre peut être large, le contenu reste centré. */
.app{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 72px!important;
  overflow:visible!important;
}
.topbar{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.reference-wide-band{
  width:100%!important;
  max-width:var(--jj-shell-max)!important;
  min-height:94px!important;
  margin:0 auto!important;
  padding:0 var(--jj-gutter-desktop)!important;
  box-sizing:border-box!important;
  grid-template-columns:150px minmax(0,1fr) 170px!important;
  gap:18px!important;
}
.reference-tool-nav{
  min-width:0!important;
  width:100%!important;
  grid-template-columns:repeat(11,minmax(78px,1fr))!important;
  overflow:visible!important;
}
.reference-tool-nav>button,
.reference-tool-nav>.nav-more>summary{
  min-width:0!important;
  padding-inline:7px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.15!important;
}

.page{
  width:100%!important;
  max-width:var(--jj-content-max)!important;
  margin:0 auto!important;
  padding:0 var(--jj-gutter-desktop) 42px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.page.active{overflow:visible!important}
.page-head{
  min-height:0!important;
  margin:0 0 26px!important;
  padding:36px 0 20px!important;
  border:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:22px!important;
  flex-wrap:wrap!important;
}
.page-head>div:first-child{flex:1 1 420px!important;min-width:0!important}
.page-head h2{
  margin:0!important;
  font-size:clamp(31px,2.4vw,38px)!important;
  line-height:1.05!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.page-head .sub{max-width:780px!important;margin-top:6px!important}
.page-actions{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}

/* Rythme vertical commun, sans marges négatives ni cadres fantômes. */
.section{margin-top:var(--jj-block-gap)!important}
.section-h:not(.page-head){
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  align-items:center!important;
}
.section-h:not(.page-head) h2{margin:0!important}
.toolbar{
  width:100%!important;
  margin:0 0 20px!important;
  padding:12px!important;
  box-sizing:border-box!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.toolbar-group{min-width:0!important;gap:8px!important;flex-wrap:wrap!important}
.toolbar-group:first-child{flex:1 1 440px!important}
.toolbar-group:last-child{flex:0 1 auto!important}
.toolbar .search{flex:1 1 320px!important;min-width:220px!important;max-width:100%!important}

/* Les cartes ne rognent plus leur contenu. Les composants qui ont réellement besoin
   d'un masque (plan, galerie, menus) le définissent explicitement plus bas. */
.card,.metric,.summary-pill,.guest-family,.planner-card,.lodging-card,.program-item,
.payment-history-item,.quote-group,.scenario-toolbar,.pricing-basis,.ui-collapsible,
.provider-category-panel,.budget-category-panel,.prov,.provider-evaluation-panel,
.provider-question-bank,.planner-summary,.room-tab-card{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  border:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.card.pad{padding:20px!important}
.card:empty{display:none!important}

/* Grilles chiffrées : chaque encart est autonome et fermé. */
.metrics,.dashboard-kpis,.summary-row:not(#guestSummary),.provider-category-overview,
.compare-duel-grid,.planner-summary{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  align-items:stretch!important;
}
.metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.summary-row:not(#guestSummary){grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0 0 24px!important}
.metrics>*,.dashboard-kpis>*,.summary-row:not(#guestSummary)>*{min-width:0!important;height:100%!important}
.metric,.dashboard-kpi-card,.summary-row:not(#guestSummary)>.summary-pill{
  border:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:visible!important;
}
.metric{min-height:122px!important;padding:18px!important}
.metric:before,.metrics:before{display:none!important;content:none!important}
.metric .ml,.metric .mv,.metric .mx{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.metric .ml{min-height:0!important;margin:0!important;line-height:1.3!important}
.metric .mv{margin-top:12px!important;line-height:1.08!important}

/* Accueil : tous les blocs suivent exactement la même largeur de contenu. */
#page-dashboard{padding-top:30px!important}
#page-dashboard>.dashboard-reference-hero,
#page-dashboard>.onboarding,
#page-dashboard>.dashboard-attention,
#page-dashboard>.home-priority-block,
#page-dashboard>.home-editorial-grid{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
.dashboard-reference-hero{
  margin-top:0!important;
  padding:30px!important;
  gap:30px!important;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.75fr)!important;
  border:1px solid var(--jj-line)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.dashboard-reference-photo{min-width:0!important;overflow:hidden!important;border-radius:13px!important}
.dashboard-reference-content{min-width:0!important}
.home-editorial-grid{
  margin-top:26px!important;
  grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr)!important;
  gap:22px!important;
  align-items:start!important;
}
.home-editorial-main,.home-editorial-rail{min-width:0!important;gap:22px!important}
.home-section,.home-rail-section{width:100%!important;min-width:0!important;padding:20px!important}

/* Tâches */
.task-reference-layout{
  width:100%!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
}
.task-reference-sidebar{min-width:0!important}
.task-reference-main{min-width:0!important}
.task-progress-reference{margin-bottom:16px!important}
.task-item{min-width:0!important}

/* Invités : lisible sur PC, sans colonnes écrasées. */
#page-guests .guest-portal-status,
#page-guests .save-date-summary,
#page-guests #guestSummary,
#page-guests #householdSection,
#page-guests .household-hidden-note,
#page-guests .toolbar,
#page-guests .guest-list,
#page-guests #guestPagination{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
#page-guests .guest-family{margin-bottom:14px!important;overflow:hidden!important}
#page-guests .guest-family-head{padding:14px 16px!important;gap:12px!important}
#page-guests .guest-family-head-actions{min-width:0!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#page-guests .guest-item{
  display:grid!important;
  grid-template-columns:minmax(230px,1.45fr) minmax(150px,.72fr) minmax(145px,.64fr) minmax(210px,.92fr) auto!important;
  gap:14px!important;
  padding:13px 14px!important;
  align-items:center!important;
  overflow:visible!important;
}
#page-guests .guest-item>*{min-width:0!important}
#page-guests .guest-actions{justify-self:end!important;flex-wrap:nowrap!important}
#page-guests .guest-table-select,#page-guests .guest-type-select,#page-guests .status-select{max-width:100%!important;width:100%!important}
.save-date-summary{margin-bottom:20px!important}
.save-date-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Logements */
.lodging-dashboard,.lodging-list{min-width:0!important}
.lodging-card{overflow:hidden!important}
.lodging-card-head,.lodging-card-body{min-width:0!important}
.lodging-card-head{gap:14px!important}
.lodging-card-title,.lodging-card-meta,.lodging-card-actions{min-width:0!important;flex-wrap:wrap!important}

/* Budget et paiements */
#page-budget .budget-reference-layout{display:block!important;width:100%!important;min-width:0!important}
#page-budget .budget-reference-main{width:100%!important;min-width:0!important}
#page-budget .pricing-basis{
  width:100%!important;
  margin:0 0 24px!important;
  padding:16px 18px!important;
  overflow:visible!important;
}
#page-budget .pricing-basis .field{
  width:100%!important;
  max-width:900px!important;
  display:grid!important;
  grid-template-columns:minmax(220px,280px) minmax(300px,1fr)!important;
  gap:16px!important;
  align-items:center!important;
}
#page-budget .pricing-basis select{width:100%!important;min-width:0!important;max-width:560px!important}
.payment-entry{min-width:0!important;gap:12px!important}
.payment-history-item{overflow:visible!important}
#payTable{min-width:980px!important}

/* Prestataires / comparaison */
.provider-category-overview{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.prov{overflow:hidden!important}
.prov.open .prov-body{overflow:visible!important}
.provider-head,.provider-body,.provider-evaluation-panel,.provider-question-bank{min-width:0!important}
.provider-head-actions,.quote-group-actions,.budget-quote-actions{justify-content:flex-end!important;flex-wrap:wrap!important}
.compare-duel-controls{
  display:grid!important;
  grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) auto minmax(240px,1fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.compare-duel-controls>*{min-width:0!important}
.compare-swap{min-width:44px!important}
.compare-matrix-wrap{max-width:100%!important;overflow:auto!important}

/* Carnet / réglages */
.planner-toolbar{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}
.planner-toolbar>.field{flex:1 1 320px!important;max-width:520px!important}
.planner-grid{min-width:0!important}
#page-settings .grid2,#page-settings .grid3{align-items:end!important}

/* Plan de table : desktop réellement exploitable, sans panneau flottant qui recouvre le plan. */
#page-seating .seating-commandbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  flex-wrap:wrap!important;
  margin:0 0 18px!important;
}
#page-seating .seating-command-actions{min-width:0!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#page-seating .seating-workspace{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:250px minmax(620px,1fr) 310px!important;
  align-items:stretch!important;
  border:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#page-seating .seating-side,
#page-seating .seating-main,
#page-seating .seating-inspector{min-width:0!important;position:static!important;inset:auto!important;width:auto!important;max-height:none!important;box-shadow:none!important}
#page-seating .seating-side{padding:14px!important;border-right:1px solid var(--jj-line)!important;background:#fafafa!important}
#page-seating .seating-main{overflow:hidden!important}
#page-seating .room-shell{width:100%!important;max-width:100%!important;height:100%!important;margin:0!important;padding:12px!important;border:0!important;border-radius:0!important;overflow:auto!important;background:#fff!important}
#page-seating .room-canvas{min-width:680px!important;min-height:590px!important}
#page-seating .seating-inspector{padding:14px!important;border-left:1px solid var(--jj-line)!important;background:#fff!important;overflow:auto!important}
#page-seating .seating-inspector:empty{display:none!important}
.seating-3d-stage{max-width:100%!important;overflow:auto!important}

/* Champs et textes : rien ne doit être masqué ou coupé par une largeur fixe. */
.field,.field>*{min-width:0!important}
.field label,.fl{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important}
input,select,textarea{box-sizing:border-box!important;max-width:100%!important}
.btn,button,summary,a{overflow-wrap:anywhere}
.btn{white-space:normal!important;line-height:1.25!important}
.txt-sm,.txt-muted,.guest-meta,.provider-meta,.lodging-card-meta,.program-meta,
.budget-quote-meta,.form-section-copy,.public-lead{overflow-wrap:anywhere!important}
table{max-width:100%!important}
.table-wrap,.compare-matrix-wrap{width:100%!important;max-width:100%!important;overflow:auto!important}

/* Save the Date : intention + coordonnées optionnelles, sans transformer le pré-RSVP
   en formulaire d'invitation. */
.save-date-party{display:grid!important;gap:18px!important;margin-top:18px!important}
.save-date-party-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:12px!important}
.save-date-person{
  min-width:0!important;
  border:1px solid rgba(182,87,63,.18)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
  padding:16px!important;
}
.save-date-person-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:10px!important;margin-bottom:11px!important}
.save-date-person-head strong{font-size:15px!important}
.save-date-person-head span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--muted)!important;font-weight:750!important}
.save-date-options{display:grid!important;gap:7px!important}
.save-date-options label{min-height:42px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:9px 10px!important;border:1px solid rgba(182,87,63,.14)!important;border-radius:11px!important;background:#fff!important;cursor:pointer!important}
.save-date-options input{width:17px!important;height:17px!important;min-height:17px!important;flex:0 0 auto!important}
.save-date-contact{margin-top:12px!important;border-top:1px solid rgba(182,87,63,.13)!important;padding-top:11px!important}
.save-date-contact>summary{cursor:pointer!important;list-style:none!important;color:var(--public-accent,var(--accent))!important;font-size:11.5px!important;font-weight:750!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.save-date-contact>summary::-webkit-details-marker{display:none!important}
.save-date-contact>summary:after{content:'+'!important;font-size:16px!important;font-weight:500!important}
.save-date-contact[open]>summary:after{content:'−'!important}
.save-date-contact-body{padding-top:12px!important}
.save-date-contact-grid{gap:10px!important}
.save-date-address{grid-column:1/-1!important}
.save-date-same-field{margin-bottom:10px!important}
.save-date-contact .field.is-disabled{opacity:.72!important}
.save-date-contact .field.is-disabled input{background:#f4f4f4!important}
.save-date-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important}
.save-date-submit small{color:var(--muted)!important;font-size:11px!important}

/* Tablettes / PC compacts : on réduit les colonnes avant qu'elles ne se chevauchent. */
@media(max-width:1320px) and (min-width:761px){
  .reference-wide-band{padding-inline:var(--jj-gutter-tablet)!important;grid-template-columns:138px minmax(0,1fr) 154px!important;gap:10px!important}
  .reference-tool-nav{display:flex!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin!important}
  .reference-tool-nav>button,.reference-tool-nav>.nav-more{flex:0 0 90px!important}
  .page{padding-inline:var(--jj-gutter-tablet)!important}
  .dashboard-reference-hero{grid-template-columns:220px minmax(0,1fr)!important;padding:24px!important;gap:22px!important}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-editorial-grid{grid-template-columns:minmax(0,1.4fr) minmax(285px,.75fr)!important}
  .provider-category-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #page-guests .guest-item{grid-template-columns:minmax(0,1fr) minmax(145px,.45fr) minmax(145px,.45fr)!important}
  #page-guests .guest-item>*:nth-child(1){grid-column:1/-1!important}
  #page-guests .guest-item>*:nth-child(4){grid-column:1/3!important}
  #page-guests .guest-actions{grid-column:3!important;justify-self:end!important}
  #page-seating .seating-workspace{grid-template-columns:230px minmax(620px,1fr)!important;overflow-x:auto!important}
  #page-seating .seating-inspector{grid-column:1/-1!important;border-left:0!important;border-top:1px solid var(--jj-line)!important}
  .compare-duel-controls{grid-template-columns:1fr 1fr auto 1fr!important}
}

@media(max-width:980px) and (min-width:761px){
  .page-head{align-items:flex-start!important}
  .page-actions{width:100%!important;justify-content:flex-start!important}
  .home-editorial-grid{grid-template-columns:1fr!important}
  .home-editorial-rail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-editorial-rail>.home-rail-section:last-child{grid-column:1/-1!important}
  .task-reference-layout{grid-template-columns:210px minmax(0,1fr)!important;gap:18px!important}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .compare-duel-controls{grid-template-columns:1fr 1fr!important}
  .compare-swap{display:none!important}
  #page-budget .pricing-basis .field{grid-template-columns:1fr!important;gap:7px!important}
  #page-budget .pricing-basis select{max-width:100%!important}
}

/* Mobile : gouttières constantes et aucune carte collée au bord. */
@media(max-width:760px){
  :root{--jj-card-pad:16px}
  .app{padding:0 var(--jj-gutter-mobile) calc(96px + env(safe-area-inset-bottom))!important}
  .topbar{margin-inline:calc(0px - var(--jj-gutter-mobile))!important;width:calc(100% + var(--jj-gutter-mobile) + var(--jj-gutter-mobile))!important}
  .page{width:100%!important;max-width:none!important;padding:0 0 34px!important}
  .page-head{padding:26px 0 16px!important;margin:0 0 18px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;text-align:left!important}
  .page-head>div:first-child{width:100%!important;flex:0 0 auto!important}
  .page-head h2,.page-kicker,.page-head .sub{text-align:left!important;width:100%!important}
  .page-actions{width:100%!important;justify-content:flex-start!important;overflow:visible!important}
  .toolbar{padding:10px!important;margin-bottom:16px!important}
  .toolbar-group{width:100%!important;flex:1 1 100%!important}
  .toolbar-group:last-child{justify-content:flex-start!important}
  .toolbar .search{width:100%!important;min-width:0!important;flex:1 1 100%!important}
  .card.pad{padding:16px!important}
  .metrics,.dashboard-kpis,.summary-row:not(#guestSummary){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .metric{min-height:104px!important;padding:14px!important}
  #page-dashboard{padding-top:18px!important}
  .dashboard-reference-hero{grid-template-columns:1fr!important;padding:16px!important;gap:16px!important}
  .home-editorial-grid{grid-template-columns:1fr!important;gap:14px!important;margin-top:16px!important}
  .home-editorial-main,.home-editorial-rail{gap:14px!important}
  .home-section,.home-rail-section{padding:16px!important}
  .task-reference-layout{grid-template-columns:1fr!important;gap:14px!important}
  .task-reference-sidebar{position:static!important}
  .save-date-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-guests .guest-item{grid-template-columns:minmax(0,1fr) auto!important;gap:9px 10px!important;padding:12px!important}
  #page-guests .guest-item>*:nth-child(1){grid-column:1/-1!important}
  #page-guests .guest-item>*:nth-child(2){grid-column:1!important}
  #page-guests .guest-item>*:nth-child(3){grid-column:2!important}
  #page-guests .guest-item>*:nth-child(4){grid-column:1!important}
  #page-guests .guest-actions{grid-column:2!important;justify-self:end!important}
  .provider-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .compare-duel-controls{grid-template-columns:1fr!important}
  .compare-swap{display:none!important}
  #page-seating .seating-workspace{display:block!important;overflow:visible!important;border:0!important;background:transparent!important}
  #page-seating .seating-side{padding:12px!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;margin-bottom:10px!important}
  #page-seating .room-shell{padding:0!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;overflow:auto!important}
  #page-seating .room-canvas{min-width:620px!important;min-height:520px!important}
  #page-seating .seating-inspector{margin-top:10px!important;padding:12px!important;border:1px solid var(--jj-line)!important;border-radius:12px!important}
  .save-date-party-grid{grid-template-columns:1fr!important}
  .save-date-contact-grid{grid-template-columns:1fr!important}
  .save-date-address{grid-column:auto!important}
  .public-web-section{width:100%!important;max-width:100%!important;padding-inline:0!important}
  .public-brand{width:100%!important}
}

@media(max-width:430px){
  .app{padding-inline:12px!important}
  .topbar{margin-inline:-12px!important;width:calc(100% + 24px)!important}
  .metrics,.dashboard-kpis,.summary-row:not(#guestSummary),.save-date-summary-grid,.provider-category-overview{grid-template-columns:1fr!important}
  .page-head h2{font-size:29px!important}
  .public-site-nav{padding-inline:12px!important}
}

/* v78 — lisibilité finale : aucun libellé métier important n'est volontairement tronqué. */
.dashboard-task-open strong,
.compare-name,
.legend-label,
.ui-collapsible>summary small,
.budget-category-row span,
.budget-category-row strong,
.prov-toggle,
.prov-title,
.prov-meta{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:100%!important;
}
.provider-head-actions .btn{white-space:normal!important}
.budget-category-row{align-items:start!important}

/* Les choix du Save the Date restent simples : une option par ligne. */
.save-date-options{grid-template-columns:1fr!important}
.save-date-options label{
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  display:block!important;
}
.save-date-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.save-date-options span{
  display:block!important;
  width:100%!important;
  min-height:42px!important;
  padding:11px 12px!important;
  border:1px solid rgba(182,87,63,.18)!important;
  border-radius:11px!important;
  background:#fff!important;
  text-align:left!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.save-date-options input:checked+span{
  border-color:var(--public-accent,var(--accent))!important;
  background:var(--public-soft,var(--accent-bg))!important;
  color:var(--public-accent,var(--accent))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--public-accent,var(--accent)) 12%,transparent)!important;
}

/* v78 — corrections de spécificité héritées des anciennes versions desktop. */
@media(min-width:761px){
  .reference-wide-band{
    grid-template-columns:150px minmax(0,1fr) 210px!important;
  }
  .reference-tool-nav{
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .reference-tool-nav>button,
  .reference-tool-nav>.nav-more>summary{
    min-height:94px!important;
    padding:12px 6px 14px!important;
    gap:7px!important;
    font-size:12px!important;
    font-weight:650!important;
  }
  .reference-tool-nav .ico{
    width:22px!important;
    height:22px!important;
  }
  .reference-heart{font-size:46px!important}
  .reference-logo-text{font-size:27px!important}
  .reference-utility{
    min-width:0!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }
  #page-dashboard{
    width:100%!important;
    max-width:var(--jj-content-max)!important;
    margin:0 auto!important;
    padding:30px var(--jj-gutter-desktop) 42px!important;
  }
  .page-head .page-kicker{display:block!important}
}

@media(max-width:1320px) and (min-width:761px){
  .reference-wide-band{grid-template-columns:138px minmax(0,1fr) 190px!important}
  #page-dashboard{padding-inline:var(--jj-gutter-tablet)!important}
}

@media(max-width:760px){
  #page-dashboard{padding:18px 0 34px!important;max-width:none!important}
  .page-head .page-kicker{display:block!important}
}

/* ========================================================================== */
/* v79 — refonte publication web : géométrie, invités, Save the Date          */
/* ========================================================================== */

:root{
  --jj-content-max:1500px;
  --jj-shell-max:1760px;
  --jj-gutter-desktop:38px;
  --jj-gutter-tablet:24px;
  --jj-gutter-mobile:16px;
}

/* Géométrie globale : un seul axe de contenu sur desktop. */
@media(min-width:761px){
  .app{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 76px!important}
  .reference-wide-band{max-width:var(--jj-shell-max)!important;padding-inline:var(--jj-gutter-desktop)!important}
  .page,#page-dashboard{width:100%!important;max-width:var(--jj-content-max)!important;margin-inline:auto!important;padding-left:var(--jj-gutter-desktop)!important;padding-right:var(--jj-gutter-desktop)!important;box-sizing:border-box!important}
  #page-dashboard{padding-top:28px!important;padding-bottom:42px!important}
  .page-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:24px!important;width:100%!important;padding:36px 0 20px!important;margin:0 0 26px!important}
  .page-head>div:first-child{min-width:0!important;max-width:900px!important}
  .page-actions{max-width:100%!important;justify-self:end!important;justify-content:flex-end!important}
  .toolbar{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important}
  .toolbar-group{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
}

/* Tous les encarts métiers doivent rester complets et lisibles. */
.card,.metric,.dashboard-kpi-card,.summary-pill,.guest-family,.lodging-card,.program-item,.planner-card,.payment-history-item,.quote-group,.prov,.compare-duel-card,.form-section,.ui-collapsible,.payment-entry,.seating-room-settings{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  border:1px solid var(--jj-line)!important;
  background:#fff!important;
  background-clip:padding-box!important;
}
.card,.metric,.dashboard-kpi-card,.summary-pill,.guest-family,.lodging-card,.program-item,.planner-card,.payment-history-item,.quote-group,.prov,.compare-duel-card{border-radius:14px!important}
.metric,.dashboard-kpi-card,.summary-pill{overflow:hidden!important}
.card.pad{padding:20px!important}
.grid2,.grid3,.grid4{min-width:0!important;column-gap:14px!important;row-gap:14px!important}
.grid2>*,.grid3>*,.grid4>*{min-width:0!important}
.field{min-width:0!important}
.field label,.fl{display:block!important;max-width:100%!important;white-space:normal!important;line-height:1.35!important}
input,select,textarea{width:100%;max-width:100%!important;box-sizing:border-box!important}
.btn{max-width:100%!important;white-space:normal!important}

/* Invités : les quatre catégories d'âge sont manipulables sans ouvrir la fiche. */
.person-type-select{width:100%!important;max-width:190px!important;min-height:38px!important;border-radius:999px!important;font-size:11.5px!important;font-weight:750!important;padding:6px 30px 6px 11px!important}
.person-type-select.is-adult{background:#f2f3f4!important;color:#53565b!important;border-color:#dedfe2!important}
.person-type-select.is-teen{background:#f4effa!important;color:#684b84!important;border-color:#decfec!important}
.person-type-select.is-child6plus{background:#edf5ff!important;color:#356999!important;border-color:#cfe2f6!important}
.person-type-select.is-childUnder6{background:#fff4df!important;color:#94621e!important;border-color:#f1d7aa!important}
.seat-person.young-child{background:#c88935!important}
.guest-chip.young-child i,.table-guest.young-child .seat-chip{background:#c88935!important}

#page-guests .guest-item{overflow:visible!important}
#page-guests .guest-item>*{min-width:0!important}
#page-guests .contact-lines,#page-guests .guest-seat-meta,#page-guests .guest-meta{white-space:normal!important;overflow-wrap:anywhere!important}
#page-guests .guest-table-select,#page-guests .status-select,#page-guests .person-type-select{width:100%!important;max-width:100%!important}
#page-guests .guest-summary-block small{white-space:normal!important;line-height:1.45!important}

@media(min-width:1221px){
  #page-guests .guest-item{grid-template-columns:minmax(260px,1.55fr) minmax(150px,.72fr) minmax(180px,.82fr) minmax(220px,1fr) auto!important;gap:14px!important;padding:14px 16px!important}
}
@media(max-width:1220px) and (min-width:761px){
  #page-guests .guest-item{grid-template-columns:minmax(0,1fr) minmax(165px,.42fr) minmax(180px,.45fr)!important;gap:11px!important}
  #page-guests .guest-item>*:nth-child(1){grid-column:1/-1!important}
  #page-guests .guest-item>*:nth-child(4){grid-column:1/3!important}
  #page-guests .guest-actions{grid-column:3!important;justify-self:end!important}
}

/* ========================================================================== */
/* SITE INVITÉS — vrai site mariage, desktop-first, Andalousie élégante       */
/* ========================================================================== */

html.public-mode,html.public-mode body{background:var(--public-bg,#fff8ec)!important}
.public-gate{--public-accent:#b6573f;--public-bg:#fff8ec;--public-ink:#332820;--public-muted:#76675e;--public-line:rgba(126,76,47,.17);position:fixed!important;inset:0!important;z-index:1000!important;display:none;overflow:auto!important;padding:0!important;background:var(--public-bg)!important;color:var(--public-ink)!important;scroll-behavior:smooth!important}
.public-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.public-brand{display:none!important}
#publicContent,.public-site{width:100%!important;min-width:0!important}
.public-site *{box-sizing:border-box}
.public-site a:focus-visible,.public-site button:focus-visible,.public-site input:focus-visible,.public-site select:focus-visible,.public-site textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--public-accent) 28%,transparent)!important;outline-offset:2px!important}

.public-site-nav{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;min-height:68px!important;padding:0!important;background:color-mix(in srgb,var(--public-bg) 92%,white 8%)!important;border:0!important;border-bottom:1px solid var(--public-line)!important;backdrop-filter:blur(16px)!important}
.public-site-nav-inner{width:min(1200px,calc(100% - 56px))!important;min-height:68px!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr)!important;align-items:center!important;gap:24px!important}
.public-site-logo{justify-self:start!important;display:inline-flex!important;align-items:center!important;gap:9px!important;text-decoration:none!important;color:var(--public-ink)!important;font-family:var(--font-display)!important;font-size:18px!important}
.public-site-logo span{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:1px solid color-mix(in srgb,var(--public-accent) 30%,transparent)!important;border-radius:50%!important;color:var(--public-accent)!important;font-size:20px!important}
.public-site-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:28px!important}
.public-site-links a{color:var(--public-ink)!important;text-decoration:none!important;font-size:12px!important;font-weight:750!important;letter-spacing:.02em!important}
.public-site-rsvp-link{justify-self:end!important;display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:0 16px!important;border-radius:999px!important;background:var(--public-accent)!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important}
.public-save-nav-label{justify-self:end!important;color:var(--public-accent)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.13em!important}
.public-save-site .public-site-nav-inner{grid-template-columns:minmax(0,1fr) auto!important}

.public-web-hero{position:relative!important;min-height:640px!important;display:block!important;overflow:hidden!important;background:
  radial-gradient(circle at 82% 15%,color-mix(in srgb,var(--public-accent) 10%,transparent) 0 10%,transparent 32%),
  linear-gradient(135deg,#fff9ef 0%,var(--public-bg) 55%,#f4dfc5 100%)!important}
.public-web-hero:after{content:''!important;position:absolute!important;right:-80px!important;bottom:-160px!important;width:520px!important;height:520px!important;border:2px solid color-mix(in srgb,var(--public-accent) 17%,transparent)!important;border-radius:50% 50% 0 0!important;transform:rotate(-12deg)!important;pointer-events:none!important}
.public-web-hero.has-cover{background-image:var(--public-cover)!important;background-size:cover!important;background-position:center!important}
.public-hero-backdrop{position:absolute!important;inset:0!important;background:transparent!important}
.public-web-hero.has-cover .public-hero-backdrop{background:linear-gradient(90deg,rgba(38,25,18,.68) 0%,rgba(38,25,18,.38) 52%,rgba(38,25,18,.12) 100%)!important}
.public-hero-shell{position:relative!important;z-index:2!important;width:min(1200px,calc(100% - 56px))!important;min-height:640px!important;margin:0 auto!important;padding:84px 0!important;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(280px,.62fr)!important;gap:76px!important;align-items:center!important}
.public-hero-copy{min-width:0!important;max-width:760px!important;text-align:left!important}
.public-web-hero.has-cover .public-hero-copy,.public-web-hero.has-cover .public-hero-aside{color:#fff!important}
.public-eyebrow{display:block!important;color:var(--public-accent)!important;font-size:10px!important;font-weight:850!important;letter-spacing:.2em!important;text-transform:uppercase!important;margin-bottom:14px!important}
.public-web-hero.has-cover .public-eyebrow{color:#fff!important}
.public-web-emoji{font-size:34px!important;line-height:1!important;margin:0 0 14px!important}
.public-web-hero h1{max-width:760px!important;margin:0!important;font-family:var(--font-display)!important;font-size:clamp(56px,6.4vw,92px)!important;font-weight:500!important;line-height:.96!important;letter-spacing:-.045em!important;color:inherit!important}
.public-event-name{margin-top:16px!important;font-family:var(--font-display)!important;font-size:24px!important;line-height:1.25!important}
.public-hero-copy>p{max-width:650px!important;margin:22px 0 0!important;font-size:15px!important;line-height:1.75!important;color:color-mix(in srgb,currentColor 78%,transparent)!important;white-space:pre-wrap!important}
.public-hero-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:30px!important}
.public-primary-link,.public-secondary-link{min-height:46px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 18px!important;border-radius:999px!important;font:inherit!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer!important}
.public-primary-link{border:1px solid var(--public-accent)!important;background:var(--public-accent)!important;color:#fff!important}
.public-secondary-link{border:1px solid color-mix(in srgb,var(--public-accent) 28%,transparent)!important;background:rgba(255,255,255,.7)!important;color:var(--public-ink)!important}
.public-web-hero.has-cover .public-secondary-link{border-color:rgba(255,255,255,.5)!important;background:rgba(255,255,255,.12)!important;color:#fff!important}
.public-hero-aside{min-width:0!important;display:grid!important;gap:12px!important;align-content:center!important}
.public-date-card,.public-deadline-card,.public-stat{border:1px solid color-mix(in srgb,var(--public-accent) 22%,transparent)!important;border-radius:24px!important;background:rgba(255,255,255,.72)!important;color:var(--public-ink)!important;backdrop-filter:blur(10px)!important}
.public-date-card{min-height:250px!important;padding:28px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;position:relative!important;overflow:hidden!important}
.public-date-card:before{content:''!important;position:absolute!important;inset:12px!important;border:1px solid color-mix(in srgb,var(--public-accent) 18%,transparent)!important;border-radius:18px!important;pointer-events:none!important}
.public-date-card>span{font-family:var(--font-display)!important;font-size:42px!important;color:var(--public-accent)!important;margin-bottom:15px!important;z-index:1!important}
.public-date-card>strong{font-family:var(--font-display)!important;font-size:28px!important;font-weight:500!important;line-height:1.12!important;z-index:1!important}
.public-date-card>small{margin-top:9px!important;color:var(--public-muted)!important;font-size:11px!important;z-index:1!important}
.public-deadline-card,.public-stat{padding:14px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
.public-deadline-card small,.public-stat span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important;color:var(--public-muted)!important}
.public-deadline-card strong,.public-stat strong{font-family:var(--font-display)!important;font-size:19px!important;font-weight:600!important;color:var(--public-accent)!important}

.public-site-section{width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.public-site-section:nth-of-type(even){background:rgba(255,255,255,.32)!important}
.public-section-shell{width:min(1120px,calc(100% - 56px))!important;margin:0 auto!important;padding:86px 0!important}
.public-section-title-row{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:30px!important;margin-bottom:32px!important}
.public-section-title-row h2,.public-section-intro h2{margin:0!important;font-family:var(--font-display)!important;font-size:clamp(38px,4vw,54px)!important;font-weight:500!important;line-height:1.02!important;letter-spacing:-.03em!important}
.public-section-title-row>p{max-width:350px!important;margin:0!important;color:var(--public-muted)!important;font-size:13px!important;line-height:1.6!important;text-align:right!important}
.public-info-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.public-info-card{min-width:0!important;min-height:158px!important;padding:20px!important;border:1px solid var(--public-line)!important;border-radius:18px!important;background:rgba(255,255,255,.68)!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.public-info-icon{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:color-mix(in srgb,var(--public-accent) 9%,white)!important;font-size:20px!important}
.public-info-card small{display:block!important;color:var(--public-muted)!important;font-size:9.5px!important;font-weight:850!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.public-info-card h3{margin:5px 0 0!important;font-family:var(--font-display)!important;font-size:20px!important;font-weight:550!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.public-info-card a{display:inline-block!important;margin-top:9px!important;color:var(--public-accent)!important;text-decoration:none!important;font-size:11.5px!important;font-weight:800!important}

.public-program-layout,.public-practical-layout,.public-rsvp-layout{display:grid!important;grid-template-columns:minmax(230px,.52fr) minmax(0,1.35fr)!important;gap:70px!important;align-items:start!important}
.public-section-intro{min-width:0!important;position:sticky!important;top:104px!important}
.public-section-intro>p{margin:14px 0 0!important;color:var(--public-muted)!important;font-size:13px!important;line-height:1.65!important}
.public-timeline{min-width:0!important;max-width:none!important;margin:0!important;position:relative!important}
.public-timeline:before{content:''!important;position:absolute!important;left:88px!important;top:9px!important;bottom:9px!important;width:1px!important;background:color-mix(in srgb,var(--public-accent) 28%,transparent)!important}
.public-timeline-item{position:relative!important;display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;gap:40px!important;padding:0 0 34px!important}
.public-timeline-item:last-child{padding-bottom:0!important}
.public-timeline-item:before{content:''!important;position:absolute!important;left:84px!important;top:6px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:var(--public-accent)!important;box-shadow:0 0 0 6px var(--public-bg)!important}
.public-timeline-time{text-align:right!important;padding-top:1px!important;color:var(--public-accent)!important;font-size:11px!important;font-weight:850!important}
.public-timeline-body{padding:0 0 6px!important;min-width:0!important}
.public-timeline-body h3{margin:0!important;font-family:var(--font-display)!important;font-size:25px!important;font-weight:550!important;line-height:1.2!important}
.public-timeline-place{margin-top:6px!important;color:var(--public-muted)!important;font-size:12px!important}
.public-timeline-body p{margin:10px 0 0!important;color:var(--public-muted)!important;font-size:13px!important;line-height:1.65!important;white-space:pre-wrap!important}
.public-text-link{display:inline-block!important;margin-top:9px!important;color:var(--public-accent)!important;text-decoration:none!important;font-size:11.5px!important;font-weight:800!important}
.public-practical-card{min-width:0!important;padding:28px 30px!important;border:1px solid var(--public-line)!important;border-radius:20px!important;background:rgba(255,255,255,.72)!important;white-space:pre-wrap!important;color:#554a43!important;font-size:14px!important;line-height:1.9!important}

.public-rsvp-section{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--public-accent) 5%,transparent))!important}
.public-rsvp-card{min-width:0!important;padding:24px!important;border:1px solid var(--public-line)!important;border-radius:22px!important;background:rgba(255,255,255,.78)!important}
.public-rsvp-entry{width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.public-rsvp-entry input{min-height:48px!important;font-size:18px!important;letter-spacing:.16em!important;text-align:center!important}
.public-rsvp-entry .btn{min-height:48px!important;padding-inline:20px!important}
.public-party-response{max-width:none!important;margin:28px 0 0!important}
.public-party-response-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important;padding-bottom:14px!important;border-bottom:1px solid var(--public-line)!important}
.public-party-list{display:grid!important;gap:14px!important}
.public-party-person{padding:18px!important;border:1px solid var(--public-line)!important;border-radius:17px!important;background:#fff!important}
.public-party-person-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin:0 0 16px!important;padding:0 0 12px!important;border-bottom:1px solid color-mix(in srgb,var(--public-line) 70%,transparent)!important}
.public-party-person-head small{display:block!important;margin-bottom:3px!important;color:var(--public-muted)!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.09em!important}
.public-party-person-head strong{font-family:var(--font-display)!important;font-size:22px!important;font-weight:550!important}
.public-person-type{display:block!important;margin-top:3px!important;color:var(--public-muted)!important;font-size:10.5px!important}
.public-party-head-badges{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.public-party-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.public-address-field,.public-question-field,.public-lodging-field,.public-contact-sync{grid-column:1/-1!important}
.public-contact-sync{padding:12px!important;border-radius:12px!important;background:color-mix(in srgb,var(--public-accent) 4%,white)!important}
.public-contact-sync small{display:block!important;margin-top:5px!important;color:var(--public-muted)!important;font-size:10.5px!important;line-height:1.45!important}
.public-party-save{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex-wrap:wrap!important;margin-top:18px!important}
.public-lodging-picker{margin-top:10px!important;border:1px solid var(--public-line)!important;border-radius:13px!important;overflow:hidden!important;background:#fff!important}
.public-lodging-picker>summary{padding:12px 13px!important}
.public-lodging-list.compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:10px!important}
.public-lodging-card{min-width:0!important;border:1px solid var(--public-line)!important;border-radius:13px!important;padding:13px!important;background:#fff!important}
.public-lodging-head{gap:9px!important;flex-wrap:wrap!important}
.public-lodging-head .btn{flex:0 0 auto!important}
.public-web-footer{min-height:180px!important;padding:50px 24px!important;border-top:1px solid var(--public-line)!important;text-align:center!important;background:color-mix(in srgb,var(--public-bg) 88%,white 12%)!important}
.public-footer-mark{font-family:var(--font-display)!important;font-size:34px!important;color:var(--public-accent)!important}
.public-web-footer p{max-width:620px!important;margin:10px auto!important;font-family:var(--font-display)!important;font-size:22px!important;line-height:1.4!important}
.public-web-footer small{color:var(--public-muted)!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.13em!important}

/* Save the Date : le contact fait partie du formulaire, il n'est pas optionnel. */
.public-save-web-hero{min-height:560px!important}
.public-save-date-line{margin-top:15px!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.public-save-disclaimer{max-width:620px!important;padding-left:14px!important;border-left:2px solid color-mix(in srgb,var(--public-accent) 36%,transparent)!important}
.save-date-required-note{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;border:1px solid color-mix(in srgb,var(--public-accent) 18%,transparent)!important;border-radius:13px!important;background:color-mix(in srgb,var(--public-accent) 5%,white)!important}
.save-date-required-note strong{font-size:12px!important}
.save-date-required-note span{color:var(--public-muted)!important;font-size:11px!important;text-align:right!important}
.save-date-party{display:grid!important;gap:16px!important;margin-top:22px!important}
.save-date-party-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.save-date-person{min-width:0!important;padding:18px!important;border:1px solid var(--public-line)!important;border-radius:17px!important;background:#fff!important}
.save-date-person-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}
.save-date-person-head strong{font-family:var(--font-display)!important;font-size:22px!important;font-weight:550!important}
.save-date-person-head span{color:var(--public-muted)!important;font-size:9.5px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.save-date-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.save-date-options label{display:block!important;cursor:pointer!important}
.save-date-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.save-date-options span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:9px 10px!important;border:1px solid var(--public-line)!important;border-radius:11px!important;background:#fff!important;text-align:center!important;font-size:11.5px!important;font-weight:800!important;line-height:1.25!important}
.save-date-options input:checked+span{border-color:var(--public-accent)!important;background:color-mix(in srgb,var(--public-accent) 8%,white)!important;color:var(--public-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--public-accent) 10%,transparent)!important}
.save-date-contact{display:block!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid var(--public-line)!important}
.save-date-contact-title{margin-bottom:10px!important;font-size:11px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--public-muted)!important}
.save-date-contact-body{display:block!important}
.save-date-same-field{margin-bottom:10px!important}
.save-date-contact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.save-date-address{grid-column:1/-1!important}
.save-date-submit{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex-wrap:wrap!important}
.save-date-submit small{color:var(--public-muted)!important;font-size:10.5px!important}
.save-date-contact .field.is-disabled{opacity:.72!important}
.save-date-contact .field.is-disabled input{background:#f3f3f3!important}

/* Thème sombre : contraste propre des nouveaux blocs. */
.public-gate[data-theme="night"]{--public-ink:#f5eee8;--public-muted:#c7bcc5;--public-line:rgba(255,255,255,.13)}
.public-gate[data-theme="night"] .public-site-nav,.public-gate[data-theme="night"] .public-info-card,.public-gate[data-theme="night"] .public-rsvp-card,.public-gate[data-theme="night"] .public-party-person,.public-gate[data-theme="night"] .public-lodging-card,.public-gate[data-theme="night"] .save-date-person,.public-gate[data-theme="night"] .public-practical-card{background:#211e28!important;color:#f5eee8!important}
.public-gate[data-theme="night"] .public-secondary-link{background:#2a2631!important;color:#f5eee8!important}

/* Responsive public : le desktop reste structuré, puis les colonnes se replient. */
@media(max-width:980px){
  .public-site-nav-inner,.public-hero-shell,.public-section-shell{width:calc(100% - 40px)!important}
  .public-site-links{gap:16px!important}
  .public-hero-shell{grid-template-columns:minmax(0,1.15fr) minmax(230px,.7fr)!important;gap:36px!important}
  .public-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .public-program-layout,.public-practical-layout,.public-rsvp-layout{grid-template-columns:210px minmax(0,1fr)!important;gap:36px!important}
}
@media(max-width:760px){
  .public-site-nav-inner{width:calc(100% - 28px)!important;min-height:58px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .public-site-links{display:none!important}
  .public-site-rsvp-link{min-height:34px!important;padding-inline:13px!important}
  .public-web-hero{min-height:0!important}
  .public-hero-shell{width:calc(100% - 32px)!important;min-height:0!important;padding:56px 0!important;grid-template-columns:1fr!important;gap:28px!important}
  .public-hero-copy{text-align:left!important}
  .public-web-hero h1{font-size:clamp(44px,14vw,68px)!important}
  .public-hero-aside{grid-template-columns:1fr 1fr!important}
  .public-date-card{grid-column:1/-1!important;min-height:190px!important}
  .public-section-shell{width:calc(100% - 32px)!important;padding:58px 0!important}
  .public-section-title-row{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  .public-section-title-row>p{text-align:left!important}
  .public-info-grid{grid-template-columns:1fr!important}
  .public-program-layout,.public-practical-layout,.public-rsvp-layout{grid-template-columns:1fr!important;gap:26px!important}
  .public-section-intro{position:static!important}
  .public-timeline:before{left:68px!important}
  .public-timeline-item{grid-template-columns:52px minmax(0,1fr)!important;gap:32px!important}
  .public-timeline-item:before{left:64px!important}
  .public-rsvp-card{padding:16px!important}
  .public-rsvp-entry{grid-template-columns:1fr!important}
  .public-rsvp-entry .btn{width:100%!important}
  .public-party-response-head,.public-party-person-head{flex-direction:column!important}
  .public-party-head-badges{justify-content:flex-start!important}
  .public-party-fields{grid-template-columns:1fr!important}
  .public-address-field,.public-question-field,.public-lodging-field,.public-contact-sync{grid-column:auto!important}
  .public-lodging-list.compact{grid-template-columns:1fr!important}
  .save-date-options{grid-template-columns:1fr!important}
  .save-date-contact-grid{grid-template-columns:1fr!important}
  .save-date-address{grid-column:auto!important}
  .save-date-required-note{flex-direction:column!important}
  .save-date-required-note span{text-align:left!important}
}
@media(max-width:430px){
  .public-site-nav-inner,.public-hero-shell,.public-section-shell{width:calc(100% - 24px)!important}
  .public-site-logo strong{font-size:15px!important}
  .public-hero-aside{grid-template-columns:1fr!important}
  .public-date-card{grid-column:auto!important}
}

/* Préférences d'accessibilité. */
@media(prefers-reduced-motion:reduce){
  .public-gate{scroll-behavior:auto!important}
  .page.active{animation:none!important}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

.public-required-note{margin-top:14px;font-size:11.5px;color:var(--muted);font-weight:650}

/* =========================================================
   V80 — Invités pensés comme un seul produit back + front
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#page-guests .guest-page-head{align-items:flex-end!important;gap:24px!important;padding-bottom:22px!important;border-bottom:1px solid var(--jj-line)!important}
.guest-page-lead{max-width:760px;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
#page-guests .guest-portal-status{margin:0!important;padding:18px 0!important;border-top:0!important;border-bottom:1px solid var(--jj-line)!important}
.guest-journey{width:100%;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(460px,1.5fr) auto;gap:22px;align-items:center}
.guest-journey-copy{display:flex;align-items:flex-start;gap:11px;min-width:0}.guest-journey-copy>div{min-width:0}.guest-journey-copy strong{display:block;font-size:13px}.guest-journey-copy span{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45}
.guest-journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.guest-journey-step{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--jj-line);border-radius:10px;background:#fff}.guest-journey-step>b{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#f1f1f1;color:#777;font-size:10px}.guest-journey-step.done>b{background:var(--green-bg);color:var(--green)}.guest-journey-step>span{min-width:0;font-size:10.5px;font-weight:750;line-height:1.2}.guest-journey-step small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-guests .guest-summary-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0 0 26px!important;padding:0!important;border-top:0!important;border-bottom:1px solid var(--jj-line)!important}
#page-guests .guest-summary-row .guest-summary-block{min-height:108px!important;display:block!important;padding:22px 24px!important;border-right:1px solid var(--jj-line)!important}.guest-summary-row .guest-summary-block:first-child{padding-left:0!important}.guest-summary-row .guest-summary-block:last-child{border-right:0!important}.guest-summary-row .guest-summary-block>small{display:block!important;margin:0 0 8px!important;color:var(--muted)!important;font-size:9.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}.guest-summary-row .guest-summary-block>strong{display:block!important;font-size:26px!important;line-height:1!important}.guest-summary-row .guest-summary-block>span{display:block!important;margin-top:8px!important;color:#606060!important;font-size:11px!important;line-height:1.45!important}
.guest-command-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 26px}.guest-command-card{min-width:0;padding:20px;border:1px solid var(--jj-line);border-radius:14px;background:#fff}.guest-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.guest-command-head h3{margin:3px 0 0;font-size:17px}.guest-command-count{min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f2f2f2;font-size:12px;font-weight:800}.guest-command-list{display:grid;gap:7px;margin-top:15px}.guest-command-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #ececec;border-radius:10px;background:#fafafa;text-align:left;cursor:pointer}.guest-command-row:hover{background:#f4eee7}.guest-command-row strong{font-size:17px}.guest-command-row span{font-size:11.5px;line-height:1.35}.guest-command-row b{font-size:15px}.guest-command-row.tone-amber strong{color:var(--amber)}.guest-command-row.tone-blue strong{color:var(--blue)}.guest-command-row.tone-accent strong{color:var(--accent)}.guest-command-empty{display:grid;gap:4px;padding:18px;border-radius:10px;background:var(--green-bg)}.guest-command-empty strong{color:var(--green);font-size:13px}.guest-command-empty span{color:#557266;font-size:11px}.guest-command-foot{margin-top:12px;padding-top:11px;border-top:1px solid var(--jj-line);font-size:10.5px;color:var(--muted)}
.guest-publication-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f1f1f1;color:#666;font-size:10px;font-weight:800}.guest-publication-pill.is-live{background:var(--green-bg);color:var(--green)}.guest-experience-copy{margin:13px 0;color:var(--muted);font-size:11.5px;line-height:1.55}.guest-readiness>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:10.5px}.guest-readiness-bar{height:7px;margin:7px 0;border-radius:999px;background:#eee;overflow:hidden}.guest-readiness-bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}.guest-readiness small{display:block;color:var(--muted);font-size:9.5px;line-height:1.5}.guest-experience-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.guest-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:30px 0 12px}.guest-list-heading h3{margin:3px 0 0;font-size:20px}.guest-list-heading p{max-width:720px;margin:5px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}.guest-list-heading-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.guest-toolbar-v2{margin:0 0 14px!important;padding:12px 0!important;border-radius:0!important;border-left:0!important;border-right:0!important}.guest-search-group{flex:1 1 500px}.guest-search-group .search{min-width:min(360px,55vw)}.guest-search-group select{width:auto;min-width:190px}.guest-toolbar-links{justify-content:flex-end}
#page-guests .guest-list-v2{border-top:0!important;gap:12px!important}.guest-list-v2 .guest-family{margin:0!important;border:1px solid #dedede!important;border-radius:13px!important;background:#fff!important}.guest-list-v2 .guest-family-head{padding:16px!important;background:#fafafa!important}.guest-family-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.guest-invitation-progress{height:4px;margin-top:10px;border-radius:999px;background:#e8e8e8;overflow:hidden}.guest-invitation-progress i{display:block;height:100%;border-radius:999px;background:var(--accent)}
#page-guests .guest-list-v2 .guest-item{display:grid!important;grid-template-columns:minmax(210px,1.15fr) minmax(145px,.62fr) minmax(190px,.82fr) minmax(190px,.82fr) auto!important;gap:14px!important;padding:15px 16px!important;align-items:center!important;border-top:1px solid #ededed!important;background:#fff!important}.guest-list-v2 .guest-item:first-child{border-top:0!important}.guest-person-cell,.guest-response-cell,.guest-needs-cell,.guest-logistics-cell{min-width:0}.guest-person-sub{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.35}.guest-person-sub a{color:var(--accent-d);overflow-wrap:anywhere}.guest-cell-label{display:block;margin-bottom:5px;color:#8a8a8a;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.guest-save-state,.guest-need-line{display:block;margin-top:6px;color:var(--muted);font-size:9.5px;line-height:1.35}.guest-need-line.warn{color:var(--amber)}.guest-list-v2 .status-select,.guest-list-v2 .person-type-select,.guest-list-v2 .guest-table-select{width:100%!important;max-width:100%!important;min-height:36px!important;border-radius:8px!important;font-size:10.5px!important}.guest-list-v2 .guest-actions{justify-content:flex-end!important}
.guest-editor-v2{display:grid!important;gap:14px!important}.guest-editor-section{padding:16px;border:1px solid var(--jj-line);border-radius:13px;background:#fff}.guest-editor-section-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.guest-editor-section-head>span{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#efefef;font-size:10px;font-weight:850}.guest-editor-section-head>div{min-width:0}.guest-editor-section-head strong{display:block;font-size:13px}.guest-editor-section-head small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.4}.guest-editor-section-head>b{margin-left:auto;padding:4px 7px;border-radius:999px;background:#f1f1f1;color:#777;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.guest-editor-public{background:#fffaf7}.guest-editor-public .guest-editor-section-head>span{background:var(--accent-bg);color:var(--accent-d)}.guest-editor-internal{background:#fafafa}.guest-editor-internal .guest-editor-section-head>span{background:#ececec;color:#555}

/* RSVP public : parcours unique invitation -> présence -> besoins -> contact. */
.public-step-kicker,.public-detail-intro>span{display:block;margin-bottom:5px;color:var(--public-accent)!important;font-size:9px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.1em!important}.public-presence-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.public-presence-options label{display:block;cursor:pointer}.public-presence-options input{position:absolute;opacity:0;pointer-events:none}.public-presence-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;border:1px solid var(--public-line);border-radius:11px;background:#fff;text-align:center;font-size:10.5px;font-weight:800;line-height:1.25}.public-presence-options input:checked+span{border-color:var(--public-accent);background:color-mix(in srgb,var(--public-accent) 8%,white);color:var(--public-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--public-accent) 9%,transparent)}.public-member-details{margin-top:16px;padding-top:15px;border-top:1px solid var(--public-line)}.public-member-details[hidden]{display:none!important}.public-detail-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}.public-detail-intro>span{margin:0}.public-detail-intro>small{color:var(--public-muted);font-size:9.5px;line-height:1.4;text-align:right}.public-household-contact{margin-top:18px;padding:18px;border:1px solid color-mix(in srgb,var(--public-accent) 22%,var(--public-line));border-radius:17px;background:color-mix(in srgb,var(--public-accent) 4%,white)}.public-household-contact h3{margin:0;font-family:var(--font-display);font-size:22px;font-weight:550}.public-household-contact>p{margin:6px 0 14px;color:var(--public-muted);font-size:10.5px;line-height:1.5}.public-success{display:grid;gap:4px;background:color-mix(in srgb,var(--public-accent) 6%,white)!important;color:var(--public-ink)!important}.public-success strong{font-size:12.5px}.public-success span{font-size:10.5px;color:var(--public-muted)}
.public-gate[data-theme="night"] .public-presence-options span,.public-gate[data-theme="night"] .public-household-contact{background:#211e28!important;color:#f5eee8!important}.public-gate[data-theme="night"] .public-presence-options input:checked+span{background:#2d2731!important}

@media(max-width:1180px){.guest-journey{grid-template-columns:1fr auto}.guest-journey-steps{grid-column:1/-1;grid-row:2}.guest-command-grid{grid-template-columns:1fr}.guest-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.guest-summary-row .guest-summary-block:nth-child(2){border-right:0!important}.guest-summary-row .guest-summary-block:nth-child(-n+2){border-bottom:1px solid var(--jj-line)!important}#page-guests .guest-list-v2 .guest-item{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr) minmax(170px,.6fr)!important}.guest-logistics-cell{grid-column:1/3!important}.guest-list-v2 .guest-actions{grid-column:3!important;grid-row:2!important}}
@media(max-width:760px){#page-guests .guest-page-head{align-items:flex-start!important}.guest-page-head .page-actions{width:100%}.guest-journey{grid-template-columns:1fr}.guest-journey-steps{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.guest-portal-status-actions{justify-content:flex-start}.guest-summary-row{grid-template-columns:1fr!important}.guest-summary-row .guest-summary-block{padding:16px 0!important;border-right:0!important;border-bottom:1px solid var(--jj-line)!important}.guest-summary-row .guest-summary-block:last-child{border-bottom:0!important}.guest-list-heading{align-items:flex-start;flex-direction:column}.guest-list-heading-actions{justify-content:flex-start}.guest-search-group .search,.guest-search-group select{width:100%!important;min-width:0}.guest-toolbar-v2,.guest-toolbar-v2 .toolbar-group{align-items:stretch!important}.guest-toolbar-links .btn{flex:1 1 auto}.guest-family-title-row{flex-direction:column}.guest-list-v2 .guest-family-head{align-items:flex-start!important}.guest-list-v2 .guest-family-head-actions{justify-content:flex-start!important}.guest-list-v2 .household-rsvp-code{width:auto!important}#page-guests .guest-list-v2 .guest-item{grid-template-columns:1fr!important}.guest-logistics-cell,.guest-list-v2 .guest-actions{grid-column:1!important;grid-row:auto!important}.guest-list-v2 .guest-actions{justify-content:flex-start!important}.guest-editor-section{padding:13px}.guest-editor-section-head>b{display:none}.public-presence-options{grid-template-columns:1fr}.public-detail-intro{align-items:flex-start;flex-direction:column}.public-detail-intro>small{text-align:left}.public-household-contact{padding:15px}.public-party-fields{grid-template-columns:1fr!important}.public-address-field,.public-question-field,.public-lodging-field{grid-column:1!important}}

/* =========================================================
   V81 — Espace invité unifié · Save the Date → Invitation
   Direction artistique : papier ivoire, encre cobalt, orange,
   illustration de domaine. Desktop vraiment pleine largeur.
   ========================================================= */

/* Back-office Invités : exploiter tout l'espace disponible. */
#page-guests{
  width:100%!important;
  max-width:none!important;
  padding-inline:max(28px,3.1vw)!important;
}
#page-guests .guest-page-head,
#page-guests .guest-portal-status,
#page-guests .guest-summary-row,
#page-guests .guest-command-grid,
#page-guests .guest-list-heading,
#page-guests .guest-toolbar-v2,
#page-guests .guest-list-v2{width:100%!important;max-width:none!important}
#page-guests .guest-command-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px}
#page-guests .guest-command-card{padding:24px;border-radius:18px}
#page-guests .guest-list-v2 .guest-family{border-radius:16px!important;overflow:hidden}
#page-guests .guest-list-v2 .guest-family-head{padding:19px 20px!important}
#page-guests .guest-list-v2 .guest-item{padding:17px 20px!important}

/* Modal de configuration : un studio éditorial, pas une petite fenêtre. */
.guest-portal-modal-v81{
  width:min(1540px,calc(100vw - 44px))!important;
  max-width:none!important;
  max-height:94vh!important;
  border-radius:20px!important;
}
.guest-portal-modal-v81 .modal-b{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  padding:22px!important;
  background:#f6f6f4;
}
.guest-portal-modal-v81 .portal-customization-card,
.guest-portal-modal-v81 .portal-stage-card,
.guest-portal-modal-v81 .portal-links-card{
  min-width:0;
  padding:22px;
  border:1px solid #deddd9;
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.guest-portal-modal-v81 .portal-customization-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);align-items:end;gap:26px}
.guest-portal-modal-v81 .portal-visual-card{grid-column:1/-1}
.guest-portal-modal-v81 .portal-stage-save{grid-column:span 5}
.guest-portal-modal-v81 .portal-stage-rsvp{grid-column:span 7}
.guest-portal-modal-v81 .portal-links-card{grid-column:1/-1}
.portal-phase-field{display:grid!important;grid-template-columns:minmax(220px,1fr) auto;gap:7px 10px;align-items:center;margin:0!important}
.portal-phase-field .fl{grid-column:1/-1}.portal-phase-field select{min-width:0}.portal-phase-field .guest-publication-pill{justify-self:end}
.portal-style-note{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#eef3ff;color:#1457c8;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.portal-stage-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.portal-stage-head>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #1457c8;border-radius:50%;color:#1457c8;font:700 12px/1 Georgia,serif}
.portal-stage-head h3{margin:3px 0 4px;font-size:22px}.portal-stage-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.portal-stage-save{background:linear-gradient(145deg,#fff 0%,#fffaf0 100%)!important}
.portal-stage-rsvp{background:linear-gradient(145deg,#fff 0%,#f6f9ff 100%)!important}
.portal-section-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e7e5df}
.portal-section-toggles label{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid #e5e3df;border-radius:10px;background:rgba(255,255,255,.75);font-size:10.5px;font-weight:700}
.portal-code-list{display:grid;gap:9px;margin-top:16px}
.portal-code-row.portal-short-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(140px,.45fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e5e3df;border-radius:12px;background:#fafafa}
.portal-short-identity{min-width:0}.portal-short-identity strong{display:block;font-size:12px}.portal-short-identity small{display:block;margin-top:2px;color:var(--muted);font-size:9.5px}
.portal-short-row code{display:inline-flex;justify-self:start;padding:7px 9px;border-radius:8px;background:#fff;border:1px solid #dedede;color:#1457c8;font-size:10.5px;font-weight:800;letter-spacing:.03em}
.portal-short-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

/* ---------- Front office Château ---------- */
.public-gate[data-theme="chateau"]{
  --public-cobalt:var(--public-accent,#1457c8);
  --public-orange:#ed7a22;
  --public-olive:#789b27;
  --public-paper:var(--public-bg,#fbf7ed);
  --public-ink:#12386a;
  --public-muted:#5b6471;
  --public-line:color-mix(in srgb,var(--public-cobalt) 24%,#e9dfce);
  background:var(--public-paper)!important;
  color:var(--public-ink)!important;
}
.public-gate[data-theme="chateau"] .public-site{
  width:100%!important;
  max-width:none!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(237,122,34,.035),transparent 24%),
    radial-gradient(circle at 88% 42%,rgba(20,87,200,.035),transparent 24%),
    var(--public-paper)!important;
}
.public-gate[data-theme="chateau"] .public-site-nav{
  position:fixed!important;
  top:0;left:0;right:0;
  border-bottom:1px solid color-mix(in srgb,var(--public-cobalt) 16%,transparent)!important;
  background:color-mix(in srgb,var(--public-paper) 92%,transparent)!important;
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
  z-index:30;
}
.public-gate[data-theme="chateau"] .public-site-nav-inner{
  width:min(1540px,calc(100% - 96px))!important;
  max-width:none!important;
  min-height:66px!important;
}
.public-gate[data-theme="chateau"] .public-site-logo,
.public-gate[data-theme="chateau"] .public-site-links a{color:var(--public-cobalt)!important}
.public-gate[data-theme="chateau"] .public-site-logo span{color:var(--public-orange)!important}
.public-gate[data-theme="chateau"] .public-site-rsvp-link,
.public-gate[data-theme="chateau"] .public-primary-link{
  border:1px solid var(--public-cobalt)!important;
  background:var(--public-cobalt)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.public-gate[data-theme="chateau"] .public-secondary-link{
  border:1px solid color-mix(in srgb,var(--public-cobalt) 42%,transparent)!important;
  color:var(--public-cobalt)!important;
  background:transparent!important;
}

.public-gate[data-theme="chateau"] .public-web-hero{
  position:relative!important;
  min-height:940px!important;
  display:grid!important;
  align-items:start!important;
  isolation:isolate;
  overflow:hidden;
  background:var(--public-paper)!important;
  border-bottom:1px solid var(--public-cobalt)!important;
}
.public-gate[data-theme="chateau"] .public-web-hero::before{
  content:"";
  position:absolute;
  inset:94px 28px 28px;
  z-index:1;
  pointer-events:none;
  border:1px solid color-mix(in srgb,var(--public-cobalt) 82%,transparent);
  outline:1px solid color-mix(in srgb,var(--public-cobalt) 34%,transparent);
  outline-offset:7px;
  border-radius:2px;
}
.public-gate[data-theme="chateau"] .public-web-hero::after{
  content:"";
  position:absolute;
  left:50%;bottom:16px;
  width:min(1500px,96vw);
  height:min(440px,46vw);
  transform:translateX(-50%);
  z-index:2;
  pointer-events:none;
  background:url('../illustrations/guest-chateau.svg') center bottom/contain no-repeat;
}
.public-gate[data-theme="chateau"] .public-hero-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 7% 14%,var(--public-orange) 0 3px,transparent 4px),
    radial-gradient(circle at 93% 14%,var(--public-orange) 0 3px,transparent 4px),
    linear-gradient(90deg,transparent 0 48%,color-mix(in srgb,var(--public-cobalt) 18%,transparent) 48% 52%,transparent 52%) top 111px center/112px 1px no-repeat!important;
}
.public-gate[data-theme="chateau"] .public-hero-backdrop::before{
  content:"✦";
  position:absolute;
  top:98px;left:50%;
  transform:translateX(-50%);
  width:42px;
  background:var(--public-paper);
  color:var(--public-cobalt);
  text-align:center;
  font-size:21px;
  line-height:28px;
}
.public-gate[data-theme="chateau"] .public-hero-backdrop::after{
  content:"❦";
  position:absolute;
  top:118px;left:42px;
  color:var(--public-cobalt);
  font:30px Georgia,serif;
  text-shadow:calc(100vw - 84px) 0 0 var(--public-cobalt);
}
.public-gate[data-theme="chateau"] .public-hero-shell{
  position:relative!important;
  z-index:4!important;
  width:min(1480px,calc(100% - 112px))!important;
  max-width:none!important;
  min-height:940px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  justify-items:center!important;
  gap:20px!important;
  padding:176px 4vw 470px!important;
  text-align:center!important;
}
.public-gate[data-theme="chateau"] .public-hero-copy{
  width:min(980px,100%)!important;
  text-align:center!important;
}
.public-gate[data-theme="chateau"] .public-eyebrow{
  color:var(--public-cobalt)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(17px,1.7vw,26px)!important;
  font-style:italic!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
.public-gate[data-theme="chateau"] .public-web-emoji:empty{display:none!important}
.public-gate[data-theme="chateau"] .public-save-web-hero h1{
  margin:16px 0 18px!important;
  color:var(--public-cobalt)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(42px,5.1vw,78px)!important;
  font-style:italic!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}
.public-gate[data-theme="chateau"] .public-web-hero:not(.public-save-web-hero) h1{
  margin:14px 0 18px!important;
  color:var(--public-cobalt)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(48px,5.7vw,88px)!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.public-gate[data-theme="chateau"] .public-event-name{
  margin:12px auto 13px!important;
  color:var(--public-cobalt)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(27px,3.25vw,50px)!important;
  font-weight:400!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.public-gate[data-theme="chateau"] .public-save-date-line{
  margin-top:17px!important;
  color:var(--public-cobalt)!important;
  font:400 clamp(18px,2.15vw,31px)/1.2 Georgia,'Times New Roman',serif!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.public-gate[data-theme="chateau"] .public-hero-copy>p{
  width:min(720px,100%);
  margin:18px auto 0!important;
  color:#385370!important;
  font:400 14px/1.75 Georgia,'Times New Roman',serif!important;
}
.public-gate[data-theme="chateau"] .public-save-disclaimer{font-size:11px!important;opacity:.76}
.public-gate[data-theme="chateau"] .public-hero-actions{justify-content:center!important;margin-top:25px!important}
.public-gate[data-theme="chateau"] .public-hero-aside{
  width:min(720px,100%)!important;
  display:flex!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:10px!important;
}
.public-gate[data-theme="chateau"] .public-date-card,
.public-gate[data-theme="chateau"] .public-stat,
.public-gate[data-theme="chateau"] .public-deadline-card{
  min-height:0!important;
  padding:10px 16px!important;
  border:1px solid color-mix(in srgb,var(--public-cobalt) 25%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,#fff 58%,transparent)!important;
  box-shadow:none!important;
  color:var(--public-cobalt)!important;
}
.public-gate[data-theme="chateau"] .public-date-card>span{display:none!important}
.public-gate[data-theme="chateau"] .public-date-card strong,
.public-gate[data-theme="chateau"] .public-stat strong,
.public-gate[data-theme="chateau"] .public-deadline-card strong{font-size:13px!important;font-family:Georgia,serif!important}
.public-gate[data-theme="chateau"] .public-date-card small,
.public-gate[data-theme="chateau"] .public-stat span,
.public-gate[data-theme="chateau"] .public-deadline-card small{font-size:8px!important;text-transform:uppercase;letter-spacing:.08em}

/* Sections éditoriales pleine largeur, avec rythme de faire-part. */
.public-gate[data-theme="chateau"] .public-site-section{background:transparent!important;border-bottom:1px solid color-mix(in srgb,var(--public-cobalt) 18%,transparent)!important}
.public-gate[data-theme="chateau"] .public-section-shell{
  width:min(1540px,calc(100% - 96px))!important;
  max-width:none!important;
  padding:92px 0!important;
}
.public-gate[data-theme="chateau"] .public-section-title-row h2,
.public-gate[data-theme="chateau"] .public-section-intro h2{
  color:var(--public-cobalt)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(34px,3.6vw,56px)!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
}
.public-gate[data-theme="chateau"] .public-section-title-row>p,
.public-gate[data-theme="chateau"] .public-section-intro>p{color:var(--public-muted)!important;font-family:Georgia,'Times New Roman',serif!important;line-height:1.65!important}
.public-gate[data-theme="chateau"] .public-info-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.public-gate[data-theme="chateau"] .public-info-card,
.public-gate[data-theme="chateau"] .public-practical-card,
.public-gate[data-theme="chateau"] .public-rsvp-card{
  border:1px solid color-mix(in srgb,var(--public-cobalt) 20%,#e8dfd1)!important;
  border-radius:4px!important;
  background:rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
.public-gate[data-theme="chateau"] .public-info-card{min-height:170px!important;padding:24px!important}
.public-gate[data-theme="chateau"] .public-info-card h3{color:var(--public-cobalt)!important;font-family:Georgia,serif!important;font-weight:400!important}
.public-gate[data-theme="chateau"] .public-info-card a,.public-gate[data-theme="chateau"] .public-text-link{color:var(--public-orange)!important}
.public-gate[data-theme="chateau"] .public-info-icon{filter:saturate(.85)}
.public-gate[data-theme="chateau"] .public-program-layout,
.public-gate[data-theme="chateau"] .public-practical-layout,
.public-gate[data-theme="chateau"] .public-rsvp-layout{
  grid-template-columns:minmax(250px,.42fr) minmax(0,1.58fr)!important;
  gap:clamp(48px,7vw,120px)!important;
}
.public-gate[data-theme="chateau"] .public-timeline-item{border-color:color-mix(in srgb,var(--public-cobalt) 18%,transparent)!important}
.public-gate[data-theme="chateau"] .public-timeline-time,.public-gate[data-theme="chateau"] .public-timeline-body h3{color:var(--public-cobalt)!important}
.public-gate[data-theme="chateau"] .public-rsvp-card{padding:clamp(22px,3.4vw,48px)!important}
.public-gate[data-theme="chateau"] .public-party-person,
.public-gate[data-theme="chateau"] .save-date-person{
  border:1px solid color-mix(in srgb,var(--public-cobalt) 18%,#e7dfd3)!important;
  border-radius:4px!important;
  background:#fffdf8!important;
}
.public-gate[data-theme="chateau"] .public-presence-options span,
.public-gate[data-theme="chateau"] .save-date-options span{border-radius:3px!important}
.public-gate[data-theme="chateau"] .public-household-contact{border-radius:4px!important;background:#fffaf0!important}
.public-gate[data-theme="chateau"] .public-web-footer{
  padding:64px 24px 72px!important;
  background:var(--public-cobalt)!important;
  color:#fff!important;
}
.public-gate[data-theme="chateau"] .public-footer-mark{color:var(--public-orange)!important;font-size:26px!important}

@media(min-width:1600px){
  #page-guests{padding-inline:52px!important}
  .public-gate[data-theme="chateau"] .public-web-hero{min-height:1000px!important}
  .public-gate[data-theme="chateau"] .public-hero-shell{min-height:1000px!important;padding-bottom:500px!important}
  .public-gate[data-theme="chateau"] .public-web-hero::after{height:470px}
}
@media(max-width:1180px){
  #page-guests{padding-inline:24px!important}
  .guest-portal-modal-v81 .modal-b{grid-template-columns:1fr}
  .guest-portal-modal-v81 .portal-customization-card:first-child,
  .guest-portal-modal-v81 .portal-visual-card,
  .guest-portal-modal-v81 .portal-stage-save,
  .guest-portal-modal-v81 .portal-stage-rsvp,
  .guest-portal-modal-v81 .portal-links-card{grid-column:1!important}
  .guest-portal-modal-v81 .portal-customization-card:first-child{grid-template-columns:1fr}
  .portal-code-row.portal-short-row{grid-template-columns:minmax(0,1fr) auto}.portal-short-actions{grid-column:1/-1;justify-content:flex-start}
  .public-gate[data-theme="chateau"] .public-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .public-gate[data-theme="chateau"] .public-web-hero::after{height:390px}
  .public-gate[data-theme="chateau"] .public-hero-shell{padding-bottom:430px!important}
}
@media(max-width:760px){
  #page-guests{padding-inline:16px!important}
  .guest-portal-modal-v81{width:calc(100vw - 18px)!important;max-height:96vh!important;border-radius:14px!important}
  .guest-portal-modal-v81 .modal-b{padding:12px!important;gap:12px}
  .guest-portal-modal-v81 .portal-customization-card,.guest-portal-modal-v81 .portal-stage-card,.guest-portal-modal-v81 .portal-links-card{padding:15px;border-radius:12px}
  .portal-phase-field{grid-template-columns:1fr}.portal-phase-field .guest-publication-pill{justify-self:start}
  .portal-section-toggles{grid-template-columns:1fr 1fr}
  .portal-code-row.portal-short-row{grid-template-columns:1fr;gap:8px}.portal-short-row code{justify-self:start}.portal-short-actions{grid-column:auto}.portal-short-actions .btn{flex:1 1 130px}
  .public-gate[data-theme="chateau"] .public-site-nav-inner{width:calc(100% - 28px)!important}
  .public-gate[data-theme="chateau"] .public-web-hero{min-height:780px!important}
  .public-gate[data-theme="chateau"] .public-web-hero::before{inset:78px 12px 14px;outline-offset:4px}
  .public-gate[data-theme="chateau"] .public-hero-backdrop::before{top:82px}
  .public-gate[data-theme="chateau"] .public-hero-backdrop::after{top:94px;left:18px;text-shadow:calc(100vw - 36px) 0 0 var(--public-cobalt);font-size:22px}
  .public-gate[data-theme="chateau"] .public-hero-shell{width:calc(100% - 36px)!important;min-height:780px!important;padding:135px 20px 335px!important}
  .public-gate[data-theme="chateau"] .public-web-hero::after{width:125%;height:300px;bottom:26px}
  .public-gate[data-theme="chateau"] .public-save-web-hero h1{font-size:clamp(38px,12vw,56px)!important}
  .public-gate[data-theme="chateau"] .public-web-hero:not(.public-save-web-hero) h1{font-size:clamp(38px,11vw,56px)!important;letter-spacing:.08em!important}
  .public-gate[data-theme="chateau"] .public-event-name{font-size:clamp(24px,7vw,34px)!important;letter-spacing:.12em!important}
  .public-gate[data-theme="chateau"] .public-save-date-line{font-size:16px!important;letter-spacing:.1em!important}
  .public-gate[data-theme="chateau"] .public-hero-actions{flex-direction:column!important;align-items:stretch!important;width:min(340px,100%);margin-inline:auto!important}
  .public-gate[data-theme="chateau"] .public-hero-aside{flex-wrap:wrap!important}
  .public-gate[data-theme="chateau"] .public-section-shell{width:calc(100% - 32px)!important;padding:66px 0!important}
  .public-gate[data-theme="chateau"] .public-info-grid{grid-template-columns:1fr!important}
  .public-gate[data-theme="chateau"] .public-program-layout,.public-gate[data-theme="chateau"] .public-practical-layout,.public-gate[data-theme="chateau"] .public-rsvp-layout{grid-template-columns:1fr!important;gap:30px!important}
}
@media(max-width:430px){
  .portal-section-toggles{grid-template-columns:1fr}
  .public-gate[data-theme="chateau"] .public-web-hero{min-height:735px!important}
  .public-gate[data-theme="chateau"] .public-hero-shell{min-height:735px!important;padding:126px 12px 315px!important}
  .public-gate[data-theme="chateau"] .public-web-hero::after{height:275px;width:138%}
  .public-gate[data-theme="chateau"] .public-section-shell{width:calc(100% - 24px)!important}
}
.public-gate[data-theme="chateau"] .public-union-line{margin:2px auto 8px;color:var(--public-cobalt);font:400 14px/1.2 Georgia,'Times New Roman',serif;letter-spacing:.02em}

/* ========================================================================== */
/* v82 — espace invité unifié : pleine largeur + identité faire-part          */
/* ========================================================================== */
.public-gate[data-theme="chateau"] .public-site{
  width:100%!important;
  min-width:100%!important;
}
.public-gate[data-theme="chateau"] .public-site-nav-inner,
.public-gate[data-theme="chateau"] .public-section-shell{
  width:min(1760px,calc(100% - 56px))!important;
  max-width:none!important;
}
.public-gate[data-theme="chateau"] .public-site-nav{
  min-height:70px!important;
}
.public-gate[data-theme="chateau"] .public-site-links{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  flex-wrap:wrap!important;
}
.public-gate[data-theme="chateau"] .public-site-logo strong,
.public-gate[data-theme="chateau"] .public-site-rsvp-link,
.public-gate[data-theme="chateau"] .public-site-links a{
  letter-spacing:.03em!important;
}
.public-gate[data-theme="chateau"] .public-web-hero{
  min-height:980px!important;
}
.public-gate[data-theme="chateau"] .public-web-hero::before{
  inset:92px 20px 20px!important;
}
.public-gate[data-theme="chateau"] .public-web-hero::after{
  width:min(1680px,97vw)!important;
  height:min(470px,42vw)!important;
  bottom:22px!important;
}
.public-gate[data-theme="chateau"] .public-hero-backdrop::after{
  left:28px!important;
  text-shadow:calc(100vw - 56px) 0 0 var(--public-cobalt)!important;
}
.public-gate[data-theme="chateau"] .public-hero-shell{
  width:min(1700px,calc(100% - 64px))!important;
  min-height:980px!important;
  padding:170px 2vw 500px!important;
}
.public-gate[data-theme="chateau"] .public-hero-copy{
  width:min(1120px,100%)!important;
}
.public-gate[data-theme="chateau"] .public-save-web-hero h1,
.public-gate[data-theme="chateau"] .public-web-hero:not(.public-save-web-hero) h1{
  max-width:1000px!important;
  margin-inline:auto!important;
}
.public-gate[data-theme="chateau"] .public-union-line{
  margin-top:8px!important;
  margin-bottom:6px!important;
  font-size:15px!important;
}
.public-gate[data-theme="chateau"] .public-hero-copy>p{
  max-width:760px!important;
}
.public-gate[data-theme="chateau"] .public-hero-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.public-gate[data-theme="chateau"] .public-date-card,
.public-gate[data-theme="chateau"] .public-stat,
.public-gate[data-theme="chateau"] .public-deadline-card{
  min-width:176px!important;
  justify-content:center!important;
}
.public-gate[data-theme="chateau"] .public-section-shell{
  padding:94px 0!important;
}
.public-gate[data-theme="chateau"] .public-info-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:16px!important;
}
.public-gate[data-theme="chateau"] .public-info-card,
.public-gate[data-theme="chateau"] .public-practical-card,
.public-gate[data-theme="chateau"] .public-rsvp-card,
.public-gate[data-theme="chateau"] .public-party-person,
.public-gate[data-theme="chateau"] .save-date-person,
.public-gate[data-theme="chateau"] .public-household-contact{
  background:rgba(255,255,255,.66)!important;
}
.public-gate[data-theme="chateau"] .public-rsvp-layout{
  grid-template-columns:minmax(280px,.38fr) minmax(0,1.62fr)!important;
  align-items:start!important;
}
.public-gate[data-theme="chateau"] .public-rsvp-card{
  min-width:0!important;
}
.public-gate[data-theme="chateau"] .public-rsvp-entry{
  width:100%!important;
  max-width:none!important;
}
.public-gate[data-theme="chateau"] .public-party-response{
  max-width:none!important;
}
.public-gate[data-theme="chateau"] .public-party-list,
.public-gate[data-theme="chateau"] .save-date-party-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:14px!important;
}
.public-gate[data-theme="chateau"] .public-web-footer{
  padding:54px 24px 68px!important;
  background:var(--public-paper)!important;
  color:var(--public-cobalt)!important;
  border-top:1px solid color-mix(in srgb,var(--public-cobalt) 18%,transparent)!important;
}
.public-gate[data-theme="chateau"] .public-web-footer p,
.public-gate[data-theme="chateau"] .public-web-footer small{
  color:var(--public-cobalt)!important;
}
.public-gate[data-theme="chateau"] .public-footer-mark{
  color:var(--public-orange)!important;
}
@media(max-width:1180px){
  .public-gate[data-theme="chateau"] .public-site-nav-inner,
  .public-gate[data-theme="chateau"] .public-section-shell{
    width:calc(100% - 40px)!important;
  }
  .public-gate[data-theme="chateau"] .public-hero-shell{
    width:calc(100% - 44px)!important;
    padding:156px 18px 430px!important;
  }
  .public-gate[data-theme="chateau"] .public-web-hero{
    min-height:900px!important;
  }
  .public-gate[data-theme="chateau"] .public-web-hero::after{
    height:400px!important;
  }
}
@media(max-width:760px){
  .public-gate[data-theme="chateau"] .public-site-nav-inner,
  .public-gate[data-theme="chateau"] .public-section-shell{
    width:calc(100% - 24px)!important;
  }
  .public-gate[data-theme="chateau"] .public-site-links{
    display:none!important;
  }
  .public-gate[data-theme="chateau"] .public-web-hero{
    min-height:780px!important;
  }
  .public-gate[data-theme="chateau"] .public-web-hero::before{
    inset:78px 10px 14px!important;
  }
  .public-gate[data-theme="chateau"] .public-hero-backdrop::after{
    left:16px!important;
    text-shadow:calc(100vw - 32px) 0 0 var(--public-cobalt)!important;
  }
  .public-gate[data-theme="chateau"] .public-hero-shell{
    width:calc(100% - 28px)!important;
    min-height:780px!important;
    padding:132px 14px 334px!important;
  }
  .public-gate[data-theme="chateau"] .public-web-hero::after{
    width:132%!important;
    height:305px!important;
  }
  .public-gate[data-theme="chateau"] .public-rsvp-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
}

/* ========================================================================== */
/* v83 — espace famille : réponses + coordonnées individuelles + hébergement  */
/* ========================================================================== */
.public-gate[data-theme="chateau"] .public-family-overview{
  display:grid!important;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)!important;
  gap:22px!important;
  align-items:start!important;
  margin:0 0 24px!important;
  padding:20px!important;
  border:1px solid color-mix(in srgb,var(--public-cobalt) 20%,#e8dfd1)!important;
  background:rgba(255,255,255,.58)!important;
}
.public-family-overview>div:first-child{display:grid;gap:4px}
.public-family-overview>div:first-child>strong{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:var(--public-cobalt)}
.public-family-overview>div:first-child>span:last-child{font-size:12px;color:var(--public-muted)}
.public-family-history{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important}
.public-family-history>span{display:grid;gap:3px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--public-cobalt) 14%,#eee5d7);background:#fffdf8}
.public-family-history b{font-size:12px;color:var(--public-cobalt)}
.public-family-history small{font-size:10.5px;color:var(--public-muted)}
.public-prior-answer{display:inline-flex!important;align-items:center!important;max-width:100%;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--public-cobalt) 16%,#e7dfd3)!important;background:#fffaf0!important;color:var(--public-cobalt)!important;font-size:10px!important;line-height:1.25!important}
.public-person-contact{
  margin-top:16px!important;
  padding:16px!important;
  border-top:1px solid color-mix(in srgb,var(--public-cobalt) 14%,transparent)!important;
  background:color-mix(in srgb,#fff 48%,transparent)!important;
}
.public-person-contact .public-detail-intro{margin-bottom:12px!important}
.public-person-contact .public-detail-intro>span{font-family:Georgia,'Times New Roman',serif!important;color:var(--public-cobalt)!important;font-size:17px!important}
.public-contact-copy-field{max-width:520px!important;margin-bottom:14px!important;padding:11px 12px!important;border:1px solid color-mix(in srgb,var(--public-cobalt) 17%,#e8dfd1)!important;background:#fffaf0!important}
.public-contact-copy-field small{display:block;margin-top:6px;font-size:10.5px;line-height:1.4;color:var(--public-muted)}
.public-person-contact .field.is-disabled{opacity:.78!important}
.public-person-contact .field.is-disabled input{background:#f4f0e8!important;color:#5f6470!important}
.public-nearby-lodgings{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:14px!important}
.public-nearby-lodgings .public-lodging-card{height:100%!important;border:1px solid color-mix(in srgb,var(--public-cobalt) 20%,#e8dfd1)!important;border-radius:4px!important;background:rgba(255,255,255,.66)!important}
.public-nearby-lodgings .public-lodging-meta{color:var(--public-cobalt)!important;font-weight:650!important}
.public-lodging-choice-help{display:block!important;margin:7px 0 0!important;color:var(--public-muted)!important;font-size:10.5px!important;line-height:1.45!important}
.public-lodging-options{margin-top:10px!important}
.public-lodging-options select{background:#fffdf8!important}
.save-date-party-grid .save-date-person{display:flex!important;flex-direction:column!important}
.save-date-party-grid .public-person-contact{margin-top:auto!important}

/* Back office : rendre la préférence publique immédiatement exploitable. */
.lodging-public-summary{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--jj-line);border-radius:10px;background:#faf8f4}
.lodging-public-summary strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.lodging-public-summary span{font-weight:700;font-size:12px}.lodging-public-summary p{margin:2px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.lodging-preference-list{display:grid;gap:8px;padding:12px 14px;border:1px solid #d6e1f4;border-radius:10px;background:#f5f8fd}
.lodging-preference-list>strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.lodging-preference-list>div{display:flex;gap:6px;flex-wrap:wrap}
.lodging-preference-list button.badge{cursor:pointer;border:0}
.guest-save-state{display:block;margin-top:6px;line-height:1.35}

@media(max-width:760px){
  .public-gate[data-theme="chateau"] .public-family-overview{grid-template-columns:1fr!important;padding:15px!important}
  .public-family-history{grid-template-columns:1fr 1fr!important}
  .public-person-contact{padding:14px 0 0!important;background:transparent!important}
  .public-contact-copy-field{max-width:none!important}
  .public-nearby-lodgings{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .public-family-history{grid-template-columns:1fr!important}
}

/* V83 · hébergements de proximité directement dans le cockpit Invités */
.guest-nearby-lodgings-panel{margin:18px 0 24px;padding:20px;border:1px solid var(--jj-line);border-radius:14px;background:#fff;min-width:0}
.guest-nearby-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.guest-nearby-head h3{margin:3px 0 5px;font-size:20px}.guest-nearby-head p{margin:0;max-width:780px;color:var(--muted);font-size:12px;line-height:1.55}
.guest-nearby-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.guest-nearby-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.guest-nearby-stats span{padding:10px 12px;border:1px solid #ece8e4;border-radius:10px;background:#faf9f8;color:var(--muted);font-size:11px}.guest-nearby-stats strong{display:block;color:var(--text);font-size:18px;line-height:1;margin-bottom:4px}
.guest-nearby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}
.guest-nearby-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--jj-line);border-radius:12px;background:#fffdf9;min-width:0}
.guest-nearby-card>div:first-child{display:grid;gap:3px}.guest-nearby-card>div:first-child strong{font-size:14px}.guest-nearby-card>div:first-child span{color:var(--muted);font-size:10.5px;overflow-wrap:anywhere}
.guest-nearby-card-metrics{display:flex;gap:8px;flex-wrap:wrap}.guest-nearby-card-metrics span{padding:6px 8px;border-radius:999px;background:var(--blue-bg);color:var(--blue);font-size:10.5px}.guest-nearby-card-metrics b{font-size:12px}
.guest-nearby-card-actions{display:flex;gap:6px;flex-wrap:wrap}.guest-nearby-empty{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border:1px dashed var(--jj-line);border-radius:12px;background:#faf9f8}.guest-nearby-empty strong{font-size:13px}.guest-nearby-empty span{flex:1 1 360px;color:var(--muted);font-size:11px;line-height:1.5}
.guest-nearby-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #ece8e4;font-size:11px}.guest-nearby-foot span{color:var(--muted)}
@media(max-width:900px){.guest-nearby-head{flex-direction:column}.guest-nearby-actions{justify-content:flex-start}.guest-nearby-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.guest-nearby-lodgings-panel{padding:14px}.guest-nearby-stats{grid-template-columns:1fr}.guest-nearby-grid{grid-template-columns:1fr}.guest-nearby-actions{width:100%}.guest-nearby-actions .btn{flex:1 1 140px}}
.guest-contact-copy-admin{padding:12px 14px;border:1px solid #d9e3f3;border-radius:10px;background:#f7f9fc}.guest-contact-copy-admin select:disabled{opacity:.65}.guest-contact-copy-admin .field-help{margin-top:6px}

/* ========================================================================== */
/* V84 — mini-sites famille : charte fixe du faire-part fourni                */
/* ========================================================================== */
#publicGate.public-gate{
  --pj-blue:#18347B;
  --pj-blue-soft:#18347B;
  --pj-orange:#F06F16;
  --pj-orange-light:#E29035;
  --pj-gold:#D8A82D;
  --pj-green:#88952C;
  --pj-ivory:#fbf7ed;
  --pj-paper:#fdf9f0;
  --pj-line:rgba(24,52,123,.25);
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:100vw!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:var(--pj-ivory)!important;
  color:var(--pj-blue)!important;
}
#publicGate .public-shell,
#publicGate #publicContent,
#publicGate .public-site,
#publicGate .pj-family-content,
#publicGate .public-site-section,
#publicGate .public-web-hero{
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
#publicGate .public-shell{padding:0!important;background:var(--pj-ivory)!important;border:0!important;border-radius:0!important}
#publicGate .public-brand{display:none!important}
#publicGate #publicContent{background:var(--pj-ivory)!important}
#publicGate .pj-family-site{overflow:visible!important;background:var(--pj-ivory)!important}

/* Navigation : quatre rubriques, sans logo produit ni rubrique parasite. */
#publicGate .pj-family-nav{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:80!important;
  width:100vw!important;
  min-height:76px!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(24,52,123,.18)!important;
  background:rgba(251,247,237,.96)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:none!important;
}
#publicGate .pj-family-nav .public-site-nav-inner{
  width:100%!important;
  max-width:none!important;
  min-height:76px!important;
  margin:0!important;
  padding:0 clamp(20px,4.2vw,82px)!important;
  display:grid!important;
  grid-template-columns:minmax(150px,.55fr) minmax(0,2.45fr)!important;
  align-items:center!important;
  gap:34px!important;
}
#publicGate .pj-family-nav-name{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;color:var(--pj-blue)!important}
#publicGate .pj-family-nav-name small{font:400 9px/1.2 Georgia,'Times New Roman',serif!important;text-transform:uppercase!important;letter-spacing:.18em!important;opacity:.72!important}
#publicGate .pj-family-nav-name strong{font:400 15px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#publicGate .pj-family-nav .public-site-links{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
}
#publicGate .pj-family-nav .public-site-links a{
  min-height:76px!important;
  padding:0 15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  color:var(--pj-blue)!important;
  text-decoration:none!important;
  border-left:1px solid rgba(24,52,123,.1)!important;
  font:400 clamp(11px,1vw,14px)/1.25 'Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.035em!important;
  transition:background .15s ease,color .15s ease!important;
}
#publicGate .pj-family-nav .public-site-links a:last-child{border-right:1px solid rgba(24,52,123,.1)!important}
#publicGate .pj-family-nav .public-site-links a:hover,
#publicGate .pj-family-nav .public-site-links a:focus-visible{background:rgba(24,52,123,.055)!important;outline:none!important}

/* Couverture : composition très proche de la première page du faire-part. */
#publicGate .pj-invite-hero{
  position:relative!important;
  min-height:calc(100vh - 76px)!important;
  height:auto!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:block!important;
  background:var(--pj-ivory)!important;
  border:0!important;
}
#publicGate .pj-invite-hero .public-hero-shell{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - 76px)!important;
  margin:0!important;
  padding:clamp(70px,8vh,112px) clamp(36px,8vw,140px) clamp(430px,43vw,630px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
}
#publicGate .public-pj-frame{
  position:absolute!important;
  inset:18px 18px 20px!important;
  z-index:1!important;
  pointer-events:none!important;
  border-style:solid!important;
  border-width:88px 64px!important;
  border-image-source:url('../illustrations/guest-pj-frame.png?v=850')!important;
  border-image-slice:118 86 118 86!important;
  border-image-width:88px 64px!important;
  border-image-repeat:stretch!important;
}
#publicGate .pj-invite-hero .public-hero-copy{
  position:relative!important;
  z-index:5!important;
  width:min(1060px,88vw)!important;
  max-width:1060px!important;
  margin:0 auto!important;
  text-align:center!important;
}
#publicGate .pj-script-title{
  display:block!important;
  margin:0 0 clamp(20px,3vh,34px)!important;
  color:var(--pj-blue)!important;
  font:400 clamp(34px,4.1vw,62px)/1.02 'Snell Roundhand','Segoe Script','Brush Script MT',cursive!important;
  letter-spacing:.015em!important;
}
#publicGate .pj-couple-title{
  margin:0!important;
  color:var(--pj-blue)!important;
  font:400 clamp(38px,4.5vw,72px)/1.08 'Didot','Bodoni MT','Baskerville','Times New Roman',serif!important;
  letter-spacing:.18em!important;
  text-transform:none!important;
  text-shadow:none!important;
}
#publicGate .pj-couple-title em{
  display:inline-block!important;
  margin:0 .3em!important;
  font-size:.72em!important;
  font-style:normal!important;
  letter-spacing:.04em!important;
  text-transform:lowercase!important;
}
#publicGate .pj-invite-hero .public-union-line{
  margin:22px 0 0!important;
  color:var(--pj-blue)!important;
  font:400 clamp(14px,1.35vw,20px)/1.3 'Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.02em!important;
}
#publicGate .pj-invite-hero .public-save-date-line{
  margin:18px 0 0!important;
  color:var(--pj-blue)!important;
  font:400 clamp(17px,2vw,29px)/1.25 'Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.25em!important;
  text-transform:uppercase!important;
}
#publicGate .pj-invite-hero .public-hero-copy>p{
  max-width:760px!important;
  margin:24px auto 0!important;
  color:var(--pj-blue)!important;
  font:400 14px/1.75 'Didot','Bodoni MT','Times New Roman',serif!important;
  opacity:.85!important;
}
#publicGate .public-pj-chateau{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;
  bottom:43px!important;
  width:min(1540px,94vw)!important;
  max-width:none!important;
  height:auto!important;
  transform:translateX(-50%)!important;
  object-fit:contain!important;
  pointer-events:none!important;
  user-select:none!important;
}

/* Sections : l’esprit de la seconde page, sans cartes arrondies de web-app. */
#publicGate .pj-family-content{display:block!important;background:var(--pj-ivory)!important}
#publicGate .pj-rubric-section{
  position:relative!important;
  padding:0!important;
  background:var(--pj-ivory)!important;
  border:0!important;
  border-top:1px solid rgba(24,52,123,.18)!important;
}
#publicGate .pj-rubric-section:nth-child(even){background:#fdfaf2!important}
#publicGate .pj-rubric-section .public-section-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(76px,8vw,126px) clamp(28px,7vw,122px)!important;
  box-sizing:border-box!important;
}
#publicGate .pj-rubric-heading{
  width:min(1180px,100%)!important;
  margin:0 auto clamp(42px,5vw,72px)!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
}
#publicGate .pj-rubric-heading>span{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--pj-blue)!important;
  color:var(--pj-blue)!important;
  font:400 16px/1 'Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
}
#publicGate .pj-rubric-heading small{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--pj-orange)!important;
  font:400 12px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
  text-transform:uppercase!important;
  letter-spacing:.2em!important;
}
#publicGate .pj-rubric-heading h2{
  margin:0!important;
  color:var(--pj-blue)!important;
  font:400 clamp(34px,3.8vw,58px)/1.08 'Didot','Bodoni MT','Baskerville','Times New Roman',serif!important;
  letter-spacing:.015em!important;
}
#publicGate .pj-rubric-heading p{
  max-width:820px!important;
  margin:14px 0 0!important;
  color:var(--pj-blue-soft)!important;
  font:400 15px/1.72 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-deadline{
  display:inline-block!important;
  margin-top:16px!important;
  color:var(--pj-blue)!important;
  font:400 12px/1.4 'Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* Formulaires famille : rectangulaires, aérés et hiérarchisés. */
#publicGate .save-date-party,
#publicGate .public-party-response{
  width:min(1380px,100%)!important;
  max-width:1380px!important;
  margin:0 auto!important;
}
#publicGate .save-date-required-note,
#publicGate .public-family-overview,
#publicGate .public-party-response-head{
  border:0!important;
  border-bottom:1px solid rgba(24,52,123,.18)!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0 0 20px!important;
  margin-bottom:24px!important;
}
#publicGate .save-date-required-note strong,
#publicGate .public-family-overview strong,
#publicGate .public-party-response-head strong{
  color:var(--pj-blue)!important;
  font:400 24px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .save-date-required-note span,
#publicGate .public-party-response-head span,
#publicGate .public-family-overview span{color:var(--pj-blue-soft)!important}
#publicGate .save-date-party-grid,
#publicGate .public-party-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))!important;
  gap:18px!important;
}
#publicGate .save-date-person,
#publicGate .public-party-person,
#publicGate .public-person-contact,
#publicGate .public-household-contact{
  min-width:0!important;
  border:1px solid rgba(24,52,123,.32)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.38)!important;
  box-shadow:none!important;
  padding:22px!important;
}
#publicGate .save-date-person-head,
#publicGate .public-party-person-head{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  align-items:flex-start!important;
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(24,52,123,.15)!important;
}
#publicGate .save-date-person-head strong,
#publicGate .public-party-person-head strong{
  color:var(--pj-blue)!important;
  font:400 22px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .save-date-person-head span,
#publicGate .public-prior-answer,
#publicGate .public-person-type{
  color:var(--pj-blue-soft)!important;
  font:400 11px/1.4 'Didot','Bodoni MT','Times New Roman',serif!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
#publicGate .save-date-options,
#publicGate .public-presence-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#publicGate .save-date-options label,
#publicGate .public-presence-options label{margin:0!important}
#publicGate .save-date-options input,
#publicGate .public-presence-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
#publicGate .save-date-options span,
#publicGate .public-presence-options span{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 12px!important;
  border:1px solid rgba(24,52,123,.28)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--pj-blue)!important;
  font:400 12px/1.35 'Didot','Bodoni MT','Times New Roman',serif!important;
  text-align:center!important;
}
#publicGate .save-date-options input:checked+span,
#publicGate .public-presence-options input:checked+span{
  color:#fff!important;
  background:var(--pj-blue)!important;
  border-color:var(--pj-blue)!important;
  box-shadow:none!important;
}
#publicGate .public-person-contact{margin-top:18px!important;padding:18px!important;background:rgba(251,247,237,.7)!important}
#publicGate .public-detail-intro{margin:0 0 14px!important}
#publicGate .public-detail-intro span{color:var(--pj-blue)!important;font:400 15px/1.3 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .public-detail-intro small{display:block!important;margin-top:4px!important;color:var(--pj-blue-soft)!important}
#publicGate .public-party-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#publicGate .public-address-field{grid-column:1/-1!important}
#publicGate .field .fl{color:var(--pj-blue)!important;font:400 11px/1.35 'Didot','Bodoni MT','Times New Roman',serif!important;letter-spacing:.04em!important}
#publicGate input,
#publicGate select,
#publicGate textarea{
  border:1px solid rgba(24,52,123,.33)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--pj-blue)!important;
  box-shadow:none!important;
}
#publicGate input:focus,
#publicGate select:focus,
#publicGate textarea:focus{border-color:var(--pj-blue)!important;outline:2px solid rgba(24,52,123,.12)!important;outline-offset:1px!important}
#publicGate .btn.primary,
#publicGate .public-primary-link{
  min-height:46px!important;
  padding:0 20px!important;
  border:1px solid var(--pj-blue)!important;
  border-radius:0!important;
  background:var(--pj-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .btn:not(.primary),
#publicGate .public-secondary-link{
  border-radius:0!important;
  border-color:rgba(24,52,123,.35)!important;
  color:var(--pj-blue)!important;
  background:transparent!important;
  box-shadow:none!important;
}
#publicGate .save-date-submit,
#publicGate .public-party-save{margin-top:24px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;flex-wrap:wrap!important}
#publicGate .save-date-submit small,
#publicGate .public-party-save .public-lead{color:var(--pj-blue-soft)!important;font-family:'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .public-result{border-radius:0!important;border:1px solid rgba(24,52,123,.22)!important;background:rgba(255,255,255,.48)!important;color:var(--pj-blue)!important}
#publicGate .public-success{border-color:rgba(139,155,32,.45)!important;background:rgba(139,155,32,.08)!important}

/* Programme : chronologie éditoriale + informations pratiques dans la même rubrique. */
#publicGate .pj-program-list{width:min(1120px,100%)!important;margin:0 auto!important;border-top:1px solid rgba(24,52,123,.2)!important}
#publicGate .pj-program-item{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:34px!important;padding:26px 0!important;border-bottom:1px solid rgba(24,52,123,.18)!important}
#publicGate .pj-program-item time{color:var(--pj-orange)!important;font:400 13px/1.4 'Didot','Bodoni MT','Times New Roman',serif!important;letter-spacing:.08em!important;text-align:right!important}
#publicGate .pj-program-item h3{margin:0!important;color:var(--pj-blue)!important;font:400 25px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .pj-program-item span{display:block!important;margin-top:5px!important;color:var(--pj-blue-soft)!important}
#publicGate .pj-program-item p{margin:8px 0 0!important;color:var(--pj-blue-soft)!important;line-height:1.65!important}
#publicGate .pj-program-item a{display:inline-block!important;margin:8px 12px 0 0!important;color:var(--pj-orange)!important;text-decoration:none!important;border-bottom:1px solid currentColor!important}
#publicGate .pj-info-grid{width:min(1220px,100%)!important;margin:44px auto 0!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:12px!important}
#publicGate .pj-info-card{min-height:128px!important;padding:20px!important;border:1px solid rgba(24,52,123,.26)!important;background:rgba(255,255,255,.35)!important}
#publicGate .pj-info-card small{display:block!important;color:var(--pj-orange)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:9px!important}
#publicGate .pj-info-card strong{display:block!important;margin-top:8px!important;color:var(--pj-blue)!important;font:400 19px/1.35 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .pj-info-card a{display:inline-block!important;margin-top:10px!important;color:var(--pj-blue)!important;text-decoration:none!important;border-bottom:1px solid currentColor!important}
#publicGate .pj-practical-copy{width:min(900px,100%)!important;margin:38px auto 0!important;padding:28px!important;border-top:1px solid rgba(24,52,123,.2)!important;border-bottom:1px solid rgba(24,52,123,.2)!important;white-space:pre-wrap!important;text-align:center!important;color:var(--pj-blue)!important;font:400 15px/1.8 'Didot','Bodoni MT','Times New Roman',serif!important}

/* Hébergements : cartes rectangulaires, distance et trajet très visibles. */
#publicGate .public-nearby-lodgings,
#publicGate .public-lodging-list{
  width:min(1380px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:14px!important;
}
#publicGate .public-lodging-card{
  min-height:200px!important;
  padding:22px!important;
  border:1px solid rgba(24,52,123,.28)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.36)!important;
  box-shadow:none!important;
}
#publicGate .public-lodging-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}
#publicGate .public-lodging-head h3{margin:0!important;color:var(--pj-blue)!important;font:400 23px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .public-lodging-meta{margin-top:8px!important;color:var(--pj-blue-soft)!important;font-family:'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .public-lodging-meta .badge{padding:0!important;border:0!important;background:transparent!important;color:var(--pj-orange)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:9px!important}
#publicGate .public-lodging-contact{margin-top:14px!important;color:var(--pj-blue)!important}
#publicGate .public-lodging-note{margin-top:12px!important;color:var(--pj-blue-soft)!important;line-height:1.6!important}
#publicGate .public-lodging-links{margin-top:14px!important}

#publicGate .pj-coming-card{
  width:min(920px,100%)!important;
  margin:0 auto!important;
  padding:44px clamp(24px,5vw,64px)!important;
  border:1px solid rgba(24,52,123,.25)!important;
  background:rgba(255,255,255,.34)!important;
  text-align:center!important;
}
#publicGate .pj-coming-card>span{display:block!important;margin-bottom:9px!important;color:var(--pj-orange)!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:10px!important}
#publicGate .pj-coming-card strong{display:block!important;color:var(--pj-blue)!important;font:400 clamp(25px,3vw,38px)/1.2 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .pj-coming-card p{max-width:650px!important;margin:12px auto 0!important;color:var(--pj-blue-soft)!important;line-height:1.7!important}

/* Footer comme une dernière page de faire-part. */
#publicGate .pj-family-footer{
  position:relative!important;
  min-height:330px!important;
  padding:98px clamp(28px,7vw,120px) 90px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:var(--pj-ivory)!important;
  color:var(--pj-blue)!important;
  border-top:1px solid rgba(24,52,123,.18)!important;
  overflow:hidden!important;
}
#publicGate .public-pj-frame-footer{inset:16px!important;border-width:70px 54px!important;border-image-width:70px 54px!important;opacity:.92!important}
#publicGate .pj-family-footer>strong{position:relative!important;z-index:2!important;color:var(--pj-blue)!important;font:400 clamp(28px,3.5vw,48px)/1.2 'Snell Roundhand','Segoe Script','Brush Script MT',cursive!important;text-transform:none!important;letter-spacing:.02em!important}
#publicGate .pj-family-footer>strong em{font-style:normal!important;margin:0 .2em!important;text-transform:lowercase!important}
#publicGate .pj-family-footer p{position:relative!important;z-index:2!important;margin:16px auto 0!important;max-width:680px!important;color:var(--pj-blue)!important;font:400 14px/1.7 'Didot','Bodoni MT','Times New Roman',serif!important}
#publicGate .pj-family-footer small{position:relative!important;z-index:2!important;margin-top:20px!important;color:var(--pj-blue-soft)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:9px!important}

/* Back-office : la charte est informative, jamais configurable. */
.portal-fixed-charter-card{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;gap:20px!important;align-items:stretch!important}
.portal-fixed-charter-copy{min-width:0!important}
.portal-fixed-charter-copy h3{margin-top:5px!important}
.portal-fixed-charter-copy p{max-width:760px!important;color:var(--muted)!important;line-height:1.6!important}
.portal-fixed-charter-preview{position:relative!important;min-height:210px!important;padding:42px 24px 78px!important;overflow:hidden!important;border:1px solid #cbd7e5!important;background:#fbf7ed!important;text-align:center!important;color:#18347B!important}
.portal-fixed-charter-preview:before{content:'';position:absolute;inset:9px;border:1px solid #18347B;opacity:.72}
.portal-fixed-charter-preview span,.portal-fixed-charter-preview strong{position:relative;z-index:2;display:block}
.portal-fixed-charter-preview span{font:400 24px/1 'Snell Roundhand','Segoe Script',cursive!important}
.portal-fixed-charter-preview strong{margin-top:17px;font:400 18px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;letter-spacing:.14em!important}
.portal-fixed-charter-preview i{position:absolute;left:50%;bottom:-10px;width:78%;height:95px;transform:translateX(-50%);background:url('../illustrations/guest-pj-chateau.png?v=840') center bottom/contain no-repeat}
.portal-fixed-rubrics-note{margin-top:14px!important;padding:14px 16px!important;border:1px solid var(--jj-line)!important;background:#faf9f7!important;display:grid!important;gap:5px!important}
.portal-fixed-rubrics-note>strong{font-size:13px!important}.portal-fixed-rubrics-note>span{font-size:12px!important;color:var(--muted)!important;line-height:1.55!important}

@media(min-width:1700px){
  #publicGate .pj-invite-hero .public-hero-shell{padding-bottom:650px!important}
  #publicGate .public-pj-chateau{width:min(1720px,94vw)!important}
}
@media(max-width:1100px){
  #publicGate .pj-family-nav .public-site-nav-inner{grid-template-columns:180px minmax(0,1fr)!important;padding-inline:22px!important;gap:16px!important}
  #publicGate .pj-family-nav .public-site-links a{padding-inline:8px!important;font-size:11px!important}
  #publicGate .pj-invite-hero .public-hero-shell{padding-bottom:46vw!important}
  #publicGate .public-pj-frame{border-width:74px 50px!important;border-image-width:74px 50px!important}
  .portal-fixed-charter-card{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  #publicGate .pj-family-nav{min-height:104px!important}
  #publicGate .pj-family-nav .public-site-nav-inner{min-height:104px!important;padding:8px 12px 0!important;display:block!important;overflow:hidden!important}
  #publicGate .pj-family-nav-name{height:36px!important;justify-content:center!important;padding-left:4px!important}
  #publicGate .pj-family-nav .public-site-links{display:flex!important;width:100%!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  #publicGate .pj-family-nav .public-site-links::-webkit-scrollbar{display:none!important}
  #publicGate .pj-family-nav .public-site-links a{flex:0 0 auto!important;min-width:max-content!important;min-height:58px!important;padding:0 14px!important;border-right:0!important}
  #publicGate .pj-invite-hero{min-height:calc(100svh - 104px)!important}
  #publicGate .pj-invite-hero .public-hero-shell{min-height:calc(100svh - 104px)!important;padding:62px 22px 355px!important}
  #publicGate .public-pj-frame{inset:10px!important;border-width:62px 38px!important;border-image-width:62px 38px!important}
  #publicGate .public-pj-chateau{width:135vw!important;bottom:34px!important}
  #publicGate .pj-script-title{font-size:42px!important;margin-bottom:22px!important}
  #publicGate .pj-couple-title{font-size:clamp(32px,9vw,48px)!important;letter-spacing:.11em!important}
  #publicGate .pj-couple-title em{display:block!important;margin:.25em 0!important;font-size:.58em!important}
  #publicGate .pj-invite-hero .public-save-date-line{font-size:16px!important;letter-spacing:.14em!important}
  #publicGate .pj-rubric-section .public-section-shell{padding:62px 18px!important}
  #publicGate .pj-rubric-heading{grid-template-columns:48px minmax(0,1fr)!important;gap:16px!important;margin-bottom:34px!important}
  #publicGate .pj-rubric-heading>span{width:44px!important;height:44px!important;font-size:13px!important}
  #publicGate .pj-rubric-heading h2{font-size:34px!important}
  #publicGate .save-date-party-grid,#publicGate .public-party-list{grid-template-columns:1fr!important}
  #publicGate .save-date-options,#publicGate .public-presence-options{grid-template-columns:1fr!important}
  #publicGate .public-party-fields{grid-template-columns:1fr!important}
  #publicGate .public-address-field{grid-column:auto!important}
  #publicGate .pj-program-item{grid-template-columns:70px minmax(0,1fr)!important;gap:18px!important}
  #publicGate .pj-program-item time{text-align:left!important;font-size:11px!important}
  #publicGate .public-lodging-list,#publicGate .public-nearby-lodgings{grid-template-columns:1fr!important}
  #publicGate .public-lodging-head{flex-direction:column!important}
  #publicGate .pj-family-footer{min-height:300px!important;padding-inline:20px!important}
}
@media(max-width:430px){
  #publicGate .pj-invite-hero .public-hero-shell{padding:50px 16px 315px!important}
  #publicGate .public-pj-chateau{width:155vw!important;bottom:32px!important}
  #publicGate .public-pj-frame{border-width:54px 30px!important;border-image-width:54px 30px!important}
  #publicGate .pj-rubric-section .public-section-shell{padding-inline:14px!important}
  #publicGate .save-date-person,#publicGate .public-party-person{padding:16px!important}
}
#publicGate .pj-invite-hero::before,
#publicGate .pj-invite-hero::after{display:none!important;content:none!important;background:none!important}
#publicGate .pj-letter-copy{
  max-width:880px!important;
  margin:20px 0 0!important;
  color:var(--pj-blue)!important;
  font:400 14px/1.78 'Didot','Bodoni MT','Times New Roman',serif!important;
  white-space:pre-wrap!important;
}

/* ========================================================================== */
/* V85 — mini-sites neutres Pauline & Romain + palette verrouillée            */
/* ========================================================================== */
#publicGate.public-gate{
  --pj-blue:#18347B!important;
  --pj-blue-soft:#18347B!important;
  --pj-green:#88952C!important;
  --pj-gold:#D8A82D!important;
  --pj-orange-light:#E29035!important;
  --pj-orange:#F06F16!important;
  --public-accent:#18347B!important;
  --public-bg:#fbf7ed!important;
}
/* Aucun branding produit n'apparaît dans l'expérience publique. */
#publicGate .public-brand,
#publicGate .public-site-logo{display:none!important}
#publicGate .pj-family-nav .public-site-nav-inner{
  grid-template-columns:minmax(170px,.62fr) minmax(0,2.38fr)!important;
}
/* Palette exacte issue du faire-part. */
#publicGate .pj-rubric-heading small,
#publicGate .public-text-link,
#publicGate .pj-info-card a{color:var(--pj-orange)!important}
#publicGate .pj-deadline,
#publicGate .public-lodging-meta .badge{color:var(--pj-gold)!important}
#publicGate .pj-program-item time,
#publicGate .pj-info-card small{color:var(--pj-orange-light)!important}
#publicGate .public-success{
  border-color:rgba(136,149,44,.48)!important;
  background:rgba(136,149,44,.09)!important;
  color:var(--pj-blue)!important;
}
#publicGate .public-lodging-choice-help a,
#publicGate .public-lodging-links a{color:var(--pj-orange)!important}
#publicGate .save-date-options input:checked+span,
#publicGate .public-presence-options input:checked+span,
#publicGate .btn.primary,
#publicGate .public-primary-link{
  background:var(--pj-blue)!important;
  border-color:var(--pj-blue)!important;
  color:#fff!important;
}
#publicGate .btn.primary:hover,
#publicGate .btn.primary:focus-visible,
#publicGate .public-primary-link:hover,
#publicGate .public-primary-link:focus-visible{
  background:var(--pj-orange)!important;
  border-color:var(--pj-orange)!important;
}
#publicGate .pj-family-nav .public-site-links a:hover,
#publicGate .pj-family-nav .public-site-links a:focus-visible{
  color:var(--pj-orange)!important;
  background:rgba(216,168,45,.08)!important;
}
#publicGate .pj-rubric-heading>span{
  border-color:var(--pj-blue)!important;
  color:var(--pj-blue)!important;
}
#publicGate input:focus,
#publicGate select:focus,
#publicGate textarea:focus{
  border-color:var(--pj-blue)!important;
  outline-color:rgba(24,52,123,.13)!important;
}
/* La largeur publique reste réellement bord à bord sur desktop. */
@media(min-width:1000px){
  #publicGate .pj-family-nav,
  #publicGate .pj-invite-hero,
  #publicGate .pj-family-content,
  #publicGate .pj-rubric-section,
  #publicGate .pj-family-footer{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #publicGate .pj-rubric-section .public-section-shell{
    width:100%!important;
    max-width:none!important;
    padding-left:clamp(48px,7vw,134px)!important;
    padding-right:clamp(48px,7vw,134px)!important;
  }
}

/* ========================================================================== */
/* V86 — mini-sites : rendu plus beau et plus ergonomique                     */
/* ========================================================================== */
#publicGate .pj-hero-intro{
  max-width:900px!important;
  margin:26px auto 0!important;
  color:var(--pj-blue)!important;
  font:400 clamp(15px,1.2vw,18px)/1.8 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-hero-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:30px auto 0!important;
}
#publicGate .pj-hero-actions .btn{
  min-height:50px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 26px rgba(24,52,123,.08)!important;
}
#publicGate .pj-hero-actions .btn:not(.primary){
  border-color:rgba(24,52,123,.25)!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--pj-blue)!important;
}
#publicGate .pj-family-overview-strip{
  width:100vw!important;
  background:linear-gradient(180deg,rgba(255,252,245,.96),rgba(249,244,235,.98))!important;
  border-top:1px solid rgba(24,52,123,.12)!important;
  border-bottom:1px solid rgba(24,52,123,.15)!important;
}
#publicGate .pj-family-overview-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px clamp(28px,7vw,122px) 34px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;
  gap:22px!important;
  align-items:start!important;
  box-sizing:border-box!important;
}
#publicGate .pj-family-overview-head small{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--pj-orange)!important;
  font:400 11px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
  text-transform:uppercase!important;
  letter-spacing:.18em!important;
}
#publicGate .pj-family-overview-head strong{
  display:block!important;
  color:var(--pj-blue)!important;
  font:400 clamp(30px,3.2vw,48px)/1.08 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-family-overview-head p{
  max-width:660px!important;
  margin:12px 0 0!important;
  color:var(--pj-blue-soft)!important;
  font:400 14px/1.72 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-family-overview-stats{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:18px!important;
}
#publicGate .pj-family-overview-stats span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid rgba(24,52,123,.14)!important;
  background:#fffdf8!important;
  color:var(--pj-blue)!important;
  font-size:11px!important;
}
#publicGate .pj-family-overview-stats b{
  font-size:15px!important;
  font-weight:700!important;
}
#publicGate .pj-family-overview-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
#publicGate .pj-overview-card{
  display:grid!important;
  gap:9px!important;
  min-height:162px!important;
  padding:18px 18px 16px!important;
  text-decoration:none!important;
  border:1px solid rgba(24,52,123,.14)!important;
  background:linear-gradient(180deg,#fffef9,#fff9f0)!important;
  box-shadow:0 18px 34px rgba(24,52,123,.05)!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
#publicGate .pj-overview-card:hover,
#publicGate .pj-overview-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(24,52,123,.28)!important;
  box-shadow:0 22px 40px rgba(24,52,123,.09)!important;
  outline:none!important;
}
#publicGate .pj-overview-card small{
  color:var(--pj-orange)!important;
  font:400 10px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
  text-transform:uppercase!important;
  letter-spacing:.18em!important;
}
#publicGate .pj-overview-card strong{
  color:var(--pj-blue)!important;
  font:400 23px/1.15 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-overview-card span{
  color:var(--pj-blue-soft)!important;
  font:400 12px/1.62 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-overview-card b{
  margin-top:auto!important;
  color:var(--pj-orange)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
#publicGate .pj-family-nav .public-site-links a.is-active{
  color:var(--pj-orange)!important;
  background:rgba(216,168,45,.08)!important;
  box-shadow:inset 0 -2px 0 var(--pj-orange)!important;
}
#publicGate .pj-rubric-section .public-section-shell,
#publicGate .save-date-party,
#publicGate .public-party-response,
#publicGate .pj-program-list,
#publicGate .pj-info-grid,
#publicGate .public-lodging-list,
#publicGate .pj-coming-card{
  scroll-margin-top:112px!important;
}
#publicGate .save-date-required-note,
#publicGate .public-family-overview,
#publicGate .public-party-response-head{
  display:grid!important;
  gap:8px!important;
}
#publicGate .save-date-required-note,
#publicGate .public-family-overview,
#publicGate .public-party-response,
#publicGate .pj-coming-card,
#publicGate .pj-program-list,
#publicGate .public-lodging-list{
  filter:none!important;
}
#publicGate .save-date-person,
#publicGate .public-party-person,
#publicGate .public-lodging-card,
#publicGate .pj-info-card,
#publicGate .pj-coming-card{
  box-shadow:0 14px 30px rgba(24,52,123,.05)!important;
}
#publicGate .save-date-person,
#publicGate .public-party-person{
  padding:22px!important;
}
#publicGate .save-date-person-head strong,
#publicGate .public-party-person-head strong{
  font-size:28px!important;
}
#publicGate .save-date-options,
#publicGate .public-presence-options{
  gap:10px!important;
}
#publicGate .save-date-options span,
#publicGate .public-presence-options span{
  min-height:56px!important;
  padding:14px 14px!important;
  font-size:12px!important;
  line-height:1.35!important;
}
#publicGate .public-person-contact{
  margin-top:18px!important;
  padding:18px!important;
  border:1px solid rgba(24,52,123,.12)!important;
  background:rgba(255,252,245,.82)!important;
}
#publicGate .public-contact-copy-field{
  padding:14px!important;
  background:#fffef9!important;
}
#publicGate .public-person-contact input,
#publicGate .public-person-contact select,
#publicGate .public-party-fields input,
#publicGate .public-party-fields select,
#publicGate .public-party-fields textarea{
  min-height:50px!important;
  border-radius:10px!important;
  padding:12px 13px!important;
}
#publicGate .save-date-submit,
#publicGate .public-party-save{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  flex-wrap:wrap!important;
  margin-top:26px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(24,52,123,.14)!important;
}
#publicGate .save-date-submit small,
#publicGate .public-party-save .public-lead{
  flex:1 1 320px!important;
  margin:0!important;
}
#publicGate .pj-program-list{
  width:min(1360px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  gap:14px!important;
}
#publicGate .pj-program-item{
  align-items:start!important;
  padding:20px 22px!important;
  border:1px solid rgba(24,52,123,.12)!important;
  background:rgba(255,255,255,.7)!important;
  box-shadow:0 14px 28px rgba(24,52,123,.04)!important;
}
#publicGate .pj-program-item time{
  padding-top:4px!important;
}
#publicGate .pj-program-item div{
  min-width:0!important;
}
#publicGate .public-lodging-list,
#publicGate .public-nearby-lodgings{
  width:min(1360px,100%)!important;
  margin:0 auto!important;
  gap:16px!important;
}
#publicGate .public-lodging-card{
  padding:18px!important;
  background:rgba(255,255,255,.76)!important;
}
#publicGate .public-lodging-head .btn,
#publicGate .public-lodging-links .btn{
  min-height:40px!important;
  border-radius:999px!important;
}
#publicGate .pj-family-footer{
  padding-top:90px!important;
  padding-bottom:90px!important;
}
@media(max-width:1180px){
  #publicGate .pj-family-overview-inner{
    grid-template-columns:1fr!important;
  }
  #publicGate .pj-family-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  #publicGate .pj-hero-actions{
    gap:10px!important;
  }
  #publicGate .pj-hero-actions .btn{
    width:100%!important;
  }
  #publicGate .pj-family-overview-inner{
    padding:24px 18px 28px!important;
  }
  #publicGate .pj-family-overview-grid{
    grid-template-columns:1fr!important;
  }
  #publicGate .pj-overview-card{
    min-height:auto!important;
  }
  #publicGate .save-date-submit,
  #publicGate .public-party-save{
    align-items:stretch!important;
  }
  #publicGate .save-date-submit .btn,
  #publicGate .public-party-save .btn{
    width:100%!important;
  }
}

/* ========================================================================== */
/* V87 — espace invité plus simple à utiliser                                 */
/* ========================================================================== */
#publicGate .pj-simple-site{
  background:var(--pj-ivory)!important;
}
#publicGate .pj-simple-site .pj-family-nav{
  min-height:68px!important;
  background:rgba(251,247,237,.97)!important;
}
#publicGate .pj-simple-site .pj-family-nav .public-site-nav-inner{
  min-height:68px!important;
  grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr)!important;
  padding:0 clamp(18px,4vw,64px)!important;
  gap:24px!important;
}
#publicGate .pj-simple-site .pj-family-nav-name small{
  color:var(--pj-orange)!important;
  opacity:1!important;
}
#publicGate .pj-simple-site .pj-family-nav-name strong{
  font-size:14px!important;
}
#publicGate .pj-simple-site .pj-family-nav .public-site-links a{
  min-height:68px!important;
  padding:0 12px!important;
  font-size:12px!important;
  border-left:0!important;
  border-right:0!important;
}
#publicGate .pj-simple-site .pj-family-nav .public-site-links a.is-active{
  color:var(--pj-orange)!important;
  box-shadow:inset 0 -2px 0 var(--pj-orange)!important;
  background:transparent!important;
}
#publicGate .pj-simple-hero{
  min-height:720px!important;
  height:auto!important;
}
#publicGate .pj-simple-hero .public-hero-shell{
  min-height:720px!important;
  padding:82px 32px 350px!important;
  justify-content:flex-start!important;
}
#publicGate .pj-simple-hero .public-hero-copy{
  width:min(900px,90vw)!important;
}
#publicGate .pj-simple-hero .pj-script-title{
  margin-bottom:20px!important;
  font-size:clamp(36px,4vw,58px)!important;
}
#publicGate .pj-simple-hero .pj-couple-title{
  font-size:clamp(38px,4.4vw,68px)!important;
}
#publicGate .pj-simple-hero .public-save-date-line{
  margin-top:14px!important;
}
#publicGate .pj-simple-hero-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin-top:28px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  text-decoration:none!important;
}
#publicGate .pj-simple-hero .public-pj-chateau{
  width:min(1360px,92vw)!important;
  bottom:32px!important;
}
#publicGate .pj-simple-family-bar{
  width:100vw!important;
  padding:18px clamp(22px,6vw,104px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px 22px!important;
  flex-wrap:wrap!important;
  border-top:1px solid rgba(24,52,123,.15)!important;
  border-bottom:1px solid rgba(24,52,123,.15)!important;
  background:#fffaf1!important;
  color:var(--pj-blue)!important;
  text-align:center!important;
}
#publicGate .pj-simple-family-bar strong{
  font:400 20px/1.2 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .pj-simple-family-bar span{
  color:var(--pj-blue-soft)!important;
  font-size:12px!important;
}
#publicGate .pj-simple-site .pj-rubric-section .public-section-shell{
  padding:72px clamp(22px,6vw,104px)!important;
}
#publicGate .pj-simple-site .pj-rubric-heading{
  width:min(1060px,100%)!important;
  margin:0 auto 34px!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:18px!important;
}
#publicGate .pj-simple-site .pj-rubric-heading>span{
  width:48px!important;
  height:48px!important;
  font-size:13px!important;
}
#publicGate .pj-simple-site .pj-rubric-heading small{
  margin-bottom:5px!important;
  font-size:10px!important;
}
#publicGate .pj-simple-site .pj-rubric-heading h2{
  font-size:clamp(30px,3.2vw,46px)!important;
}
#publicGate .pj-simple-site .pj-rubric-heading p{
  max-width:700px!important;
  margin-top:9px!important;
  font-size:14px!important;
}
#publicGate .simple-guest-form{
  width:min(1040px,100%)!important;
  margin:0 auto!important;
}
#publicGate .simple-form-intro{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border:1px solid rgba(24,52,123,.13)!important;
  background:#fffdf8!important;
}
#publicGate .simple-form-intro strong{
  color:var(--pj-blue)!important;
  font:400 18px/1.25 'Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .simple-form-intro span{
  color:var(--pj-blue-soft)!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}
#publicGate .simple-rsvp-intro>div:first-child{
  display:grid!important;
  gap:4px!important;
}
#publicGate .simple-rsvp-intro #publicPartySummary{
  color:var(--pj-blue-soft)!important;
  font-size:11px!important;
}
#publicGate .save-date-party-grid,
#publicGate .public-party-list{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
#publicGate .save-date-person,
#publicGate .public-party-person{
  padding:20px!important;
  border:1px solid rgba(24,52,123,.15)!important;
  border-radius:8px!important;
  background:#fffdf8!important;
  box-shadow:none!important;
}
#publicGate .save-date-person-head,
#publicGate .public-party-person-head{
  margin-bottom:14px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid rgba(24,52,123,.1)!important;
}
#publicGate .save-date-person-head strong,
#publicGate .public-party-person-head strong{
  font-size:24px!important;
}
#publicGate .save-date-options,
#publicGate .public-presence-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#publicGate .save-date-options span,
#publicGate .public-presence-options span{
  min-height:50px!important;
  padding:12px 10px!important;
  border-radius:6px!important;
  font-size:11.5px!important;
}
#publicGate .public-contact-details,
#publicGate .simple-needs-details{
  margin:14px 0 0!important;
  padding:0!important;
  border:1px solid rgba(24,52,123,.12)!important;
  border-radius:6px!important;
  background:#fffaf2!important;
}
#publicGate .public-contact-details>summary,
#publicGate .simple-needs-details>summary{
  min-height:48px!important;
  padding:11px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  cursor:pointer!important;
  list-style:none!important;
  color:var(--pj-blue)!important;
}
#publicGate .public-contact-details>summary::-webkit-details-marker,
#publicGate .simple-needs-details>summary::-webkit-details-marker{display:none!important}
#publicGate .public-contact-details>summary:after,
#publicGate .simple-needs-details>summary:after{
  content:'+'!important;
  margin-left:auto!important;
  color:var(--pj-orange)!important;
  font-size:18px!important;
  line-height:1!important;
}
#publicGate .public-contact-details[open]>summary:after,
#publicGate .simple-needs-details[open]>summary:after{content:'−'!important}
#publicGate .public-contact-details>summary span,
#publicGate .simple-needs-details>summary span{
  font-weight:700!important;
  font-size:12px!important;
}
#publicGate .public-contact-details>summary small,
#publicGate .simple-needs-details>summary small{
  margin-left:auto!important;
  color:var(--pj-blue-soft)!important;
  font-size:10px!important;
}
#publicGate .public-contact-details-body{
  padding:14px!important;
  border-top:1px solid rgba(24,52,123,.1)!important;
}
#publicGate .public-contact-copy-field{
  max-width:none!important;
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#publicGate .public-party-fields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
#publicGate .public-address-field{
  grid-column:1/-1!important;
}
#publicGate .public-person-contact input,
#publicGate .public-person-contact select,
#publicGate .public-party-fields input,
#publicGate .public-party-fields select,
#publicGate .public-party-fields textarea{
  min-height:46px!important;
  border-radius:6px!important;
  background:#fff!important;
}
#publicGate .simple-submit{
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:0!important;
  justify-content:flex-start!important;
}
#publicGate .simple-submit .btn.primary{
  min-width:150px!important;
  min-height:48px!important;
  border-radius:999px!important;
}
#publicGate .simple-submit small,
#publicGate .simple-submit .public-lead{
  color:var(--pj-blue-soft)!important;
  font-size:11px!important;
}
#publicGate .pj-simple-site .pj-program-list,
#publicGate .pj-simple-site .public-lodging-list,
#publicGate .pj-simple-site .pj-coming-card,
#publicGate .pj-simple-site .pj-info-grid{
  width:min(1040px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#publicGate .pj-simple-site .pj-program-item{
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:24px!important;
  padding:18px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(24,52,123,.14)!important;
  background:transparent!important;
  box-shadow:none!important;
}
#publicGate .pj-simple-site .public-lodging-list,
#publicGate .pj-simple-site .public-nearby-lodgings{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#publicGate .pj-simple-site .public-lodging-card{
  padding:16px!important;
  border-radius:6px!important;
  box-shadow:none!important;
  background:#fffdf8!important;
}
#publicGate .pj-simple-site .pj-coming-card{
  padding:24px!important;
  border-radius:6px!important;
  box-shadow:none!important;
}
#publicGate .pj-simple-site .pj-family-footer{
  min-height:260px!important;
  padding:70px 24px!important;
}
@media(max-width:900px){
  #publicGate .pj-simple-site .pj-family-nav .public-site-nav-inner{
    grid-template-columns:150px minmax(0,1fr)!important;
    padding-inline:14px!important;
    gap:10px!important;
  }
  #publicGate .pj-simple-site .pj-family-nav .public-site-links a{
    font-size:10.5px!important;
    padding-inline:6px!important;
  }
  #publicGate .pj-simple-hero{
    min-height:690px!important;
  }
  #publicGate .pj-simple-hero .public-hero-shell{
    min-height:690px!important;
    padding-bottom:330px!important;
  }
}
@media(max-width:760px){
  #publicGate .pj-simple-site .pj-family-nav{min-height:94px!important}
  #publicGate .pj-simple-site .pj-family-nav .public-site-nav-inner{
    min-height:94px!important;
    display:block!important;
    padding:8px 10px 0!important;
  }
  #publicGate .pj-simple-site .pj-family-nav-name{
    height:30px!important;
    padding-left:6px!important;
    justify-content:center!important;
  }
  #publicGate .pj-simple-site .pj-family-nav-name small,
  #publicGate .pj-simple-site .pj-family-nav-name strong{
    display:inline!important;
  }
  #publicGate .pj-simple-site .pj-family-nav .public-site-links{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  #publicGate .pj-simple-site .pj-family-nav .public-site-links a{
    flex:0 0 auto!important;
    min-width:max-content!important;
    min-height:56px!important;
    padding:0 13px!important;
    font-size:11px!important;
  }
  #publicGate .pj-simple-hero{
    min-height:620px!important;
  }
  #publicGate .pj-simple-hero .public-hero-shell{
    min-height:620px!important;
    padding:54px 18px 290px!important;
  }
  #publicGate .pj-simple-hero .public-pj-chateau{
    width:138vw!important;
    bottom:26px!important;
  }
  #publicGate .pj-simple-family-bar{
    padding:14px 16px!important;
  }
  #publicGate .pj-simple-family-bar span{
    width:100%!important;
  }
  #publicGate .pj-simple-site .pj-rubric-section .public-section-shell{
    padding:48px 16px!important;
  }
  #publicGate .pj-simple-site .pj-rubric-heading{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
    margin-bottom:24px!important;
  }
  #publicGate .pj-simple-site .pj-rubric-heading>span{
    width:38px!important;
    height:38px!important;
  }
  #publicGate .simple-form-intro{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #publicGate .save-date-options,
  #publicGate .public-presence-options{
    grid-template-columns:1fr!important;
  }
  #publicGate .public-party-fields{
    grid-template-columns:1fr!important;
  }
  #publicGate .public-address-field{
    grid-column:1!important;
  }
  #publicGate .public-contact-details>summary,
  #publicGate .simple-needs-details>summary{
    align-items:flex-start!important;
  }
  #publicGate .public-contact-details>summary small,
  #publicGate .simple-needs-details>summary small{
    display:none!important;
  }
  #publicGate .simple-submit{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  #publicGate .simple-submit .btn.primary{
    width:100%!important;
  }
  #publicGate .pj-simple-site .pj-program-item{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  #publicGate .pj-simple-site .pj-program-item time{
    text-align:left!important;
  }
  #publicGate .pj-simple-site .public-lodging-list,
  #publicGate .pj-simple-site .public-nearby-lodgings{
    grid-template-columns:1fr!important;
  }
}

/* ========================================================================== */
/* V88 — mini-sites épurés                                                    */
/* ========================================================================== */
:root{
  --pj-serif:'Didot LP','Didot','Bodoni MT','Times New Roman',serif;
  --pj-script:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;
}
#publicGate .pj-v88-site,
#publicGate .pj-v88-site *{
  box-sizing:border-box!important;
}
#publicGate .pj-v88-site{
  width:100%!important;
  max-width:none!important;
}
#publicGate .pj-v88-site .pj-family-content,
#publicGate .pj-v88-site .public-site-nav-inner,
#publicGate .pj-v88-site .public-section-shell,
#publicGate .pj-v88-site .public-hero-shell,
#publicGate .pj-v88-site .pj-family-footer{
  width:100%!important;
  max-width:none!important;
}
#publicGate .pj-v88-site .public-site-nav{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
  background:rgba(251,247,237,.96)!important;
  backdrop-filter:blur(8px)!important;
  border-bottom:1px solid rgba(24,52,123,.12)!important;
}
#publicGate .pj-v88-site .public-site-nav-inner{
  min-height:70px!important;
  padding:0 clamp(16px,4vw,56px)!important;
  gap:18px!important;
}
#publicGate .pj-v88-site .pj-family-nav-name strong,
#publicGate .pj-v88-site .pj-couple-title,
#publicGate .pj-v88-site .public-web-footer strong,
#publicGate .pj-v88-site .save-date-person-head strong,
#publicGate .pj-v88-site .public-party-person-head strong,
#publicGate .pj-v88-site .pj-program-item strong,
#publicGate .pj-v88-site .public-lodging-name{
  font-family:var(--pj-serif)!important;
}
#publicGate .pj-v88-site .pj-script-title{
  font-family:var(--pj-script)!important;
  font-size:clamp(28px,3vw,48px)!important;
  color:#18347B!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
#publicGate .pj-v88-site .public-site-links{
  flex-wrap:wrap!important;
  gap:8px!important;
}
#publicGate .pj-v88-site .public-site-links a{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  color:#18347B!important;
  border:1px solid transparent!important;
  text-decoration:none!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:all .15s ease!important;
}
#publicGate .pj-v88-site .public-site-links a:hover,
#publicGate .pj-v88-site .public-site-links a:focus-visible{
  border-color:rgba(24,52,123,.18)!important;
  background:rgba(255,255,255,.78)!important;
  outline:none!important;
}
#publicGate .pj-v88-site .public-site-links a.is-active{
  background:#18347B!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(24,52,123,.18)!important;
}
#publicGate .pj-v88-site .pj-v88-hero{
  padding:24px clamp(16px,4vw,48px) 18px!important;
}
#publicGate .pj-v88-site .pj-v88-hero .public-hero-shell{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  padding:0!important;
}
#publicGate .pj-v88-site .public-hero-copy{
  text-align:center!important;
  max-width:980px!important;
  padding:0!important;
}
#publicGate .pj-v88-site .pj-couple-title{
  margin:8px 0 6px!important;
  color:#18347B!important;
  font-size:clamp(34px,4.4vw,68px)!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#publicGate .pj-v88-site .public-union-line,
#publicGate .pj-v88-site .public-save-date-line{
  color:#18347B!important;
  font-family:var(--pj-serif)!important;
}
#publicGate .pj-v88-site .public-union-line{font-size:15px!important;margin-top:8px!important}
#publicGate .pj-v88-site .public-save-date-line{
  margin-top:8px!important;
  font-size:clamp(20px,2vw,30px)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
#publicGate .pj-v88-site .pj-simple-hero-cta{
  margin-top:18px!important;
  min-height:50px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
#publicGate .pj-v88-site .pj-header-illustration{
  width:min(1080px,96vw)!important;
  max-width:100%!important;
  height:auto!important;
  display:block!important;
  margin:6px auto 0!important;
}
#publicGate .pj-v88-site .pj-rubric-section{
  padding:18px clamp(16px,4vw,48px) 10px!important;
}
#publicGate .pj-v88-site .public-section-shell{
  padding:0!important;
}
#publicGate .pj-v88-site .pj-rubric-heading{
  margin:0 0 14px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid rgba(24,52,123,.14)!important;
  display:block!important;
}
#publicGate .pj-v88-site .pj-rubric-heading > span{display:none!important}
#publicGate .pj-v88-site .pj-rubric-heading small{
  display:block!important;
  color:#18347B!important;
  font-family:var(--pj-serif)!important;
  font-size:clamp(26px,2.2vw,38px)!important;
  line-height:1.15!important;
}
#publicGate .pj-v88-site .pj-rubric-heading h2,
#publicGate .pj-v88-site .pj-rubric-heading p{display:none!important}
#publicGate .pj-v88-site .pj-deadline{
  display:block!important;
  margin-top:6px!important;
  color:#18347B!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
}
#publicGate .pj-v88-site .simple-form-intro,
#publicGate .pj-v88-site .pj-simple-family-bar,
#publicGate .pj-v88-site .public-prior-answer,
#publicGate .pj-v88-site .public-person-type,
#publicGate .pj-v88-site .public-lead,
#publicGate .pj-v88-site .pj-family-overview-strip,
#publicGate .pj-v88-site .public-party-response-head,
#publicGate .pj-v88-site .pj-family-overview,
#publicGate .pj-v88-site .save-date-required-note{display:none!important}
#publicGate .pj-v88-site .save-date-party-grid,
#publicGate .pj-v88-site .public-party-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
  gap:16px!important;
}
#publicGate .pj-v88-site .save-date-person,
#publicGate .pj-v88-site .public-party-person,
#publicGate .pj-v88-site .pj-program-item,
#publicGate .pj-v88-site .public-lodging-card,
#publicGate .pj-v88-site .pj-coming-card{
  border:1px solid rgba(24,52,123,.12)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 10px 24px rgba(24,52,123,.05)!important;
  border-radius:18px!important;
}
#publicGate .pj-v88-site .save-date-person,
#publicGate .pj-v88-site .public-party-person{
  padding:18px!important;
}
#publicGate .pj-v88-site .save-date-person-head,
#publicGate .pj-v88-site .public-party-person-head{
  margin-bottom:12px!important;
}
#publicGate .pj-v88-site .save-date-person-head strong,
#publicGate .pj-v88-site .public-party-person-head strong{
  display:block!important;
  color:#18347B!important;
  font-size:28px!important;
  font-weight:400!important;
}
#publicGate .pj-v88-site .save-date-options,
#publicGate .pj-v88-site .public-presence-options{
  gap:8px!important;
}
#publicGate .pj-v88-site .save-date-options span,
#publicGate .pj-v88-site .public-presence-options span{
  min-height:52px!important;
  padding:12px 12px!important;
  background:#fffdf8!important;
  border:1px solid rgba(24,52,123,.12)!important;
  font-size:13px!important;
}
#publicGate .pj-v88-site .public-person-contact,
#publicGate .pj-v88-site .simple-needs-details{
  margin-top:14px!important;
  border:1px solid rgba(24,52,123,.12)!important;
  border-radius:14px!important;
  background:#fffdf8!important;
}
#publicGate .pj-v88-site .public-person-contact summary,
#publicGate .pj-v88-site .simple-needs-details summary{
  padding:14px 16px!important;
}
#publicGate .pj-v88-site .public-contact-details-body{padding:0 16px 16px!important}
#publicGate .pj-v88-site .public-contact-copy-field,
#publicGate .pj-v88-site .public-party-fields input,
#publicGate .pj-v88-site .public-party-fields select,
#publicGate .pj-v88-site .public-party-fields textarea{
  background:#fff!important;
}
#publicGate .pj-v88-site .public-party-fields input,
#publicGate .pj-v88-site .public-party-fields select,
#publicGate .pj-v88-site .public-party-fields textarea{
  min-height:48px!important;
  border-radius:10px!important;
}
#publicGate .pj-v88-site .save-date-submit,
#publicGate .pj-v88-site .public-party-save{
  margin-top:18px!important;
  padding-top:6px!important;
  display:flex!important;
  justify-content:flex-end!important;
}
#publicGate .pj-v88-site .pj-program-list,
#publicGate .pj-v88-site .public-lodging-list,
#publicGate .pj-v88-site .public-nearby-lodgings{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  gap:14px!important;
}
#publicGate .pj-v88-site .pj-program-item,
#publicGate .pj-v88-site .public-lodging-card,
#publicGate .pj-v88-site .pj-coming-card{
  padding:18px!important;
}
#publicGate .pj-v88-site .pj-family-footer{
  padding:28px 16px 54px!important;
  text-align:center!important;
}
#publicGate .pj-v88-site .pj-family-footer .public-pj-frame,
#publicGate .pj-v88-site .pj-family-footer p,
#publicGate .pj-v88-site .pj-family-footer small{display:none!important}
#publicGate .pj-v88-site .public-web-footer strong{
  color:#18347B!important;
  font-size:22px!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.portal-visibility-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.portal-visibility-grid .check.card{
  margin:0;
  min-height:unset;
}
@media(max-width:760px){
  #publicGate .pj-v88-site .public-site-nav-inner{
    align-items:flex-start!important;
  }
  #publicGate .pj-v88-site .public-site-links{
    width:100%!important;
  }
  #publicGate .pj-v88-site .public-site-links a{
    padding:0 12px!important;
  }
  #publicGate .pj-v88-site .save-date-party-grid,
  #publicGate .pj-v88-site .public-party-list{
    grid-template-columns:1fr!important;
  }
  #publicGate .pj-v88-site .pj-header-illustration{
    width:100%!important;
  }
}

/* ========================================================================== */
/* V89 — ultra minimal, premium, fluide                                       */
/* ========================================================================== */
#publicGate .v89-site{
  --v89-blue:#18347B;
  --v89-green:#88952C;
  --v89-gold:#D8A82D;
  --v89-terracotta:#E29035;
  --v89-orange:#F06F16;
  --v89-ivory:#fbf7ed;
  --v89-paper:#fffdf8;
  --v89-line:rgba(24,52,123,.13);
  width:100%!important;
  min-height:100vh!important;
  background:var(--v89-ivory)!important;
  color:var(--v89-blue)!important;
  font-family:'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v89-site .v89-nav{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  width:100%!important;
  min-height:64px!important;
  border:0!important;
  border-bottom:1px solid rgba(24,52,123,.08)!important;
  background:rgba(251,247,237,.92)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:none!important;
}
#publicGate .v89-site .v89-nav .public-site-nav-inner{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  margin:0!important;
  padding:0 clamp(18px,4vw,70px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
#publicGate .v89-brand{
  flex:0 0 auto!important;
  color:var(--v89-blue)!important;
  text-decoration:none!important;
  font:400 20px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.12em!important;
}
#publicGate .v89-brand span,
#publicGate .v89-footer span{
  font-family:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive!important;
  color:var(--v89-orange)!important;
  letter-spacing:0!important;
}
#publicGate .v89-site .public-site-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:26px!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
#publicGate .v89-site .public-site-links::-webkit-scrollbar{display:none!important}
#publicGate .v89-site .public-site-links a{
  position:relative!important;
  flex:0 0 auto!important;
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  color:rgba(24,52,123,.68)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  text-decoration:none!important;
  font:400 11px/1.2 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  transition:color .18s ease!important;
}
#publicGate .v89-site .public-site-links a::after{
  content:''!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:13px!important;
  height:1px!important;
  background:var(--v89-orange)!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .2s ease!important;
}
#publicGate .v89-site .public-site-links a:hover,
#publicGate .v89-site .public-site-links a:focus-visible,
#publicGate .v89-site .public-site-links a.is-active{
  color:var(--v89-blue)!important;
  outline:none!important;
}
#publicGate .v89-site .public-site-links a.is-active::after,
#publicGate .v89-site .public-site-links a:hover::after{transform:scaleX(1)!important}
#publicGate .v89-hero{
  width:100%!important;
  min-height:calc(100svh - 64px)!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(20px,3vw,44px)!important;
  background:var(--v89-ivory)!important;
}
#publicGate .v89-hero img{
  display:block!important;
  width:min(1060px,94vw)!important;
  max-height:calc(100svh - 108px)!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 22px 40px rgba(24,52,123,.035))!important;
}
#publicGate .v89-content{
  width:100%!important;
  margin:0!important;
  background:var(--v89-ivory)!important;
}
#publicGate .v89-site .pj-rubric-section{
  width:100%!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid rgba(24,52,123,.075)!important;
  background:transparent!important;
}
#publicGate .v89-site .pj-rubric-section:nth-child(even){background:rgba(255,255,255,.18)!important}
#publicGate .v89-site .public-section-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(72px,8vw,130px) clamp(22px,7vw,132px)!important;
}
#publicGate .v89-section-title{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 clamp(28px,4vw,52px)!important;
}
#publicGate .v89-section-title h2{
  margin:0!important;
  color:var(--v89-blue)!important;
  font:400 clamp(38px,4.5vw,72px)/.98 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:-.015em!important;
}
#publicGate .v89-section-title small{
  flex:0 0 auto!important;
  color:rgba(24,52,123,.58)!important;
  font:400 11px/1.3 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#publicGate .v89-form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#publicGate .v89-form .save-date-party-grid,
#publicGate .v89-form .public-party-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:1px!important;
  border-top:1px solid var(--v89-line)!important;
  border-left:1px solid var(--v89-line)!important;
}
#publicGate .v89-form .save-date-person,
#publicGate .v89-form .public-party-person{
  min-width:0!important;
  margin:0!important;
  padding:26px!important;
  border:0!important;
  border-right:1px solid var(--v89-line)!important;
  border-bottom:1px solid var(--v89-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.32)!important;
  box-shadow:none!important;
}
#publicGate .v89-form .save-date-person>header,
#publicGate .v89-form .public-party-person>header{
  margin:0 0 18px!important;
}
#publicGate .v89-form .save-date-person>header strong,
#publicGate .v89-form .public-party-person>header strong{
  color:var(--v89-blue)!important;
  font:400 28px/1.1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v89-form .save-date-options,
#publicGate .v89-form .public-presence-options{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:7px!important;
}
#publicGate .v89-form .save-date-options label,
#publicGate .v89-form .public-presence-options label{margin:0!important}
#publicGate .v89-form .save-date-options span,
#publicGate .v89-form .public-presence-options span{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 10px!important;
  border:1px solid rgba(24,52,123,.13)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.62)!important;
  color:var(--v89-blue)!important;
  font:400 12px/1.2 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  box-shadow:none!important;
  transition:all .15s ease!important;
}
#publicGate .v89-form .save-date-options input:checked+span,
#publicGate .v89-form .public-presence-options input:checked+span{
  border-color:var(--v89-blue)!important;
  background:var(--v89-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#publicGate .v89-site .public-person-contact,
#publicGate .v89-site .simple-needs-details{
  margin:16px 0 0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid rgba(24,52,123,.1)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#publicGate .v89-site .public-person-contact summary,
#publicGate .v89-site .simple-needs-details summary{
  min-height:46px!important;
  padding:14px 0!important;
  color:var(--v89-blue)!important;
  cursor:pointer!important;
  list-style:none!important;
  font:400 12px/1.3 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.05em!important;
}
#publicGate .v89-site .public-person-contact summary::-webkit-details-marker,
#publicGate .v89-site .simple-needs-details summary::-webkit-details-marker{display:none!important}
#publicGate .v89-site .public-person-contact summary::after,
#publicGate .v89-site .simple-needs-details summary::after{
  content:'+'!important;
  float:right!important;
  color:var(--v89-orange)!important;
  font-size:18px!important;
}
#publicGate .v89-site .public-person-contact[open] summary::after,
#publicGate .v89-site .simple-needs-details[open] summary::after{content:'−'!important}
#publicGate .v89-site .public-contact-details-body{padding:4px 0 8px!important}
#publicGate .v89-site .public-contact-copy-field{
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#publicGate .v89-site .public-party-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#publicGate .v89-site .public-address-field{grid-column:1/-1!important}
#publicGate .v89-site .field .fl{
  margin-bottom:6px!important;
  color:rgba(24,52,123,.65)!important;
  font-size:10px!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
#publicGate .v89-site input,
#publicGate .v89-site select,
#publicGate .v89-site textarea{
  min-height:46px!important;
  border:1px solid rgba(24,52,123,.13)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--v89-blue)!important;
  box-shadow:none!important;
}
#publicGate .v89-site input:focus,
#publicGate .v89-site select:focus,
#publicGate .v89-site textarea:focus{
  border-color:var(--v89-blue)!important;
  outline:1px solid rgba(24,52,123,.12)!important;
  outline-offset:1px!important;
}
#publicGate .v89-form-action{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:24px!important;
}
#publicGate .v89-site .btn.primary,
#publicGate .v89-form-action .btn{
  min-height:48px!important;
  padding:0 26px!important;
  border-radius:0!important;
  border:1px solid var(--v89-blue)!important;
  background:var(--v89-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font:400 11px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
#publicGate .v89-site .btn.primary:hover,
#publicGate .v89-form-action .btn:hover{
  border-color:var(--v89-orange)!important;
  background:var(--v89-orange)!important;
}
#publicGate .v89-site .pj-program-list{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#publicGate .v89-site .pj-program-item{
  display:grid!important;
  grid-template-columns:minmax(90px,150px) minmax(0,1fr)!important;
  gap:clamp(22px,4vw,70px)!important;
  padding:26px 0!important;
  border:0!important;
  border-bottom:1px solid var(--v89-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#publicGate .v89-site .pj-program-item time{
  color:var(--v89-orange)!important;
  font:400 11px/1.5 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#publicGate .v89-site .pj-program-item h3{
  margin:0!important;
  color:var(--v89-blue)!important;
  font:400 26px/1.15 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v89-site .pj-program-item span,
#publicGate .v89-site .pj-program-item p{
  color:rgba(24,52,123,.68)!important;
}
#publicGate .v89-site .public-lodging-list,
#publicGate .v89-site .public-nearby-lodgings{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:14px!important;
}
#publicGate .v89-site .public-lodging-card{
  padding:22px!important;
  border:1px solid var(--v89-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.38)!important;
  box-shadow:none!important;
}
#publicGate .v89-site .public-lodging-card h3{
  color:var(--v89-blue)!important;
  font:400 24px/1.15 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v89-coming{
  padding:36px 0!important;
  color:rgba(24,52,123,.55)!important;
  border-top:1px solid var(--v89-line)!important;
  font:400 18px/1.4 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v89-footer{
  width:100%!important;
  padding:58px 24px 68px!important;
  text-align:center!important;
  color:var(--v89-blue)!important;
  border-top:1px solid rgba(24,52,123,.075)!important;
  font:400 22px/1.2 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
#publicGate .v89-reveal{
  opacity:0!important;
  transform:translateY(14px)!important;
  transition:opacity .45s ease,transform .45s ease!important;
}
#publicGate .v89-reveal.is-visible{
  opacity:1!important;
  transform:none!important;
}
@media(max-width:760px){
  #publicGate .v89-site .v89-nav .public-site-nav-inner{
    min-height:112px!important;
    padding:8px 12px 0!important;
    display:block!important;
  }
  #publicGate .v89-brand{
    height:34px!important;
    display:flex!important;
    align-items:center!important;
  }
  #publicGate .v89-site .public-site-links{
    width:100%!important;
    justify-content:flex-start!important;
    gap:22px!important;
  }
  #publicGate .v89-site .public-site-links a{min-height:70px!important}
  #publicGate .v89-hero{min-height:calc(100svh - 112px)!important;padding:14px!important}
  #publicGate .v89-hero img{width:100%!important;max-height:calc(100svh - 140px)!important}
  #publicGate .v89-site .public-section-shell{padding:64px 16px!important}
  #publicGate .v89-section-title{align-items:flex-start!important;flex-direction:column!important}
  #publicGate .v89-section-title h2{font-size:42px!important}
  #publicGate .v89-form .save-date-party-grid,
  #publicGate .v89-form .public-party-list{grid-template-columns:1fr!important}
  #publicGate .v89-site .public-party-fields{grid-template-columns:1fr!important}
  #publicGate .v89-site .public-address-field{grid-column:auto!important}
  #publicGate .v89-site .pj-program-item{grid-template-columns:1fr!important;gap:6px!important}
  #publicGate .v89-site .public-lodging-list,
  #publicGate .v89-site .public-nearby-lodgings{grid-template-columns:1fr!important}
  #publicGate .v89-form-action .btn{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
  #publicGate .v89-reveal{opacity:1!important;transform:none!important;transition:none!important}
  #publicGate .v89-site *{scroll-behavior:auto!important}
}

/* ========================================================================== */
/* V90 — Back office invité : pilotage simple et lisible                      */
/* ========================================================================== */
.guest-portal-modal-v90{
  width:min(1180px,calc(100vw - 40px))!important;
  max-width:1180px!important;
  max-height:min(920px,94vh)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.guest-portal-v90-head{
  min-height:86px!important;
  padding:18px 22px!important;
  align-items:center!important;
  border-bottom:1px solid var(--jj-line)!important;
  background:#fff!important;
}
.guest-portal-v90-head h3{margin:3px 0 0!important;font-size:24px!important}
.guest-portal-v90-head p{margin:5px 0 0!important;color:var(--muted)!important;font-size:12px!important;line-height:1.5!important}
.guest-portal-v90-head-actions{display:flex!important;align-items:center!important;gap:8px!important}
.guest-portal-v90-body{
  padding:18px!important;
  background:#f7f7f5!important;
  overflow:auto!important;
  display:grid!important;
  gap:14px!important;
}
.guest-portal-v90-footer{
  min-height:68px!important;
  padding:12px 18px!important;
  border-top:1px solid var(--jj-line)!important;
  background:#fff!important;
}
.portal-control-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:14px!important;
}
.portal-admin-card,
.portal-editor-card{
  border:1px solid #e5e5e2!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(18,24,38,.025)!important;
}
.portal-admin-card{padding:16px!important}
.portal-admin-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.portal-admin-card-head h4{margin:3px 0 0!important;font-size:17px!important}
.portal-admin-card-head p{margin:6px 0 0!important;max-width:720px!important;color:var(--muted)!important;font-size:11.5px!important;line-height:1.5!important}
.portal-phase-v90{margin:0!important}
.portal-phase-v90 select{height:44px!important;background:#fff!important}
.portal-publication-note{
  display:grid!important;
  gap:3px!important;
  margin-top:12px!important;
  padding:11px 12px!important;
  border-radius:10px!important;
  background:#f6f8fb!important;
  border:1px solid #e1e7f0!important;
}
.portal-publication-note strong{font-size:11.5px!important;color:var(--text)!important}
.portal-publication-note span{font-size:10.5px!important;color:var(--muted)!important;line-height:1.45!important}
.portal-summary-card{display:flex!important;flex-direction:column!important}
.portal-summary-kpis{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.portal-summary-kpi{
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid #ececea!important;
  border-radius:10px!important;
  background:#fafaf9!important;
}
.portal-summary-kpi strong{display:block!important;font-size:18px!important;line-height:1.05!important;color:var(--text)!important}
.portal-summary-kpi span{display:block!important;margin-top:4px!important;color:var(--muted)!important;font-size:9.5px!important;line-height:1.3!important}
.portal-summary-card>.btn{margin-top:auto!important;align-self:flex-start!important}
.portal-visibility-card{padding:16px!important}
.portal-visibility-list{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.portal-visibility-row{
  position:relative!important;
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 12px!important;
  border:1px solid #e7e7e4!important;
  border-radius:11px!important;
  background:#fff!important;
  cursor:pointer!important;
  user-select:none!important;
}
.portal-visibility-row:hover{border-color:#ccd4e4!important;background:#fbfcff!important}
.portal-visibility-row>div{min-width:0!important;display:grid!important;gap:3px!important}
.portal-visibility-row strong{font-size:12px!important;color:var(--text)!important;line-height:1.25!important}
.portal-visibility-row small{font-size:9.5px!important;color:var(--muted)!important;line-height:1.35!important}
.portal-visibility-row input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.portal-switch-ui{
  position:relative!important;
  width:40px!important;
  height:24px!important;
  border-radius:999px!important;
  background:#d9dce2!important;
  transition:.15s ease!important;
}
.portal-switch-ui:after{
  content:''!important;
  position:absolute!important;
  width:18px!important;
  height:18px!important;
  left:3px!important;
  top:3px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.18)!important;
  transition:.15s ease!important;
}
.portal-visibility-row input:checked+.portal-switch-ui{background:#18347B!important}
.portal-visibility-row input:checked+.portal-switch-ui:after{transform:translateX(16px)!important}
.portal-visibility-row input:focus-visible+.portal-switch-ui{outline:3px solid rgba(24,52,123,.15)!important;outline-offset:2px!important}
.portal-editor-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.portal-editor-card{overflow:hidden!important;padding:0!important}
.portal-editor-card>summary,
.portal-links-card-v90>summary{
  list-style:none!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:13px 15px!important;
  cursor:pointer!important;
}
.portal-editor-card>summary::-webkit-details-marker,
.portal-links-card-v90>summary::-webkit-details-marker{display:none!important}
.portal-editor-card>summary>div,
.portal-links-card-v90>summary>div{min-width:0!important;display:grid!important;gap:2px!important}
.portal-editor-card>summary strong,
.portal-links-card-v90>summary strong{font-size:14px!important;color:var(--text)!important}
.portal-links-card-v90>summary small{color:var(--muted)!important;font-size:10px!important}
.portal-editor-chevron{font-size:16px!important;color:var(--muted)!important;transition:transform .15s ease!important}
details[open]>.portal-editor-chevron,
details[open]>summary .portal-editor-chevron{transform:rotate(180deg)!important}
.portal-editor-body{
  padding:0 15px 15px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  border-top:1px solid #f0f0ed!important;
}
.portal-editor-body>.field:first-child{padding-top:14px!important}
.portal-editor-body textarea{min-height:82px!important;resize:vertical!important}
.portal-module-card{padding:0!important;display:flex!important;align-items:stretch!important}
.portal-module-card-head{
  width:100%!important;
  min-height:92px!important;
  padding:14px 15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.portal-module-card-head>div{display:grid!important;gap:3px!important;min-width:0!important}
.portal-module-card-head strong{font-size:14px!important;color:var(--text)!important}
.portal-module-card-head small{font-size:10px!important;color:var(--muted)!important;line-height:1.35!important}
.portal-links-card-v90{padding:0!important;overflow:hidden!important}
.portal-links-body{padding:0 15px 15px!important;border-top:1px solid #f0f0ed!important}
.portal-links-toolbar{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:12px 0!important}
.portal-links-card-v90 .portal-code-list{display:grid!important;gap:8px!important}
.portal-links-card-v90 .portal-short-row{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 11px!important;
  border:1px solid #ececea!important;
  border-radius:10px!important;
  background:#fafaf9!important;
}
.portal-links-card-v90 .portal-short-identity{min-width:0!important}
.portal-links-card-v90 .portal-short-identity strong{display:block!important;font-size:11.5px!important}
.portal-links-card-v90 .portal-short-identity small{font-size:9.5px!important;color:var(--muted)!important}
.portal-links-card-v90 code{font-size:10px!important;color:#18347B!important;background:#eef2f8!important;border-radius:6px!important;padding:6px 8px!important}
.portal-links-card-v90 .portal-short-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
/* Le cockpit de la page Invités reste volontairement très compact. */
#guestPortalStatus .guest-portal-v90-status{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:14px 16px!important;
  border:1px solid var(--jj-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.guest-portal-v90-status-main{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.guest-portal-v90-status-copy{display:grid!important;gap:2px!important;min-width:0!important}
.guest-portal-v90-status-copy strong{font-size:13px!important}
.guest-portal-v90-status-copy span{font-size:10.5px!important;color:var(--muted)!important;line-height:1.35!important}
.guest-portal-v90-visible{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin-top:5px!important}
.guest-portal-v90-visible b{padding:3px 7px!important;border-radius:999px!important;background:#f2f4f7!important;color:#555!important;font-size:9px!important;font-weight:650!important}
.guest-portal-v90-visible b.on{background:#edf3ff!important;color:#18347B!important}
.guest-portal-v90-status-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
@media(max-width:900px){
  .guest-portal-modal-v90{width:calc(100vw - 18px)!important;max-height:96vh!important;border-radius:14px!important}
  .portal-control-grid,.portal-editor-grid{grid-template-columns:1fr!important}
  .portal-visibility-list{grid-template-columns:1fr!important}
  .portal-links-card-v90 .portal-short-row{grid-template-columns:1fr!important}
  .portal-links-card-v90 .portal-short-actions{justify-content:flex-start!important}
  #guestPortalStatus .guest-portal-v90-status{align-items:flex-start!important;flex-direction:column!important}
  .guest-portal-v90-status-actions{justify-content:flex-start!important}
}
@media(max-width:560px){
  .guest-portal-v90-head{padding:14px!important}
  .guest-portal-v90-head p{display:none!important}
  .guest-portal-v90-head-actions .btn{display:none!important}
  .guest-portal-v90-body{padding:10px!important;gap:10px!important}
  .portal-admin-card{padding:13px!important}
  .portal-summary-kpis{grid-template-columns:1fr 1fr!important}
  .portal-visibility-row{min-height:58px!important}
  .guest-portal-v90-footer{padding:10px!important}
  .guest-portal-v90-footer .btn{flex:1!important}
}

/* ========================================================================== */
/* V91 — Front office invité refait de zéro : simple, harmonieux, lisible     */
/* ========================================================================== */
#publicGate .v91-site{
  --v91-blue:#18347B;
  --v91-green:#88952C;
  --v91-gold:#D8A82D;
  --v91-orange-soft:#E29035;
  --v91-orange:#F06F16;
  --v91-paper:#FBF7ED;
  --v91-ink:#18347B;
  --v91-line:rgba(24,52,123,.14);
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  background:var(--v91-paper)!important;
  color:var(--v91-ink)!important;
  font-family:'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v91-site *{box-sizing:border-box!important}
#publicGate .v91-nav{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  width:100%!important;
  min-height:68px!important;
  padding:0 clamp(18px,4vw,64px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  border-bottom:1px solid var(--v91-line)!important;
  background:rgba(251,247,237,.96)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
#publicGate .v91-home{
  flex:0 0 auto!important;
  color:var(--v91-blue)!important;
  text-decoration:none!important;
  font:400 20px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.05em!important;
}
#publicGate .v91-home span{
  display:inline-block!important;
  margin:0 .16em!important;
  color:var(--v91-orange)!important;
  font-family:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive!important;
  font-size:1.2em!important;
  text-transform:none!important;
}
#publicGate .v91-nav>div{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
#publicGate .v91-nav>div>a{
  min-height:38px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  color:var(--v91-blue)!important;
  text-decoration:none!important;
  font:400 11px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:background .15s ease,color .15s ease!important;
}
#publicGate .v91-nav>div>a:hover,
#publicGate .v91-nav>div>a:focus-visible{
  background:rgba(24,52,123,.06)!important;
  outline:none!important;
}
#publicGate .v91-nav>div>a.is-active{
  background:var(--v91-blue)!important;
  color:#fff!important;
}
#publicGate .v91-hero{
  width:100%!important;
  min-height:calc(100vh - 68px)!important;
  padding:clamp(22px,4vw,54px)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#fffdf8!important;
  border-bottom:1px solid var(--v91-line)!important;
}
#publicGate .v91-hero img{
  display:block!important;
  width:min(1120px,94vw)!important;
  max-width:100%!important;
  max-height:calc(100vh - 120px)!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#publicGate .v91-main{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#publicGate .v91-section{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--v91-paper)!important;
  border-bottom:1px solid var(--v91-line)!important;
  scroll-margin-top:88px!important;
}
#publicGate .v91-section:nth-child(even){background:#fffaf2!important}
#publicGate .v91-shell{
  width:min(1420px,calc(100% - clamp(36px,8vw,120px)))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:clamp(58px,7vw,104px) 0!important;
}
#publicGate .v91-title{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 30px!important;
  padding:0 0 15px!important;
  border-bottom:1px solid var(--v91-line)!important;
}
#publicGate .v91-title h2{
  margin:0!important;
  color:var(--v91-blue)!important;
  font:400 clamp(38px,4.6vw,68px)/.98 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:-.015em!important;
}
#publicGate .v91-title small{
  padding-bottom:5px!important;
  color:var(--v91-orange)!important;
  font:400 11px/1.25 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#publicGate .v91-people{
  width:100%!important;
  display:grid!important;
  gap:0!important;
  border-top:1px solid var(--v91-line)!important;
}
#publicGate .v91-person{
  padding:24px 0!important;
  border-bottom:1px solid var(--v91-line)!important;
  background:transparent!important;
  transition:background .15s ease!important;
}
#publicGate .v91-person.v91-needs-answer{
  background:rgba(240,111,22,.06)!important;
}
#publicGate .v91-person-top{
  display:grid!important;
  grid-template-columns:minmax(180px,.55fr) minmax(360px,1fr)!important;
  align-items:center!important;
  gap:26px!important;
}
#publicGate .v91-person h3{
  margin:0!important;
  color:var(--v91-blue)!important;
  font:400 clamp(25px,2.3vw,36px)/1.1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v91-choice{
  display:grid!important;
  gap:8px!important;
}
#publicGate .v91-choice-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#publicGate .v91-choice-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#publicGate .v91-choice label{
  margin:0!important;
  cursor:pointer!important;
}
#publicGate .v91-choice input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
#publicGate .v91-choice span{
  min-height:48px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(24,52,123,.16)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.64)!important;
  color:var(--v91-blue)!important;
  font:400 13px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  transition:all .15s ease!important;
}
#publicGate .v91-choice input:checked+span{
  border-color:var(--v91-blue)!important;
  background:var(--v91-blue)!important;
  color:#fff!important;
}
#publicGate .v91-contact,
#publicGate .v91-details{
  width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  border:0!important;
  border-top:1px dashed rgba(24,52,123,.16)!important;
  border-radius:0!important;
  background:transparent!important;
}
#publicGate .v91-contact summary,
#publicGate .v91-details summary{
  min-height:44px!important;
  padding:12px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:rgba(24,52,123,.72)!important;
  cursor:pointer!important;
  list-style:none!important;
  font:400 12px/1.2 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-contact summary::-webkit-details-marker,
#publicGate .v91-details summary::-webkit-details-marker{display:none!important}
#publicGate .v91-contact summary::after,
#publicGate .v91-details summary::after{
  content:'+'!important;
  color:var(--v91-orange)!important;
  font-size:20px!important;
  line-height:1!important;
}
#publicGate .v91-contact[open] summary::after,
#publicGate .v91-details[open] summary::after{content:'−'!important}
#publicGate .v91-contact-body,
#publicGate .v91-details-body{
  padding:2px 0 8px!important;
}
#publicGate .v91-copy-contact{
  max-width:360px!important;
  margin:0 0 12px!important;
}
#publicGate .v91-contact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#publicGate .v91-address{grid-column:1/-1!important}
#publicGate .v91-site .field .fl{
  display:block!important;
  margin:0 0 6px!important;
  color:rgba(24,52,123,.64)!important;
  font:400 10px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-site input,
#publicGate .v91-site select,
#publicGate .v91-site textarea{
  width:100%!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid rgba(24,52,123,.15)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.74)!important;
  color:var(--v91-blue)!important;
  box-shadow:none!important;
  font:400 13px/1.35 var(--font-ui,Arial,sans-serif)!important;
}
#publicGate .v91-site input:focus,
#publicGate .v91-site select:focus,
#publicGate .v91-site textarea:focus{
  border-color:var(--v91-blue)!important;
  outline:2px solid rgba(24,52,123,.08)!important;
  outline-offset:1px!important;
}
#publicGate .v91-submit{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:24px!important;
}
#publicGate .v91-submit .btn.primary{
  min-height:50px!important;
  padding:0 28px!important;
  border:1px solid var(--v91-blue)!important;
  border-radius:999px!important;
  background:var(--v91-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  font:400 11px/1 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-submit .btn.primary:hover,
#publicGate .v91-submit .btn.primary:focus-visible{
  border-color:var(--v91-orange)!important;
  background:var(--v91-orange)!important;
  outline:none!important;
}
#publicGate .v91-program{
  width:100%!important;
  display:grid!important;
  gap:0!important;
  border-top:1px solid var(--v91-line)!important;
}
#publicGate .v91-program-row{
  display:grid!important;
  grid-template-columns:minmax(110px,170px) minmax(0,1fr)!important;
  gap:clamp(24px,4vw,68px)!important;
  padding:25px 0!important;
  border-bottom:1px solid var(--v91-line)!important;
}
#publicGate .v91-program-row time{
  padding-top:4px!important;
  color:var(--v91-orange)!important;
  font:400 11px/1.5 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-program-row h3{
  margin:0!important;
  color:var(--v91-blue)!important;
  font:400 28px/1.15 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v91-program-row span{
  display:block!important;
  margin-top:5px!important;
  color:var(--v91-green)!important;
  font-weight:600!important;
}
#publicGate .v91-program-row p{
  max-width:760px!important;
  margin:8px 0 0!important;
  color:rgba(24,52,123,.68)!important;
  font:400 14px/1.65 var(--font-ui,Arial,sans-serif)!important;
}
#publicGate .v91-program-row a{
  display:inline-block!important;
  margin-top:8px!important;
  color:var(--v91-orange)!important;
  text-decoration:none!important;
}
#publicGate .v91-lodgings{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:14px!important;
}
#publicGate .v91-lodging{
  min-width:0!important;
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  border:1px solid var(--v91-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.55)!important;
}
#publicGate .v91-lodging h3{
  margin:0!important;
  color:var(--v91-blue)!important;
  font:400 27px/1.12 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v91-lodging strong{
  display:block!important;
  margin-top:8px!important;
  color:var(--v91-orange-soft)!important;
  font-size:11px!important;
  letter-spacing:.05em!important;
}
#publicGate .v91-lodging p{
  margin:7px 0 0!important;
  color:rgba(24,52,123,.7)!important;
  font:400 13px/1.55 var(--font-ui,Arial,sans-serif)!important;
}
#publicGate .v91-link-button{
  margin-top:auto!important;
  min-height:42px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-start!important;
  border:1px solid var(--v91-blue)!important;
  border-radius:999px!important;
  color:var(--v91-blue)!important;
  text-decoration:none!important;
  font-size:11px!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
#publicGate .v91-link-button:hover,
#publicGate .v91-link-button:focus-visible{
  background:var(--v91-blue)!important;
  color:#fff!important;
  outline:none!important;
}
#publicGate .v91-empty{
  padding:24px 0!important;
  color:rgba(24,52,123,.5)!important;
  font:400 18px/1.4 'Didot LP','Didot','Bodoni MT','Times New Roman',serif!important;
}
#publicGate .v91-footer{
  width:100%!important;
  min-height:150px!important;
  padding:42px 24px!important;
  display:grid!important;
  place-items:center!important;
  background:#fffaf2!important;
  color:var(--v91-blue)!important;
}
#publicGate .v91-footer span{
  font:400 24px/1 'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive!important;
  letter-spacing:.02em!important;
}
#publicGate .v91-site .public-lodging-options{
  margin-top:10px!important;
}
#publicGate .v91-site .public-lodging-choice-help{
  display:block!important;
  margin-top:7px!important;
  color:rgba(24,52,123,.55)!important;
  font-size:10.5px!important;
}
#publicGate .v91-site .public-lodging-choice-help a{
  color:var(--v91-orange)!important;
}
#publicGate .v91-site .public-result{
  margin-top:14px!important;
  border-radius:10px!important;
}
@media(max-width:900px){
  #publicGate .v91-nav{
    min-height:104px!important;
    padding:9px 14px 0!important;
    display:block!important;
    overflow:hidden!important;
  }
  #publicGate .v91-home{
    height:34px!important;
    display:flex!important;
    align-items:center!important;
  }
  #publicGate .v91-nav>div{
    width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:4px!important;
    scrollbar-width:none!important;
  }
  #publicGate .v91-nav>div::-webkit-scrollbar{display:none!important}
  #publicGate .v91-nav>div>a{
    flex:0 0 auto!important;
    min-height:56px!important;
  }
  #publicGate .v91-hero{
    min-height:calc(100svh - 104px)!important;
    padding:16px!important;
  }
  #publicGate .v91-hero img{max-height:calc(100svh - 136px)!important}
  #publicGate .v91-person-top{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}
@media(max-width:620px){
  #publicGate .v91-shell{
    width:calc(100% - 28px)!important;
    padding:48px 0!important;
  }
  #publicGate .v91-title{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:7px!important;
  }
  #publicGate .v91-title h2{font-size:40px!important}
  #publicGate .v91-choice-three{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  #publicGate .v91-contact-grid{
    grid-template-columns:1fr!important;
  }
  #publicGate .v91-address{grid-column:auto!important}
  #publicGate .v91-program-row{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  #publicGate .v91-lodgings{
    grid-template-columns:1fr!important;
  }
  #publicGate .v91-submit .btn.primary{
    width:100%!important;
  }
}

/* ========================================================================== */
/* V92 — sans image, Didot LP + Citadel Script                                */
/* ========================================================================== */
#publicGate .v92-site{
  --v92-blue:#18347B;
  --v92-green:#88952C;
  --v92-gold:#D8A82D;
  --v92-orange-soft:#E29035;
  --v92-orange:#F06F16;
  --v92-paper:#fbf7ed;
  --v92-serif:'Didot LP',serif;
  --v92-script:'Citadel Script',cursive;
  width:100%!important;
  max-width:none!important;
  background:var(--v92-paper)!important;
  color:var(--v92-blue)!important;
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-site,
#publicGate .v92-site button,
#publicGate .v92-site input,
#publicGate .v92-site select,
#publicGate .v92-site textarea,
#publicGate .v92-site a,
#publicGate .v92-site p,
#publicGate .v92-site span,
#publicGate .v92-site small,
#publicGate .v92-site strong,
#publicGate .v92-site h1,
#publicGate .v92-site h2,
#publicGate .v92-site h3,
#publicGate .v92-site label,
#publicGate .v92-site time{
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-nav{
  background:rgba(251,247,237,.97)!important;
  border-bottom:1px solid rgba(24,52,123,.14)!important;
  box-shadow:none!important;
}
#publicGate .v92-home{
  font-family:var(--v92-serif)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#publicGate .v92-home span{
  font-family:var(--v92-script)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#publicGate .v92-nav>div>a{
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-hero{
  width:100%!important;
  min-height:min(640px,72vh)!important;
  padding:clamp(56px,8vw,112px) clamp(22px,5vw,80px)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  background:var(--v92-paper)!important;
  border-bottom:1px solid rgba(24,52,123,.14)!important;
  overflow:hidden!important;
}
#publicGate .v92-hero::before,
#publicGate .v92-hero::after{
  content:''!important;
  position:absolute!important;
  left:clamp(20px,4vw,58px)!important;
  right:clamp(20px,4vw,58px)!important;
  height:1px!important;
  background:var(--v92-blue)!important;
  opacity:.68!important;
}
#publicGate .v92-hero::before{top:clamp(22px,3vw,44px)!important}
#publicGate .v92-hero::after{bottom:clamp(22px,3vw,44px)!important}
#publicGate .v92-hero-inner{
  width:min(980px,100%)!important;
  text-align:center!important;
  position:relative!important;
  z-index:1!important;
}
#publicGate .v92-script{
  display:block!important;
  margin:0 0 26px!important;
  color:var(--v92-blue)!important;
  font-family:var(--v92-script)!important;
  font-size:clamp(42px,5vw,78px)!important;
  line-height:1!important;
  letter-spacing:0!important;
}
#publicGate .v92-hero h1{
  margin:0!important;
  color:var(--v92-blue)!important;
  font-family:var(--v92-serif)!important;
  font-size:clamp(42px,6vw,86px)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:.14em!important;
}
#publicGate .v92-hero h1 em{
  display:inline-block!important;
  margin:0 .22em!important;
  font-family:var(--v92-script)!important;
  font-size:.64em!important;
  font-style:normal!important;
  letter-spacing:0!important;
  text-transform:lowercase!important;
}
#publicGate .v92-hero p{
  margin:22px 0 0!important;
  color:var(--v92-blue)!important;
  font-size:15px!important;
  letter-spacing:.04em!important;
}
#publicGate .v92-hero strong{
  display:block!important;
  margin-top:16px!important;
  color:var(--v92-blue)!important;
  font-size:clamp(19px,2vw,30px)!important;
  font-weight:400!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
}
#publicGate .v92-hero i{
  display:block!important;
  margin-top:32px!important;
  color:var(--v92-orange)!important;
  font-family:var(--v92-serif)!important;
  font-size:28px!important;
  font-style:normal!important;
}
#publicGate .v92-main{
  background:var(--v92-paper)!important;
}
#publicGate .v92-section:nth-child(even){
  background:#fffaf2!important;
}
#publicGate .v92-shell{
  width:100%!important;
  max-width:none!important;
  padding:clamp(44px,6vw,86px) clamp(24px,6vw,110px)!important;
}
#publicGate .v92-title{
  margin:0 0 24px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(24,52,123,.16)!important;
}
#publicGate .v92-title h2{
  font-family:var(--v92-serif)!important;
  font-size:clamp(34px,3.4vw,54px)!important;
  font-weight:400!important;
  letter-spacing:.015em!important;
}
#publicGate .v92-title small{
  color:var(--v92-orange)!important;
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-site .v91-person h3,
#publicGate .v92-site .v91-program-row h3,
#publicGate .v92-site .v91-lodging h3,
#publicGate .v92-site .v91-empty{
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-site .v91-choice span,
#publicGate .v92-site .v91-contact summary,
#publicGate .v92-site .v91-details summary,
#publicGate .v92-site .field .fl,
#publicGate .v92-site .v91-submit .btn.primary,
#publicGate .v92-site .v91-program-row time{
  font-family:var(--v92-serif)!important;
}
#publicGate .v92-site input,
#publicGate .v92-site select,
#publicGate .v92-site textarea{
  font-family:var(--v92-serif)!important;
  font-size:15px!important;
}
#publicGate .v92-footer span{
  font-family:var(--v92-script)!important;
  font-size:32px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
@media(max-width:760px){
  #publicGate .v92-hero{
    min-height:520px!important;
    padding:72px 20px!important;
  }
  #publicGate .v92-script{
    font-size:48px!important;
  }
  #publicGate .v92-hero h1{
    font-size:38px!important;
    letter-spacing:.08em!important;
  }
  #publicGate .v92-hero h1 em{
    display:block!important;
    margin:.2em 0!important;
  }
  #publicGate .v92-hero strong{
    font-size:16px!important;
    letter-spacing:.14em!important;
  }
}

/* ========================================================================== */
/* V93 — Wedding website éditorial                                            */
/* ========================================================================== */
#publicGate .v93-site{
  --v93-blue:#18347B;
  --v93-green:#88952C;
  --v93-gold:#D8A82D;
  --v93-orange-soft:#E29035;
  --v93-orange:#F06F16;
  --v93-paper:#FBF7ED;
  --v93-serif:'Didot LP','Didot','Bodoni MT','Times New Roman',serif;
  --v93-script:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  background:var(--v93-paper)!important;
  color:var(--v93-blue)!important;
  font-family:var(--v93-serif)!important;
}
#publicGate .v93-site *,#publicGate .v93-site input,#publicGate .v93-site select,#publicGate .v93-site textarea,#publicGate .v93-site button{box-sizing:border-box!important;font-family:var(--v93-serif)!important}
#publicGate .v93-nav{
  position:sticky!important;top:0!important;z-index:50!important;
  min-height:74px!important;padding:0 clamp(18px,4vw,64px)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;
  background:rgba(251,247,237,.94)!important;border-bottom:1px solid rgba(24,52,123,.12)!important;
  backdrop-filter:blur(14px)!important;
}
#publicGate .v93-brand{display:flex!important;align-items:baseline!important;gap:8px!important;color:var(--v93-blue)!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:13px!important}
#publicGate .v93-brand em,#publicGate .v93-footer em{font-family:var(--v93-script)!important;font-style:normal!important;text-transform:none!important;letter-spacing:0!important;font-size:1.7em!important;color:var(--v93-orange)!important}
#publicGate .v93-nav>div{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#publicGate .v93-nav>div>a{padding:10px 13px!important;border-radius:999px!important;color:var(--v93-blue)!important;text-decoration:none!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;transition:.2s ease!important}
#publicGate .v93-nav>div>a:hover,#publicGate .v93-nav>div>a:focus-visible{background:rgba(24,52,123,.06)!important;outline:none!important}
#publicGate .v93-nav>div>a.is-active{background:var(--v93-blue)!important;color:#fff!important}
#publicGate .v93-hero{position:relative!important;min-height:calc(100svh - 74px)!important;display:grid!important;place-items:center!important;padding:70px 24px!important;background:var(--v93-paper)!important;isolation:isolate!important}
#publicGate .v93-orbit{position:absolute!important;inset:8% 8%!important;border:1px solid rgba(24,52,123,.28)!important;border-radius:50%!important;transform:rotate(-3deg)!important;z-index:-1!important}
#publicGate .v93-orbit::before,#publicGate .v93-orbit::after{content:''!important;position:absolute!important;width:26px!important;height:110px!important;border-radius:60% 10% 60% 10%!important;background:var(--v93-green)!important;opacity:.9!important}
#publicGate .v93-orbit::before{left:7%!important;bottom:10%!important;transform:rotate(-34deg)!important}
#publicGate .v93-orbit::after{right:8%!important;top:12%!important;transform:rotate(34deg)!important;background:var(--v93-orange-soft)!important}
#publicGate .v93-orbit i{position:absolute!important;width:12px!important;height:12px!important;border-radius:50%!important;background:var(--v93-gold)!important}
#publicGate .v93-orbit i:nth-child(1){left:22%!important;top:4%!important}#publicGate .v93-orbit i:nth-child(2){right:16%!important;bottom:10%!important;background:var(--v93-orange)!important}#publicGate .v93-orbit i:nth-child(3){left:12%!important;bottom:28%!important;background:var(--v93-green)!important}
#publicGate .v93-hero-inner{text-align:center!important;width:min(980px,100%)!important}
#publicGate .v93-hero-inner>small{display:block!important;margin-bottom:28px!important;color:var(--v93-orange-soft)!important;font-size:12px!important;letter-spacing:.28em!important;text-transform:uppercase!important}
#publicGate .v93-script{display:block!important;font-family:var(--v93-script)!important;color:var(--v93-orange)!important;font-size:clamp(46px,6vw,90px)!important;line-height:.9!important;text-transform:none!important;letter-spacing:0!important}
#publicGate .v93-hero h1{margin:20px 0 12px!important;color:var(--v93-blue)!important;font:400 clamp(54px,8vw,116px)/.9 var(--v93-serif)!important;letter-spacing:.02em!important;text-transform:uppercase!important}
#publicGate .v93-hero h1 em{display:block!important;margin:.08em 0!important;font-family:var(--v93-script)!important;font-size:.5em!important;font-style:normal!important;color:var(--v93-green)!important;text-transform:none!important}
#publicGate .v93-hero p{margin:22px 0 0!important;color:var(--v93-blue)!important;font-size:13px!important;letter-spacing:.2em!important;text-transform:uppercase!important}
#publicGate .v93-section{width:100%!important;padding:0!important}
#publicGate .v93-section-inner{width:100%!important;max-width:none!important;padding:clamp(72px,8vw,130px) clamp(24px,7vw,128px)!important}
#publicGate .v93-section-head{display:grid!important;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)!important;align-items:end!important;gap:24px!important;margin-bottom:48px!important}
#publicGate .v93-section-head .v93-script{font-size:clamp(44px,5vw,72px)!important;color:var(--v93-orange)!important}
#publicGate .v93-section-head h2{margin:0!important;color:var(--v93-blue)!important;font:400 clamp(48px,5vw,76px)/.95 var(--v93-serif)!important;letter-spacing:.02em!important;text-transform:uppercase!important}
#publicGate .v93-section-head small{grid-column:2!important;margin-top:8px!important;color:rgba(24,52,123,.6)!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#publicGate .v93-save{background:var(--v93-paper)!important}
#publicGate .v93-rsvp{background:var(--v93-blue)!important;color:#fff!important}
#publicGate .v93-rsvp .v93-section-head h2{color:#fff!important}#publicGate .v93-rsvp .v93-section-head .v93-script{color:var(--v93-gold)!important}#publicGate .v93-rsvp .v93-section-head small{color:rgba(255,255,255,.68)!important}
#publicGate .v93-program-section{background:#FFF9F0!important}
#publicGate .v93-lodging-section{background:var(--v93-green)!important;color:#fff!important}
#publicGate .v93-lodging-section .v93-section-head h2{color:#fff!important}#publicGate .v93-lodging-section .v93-section-head .v93-script{color:#fff!important}#publicGate .v93-lodging-section .v93-section-head small{color:rgba(255,255,255,.7)!important}
#publicGate .v93-people{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:16px!important}
#publicGate .v93-person{padding:22px!important;border:1px solid rgba(24,52,123,.14)!important;border-radius:0!important;background:rgba(255,255,255,.6)!important}
#publicGate .v93-rsvp .v93-person{background:#fff!important;color:var(--v93-blue)!important;border-color:transparent!important}
#publicGate .v93-person-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important}
#publicGate .v93-person-head h3{margin:0!important;color:inherit!important;font:400 28px/1.1 var(--v93-serif)!important}
#publicGate .v93-choice{display:grid!important;gap:6px!important;min-width:190px!important}#publicGate .v93-choice-three{grid-template-columns:repeat(3,1fr)!important}#publicGate .v93-choice-two{grid-template-columns:repeat(2,1fr)!important}
#publicGate .v93-choice label{cursor:pointer!important}#publicGate .v93-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important}
#publicGate .v93-choice span{display:grid!important;place-items:center!important;min-height:42px!important;padding:8px 11px!important;border:1px solid rgba(24,52,123,.16)!important;background:#fff!important;color:var(--v93-blue)!important;font-size:12px!important;transition:.15s ease!important}
#publicGate .v93-choice input:checked+span{background:var(--v93-orange)!important;border-color:var(--v93-orange)!important;color:#fff!important}
#publicGate .v93-site .v91-contact,#publicGate .v93-details{margin-top:10px!important;border-top:1px solid rgba(24,52,123,.12)!important;border-bottom:0!important;background:transparent!important}
#publicGate .v93-site .v91-contact summary,#publicGate .v93-details summary{padding:14px 0!important;color:inherit!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;cursor:pointer!important}
#publicGate .v93-site .v91-contact-body,#publicGate .v93-details-body{padding:0 0 8px!important}
#publicGate .v93-site input,#publicGate .v93-site select,#publicGate .v93-site textarea{min-height:46px!important;border:1px solid rgba(24,52,123,.16)!important;border-radius:0!important;background:#fff!important;color:var(--v93-blue)!important;padding:11px 12px!important}
#publicGate .v93-site .field .fl{color:inherit!important;font-size:10px!important;letter-spacing:.06em!important;text-transform:uppercase!important}
#publicGate .v93-submit{display:flex!important;justify-content:flex-end!important;margin-top:22px!important}
#publicGate .v93-submit .btn.primary{min-height:48px!important;padding:0 24px!important;border-radius:0!important;background:var(--v93-orange)!important;border-color:var(--v93-orange)!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.1em!important}
#publicGate .v93-program{border-top:1px solid rgba(24,52,123,.15)!important}
#publicGate .v93-program-row{display:grid!important;grid-template-columns:64px 150px minmax(0,1fr)!important;gap:22px!important;padding:24px 0!important;border-bottom:1px solid rgba(24,52,123,.15)!important;align-items:start!important}
#publicGate .v93-program-index{color:var(--v93-orange)!important;font-size:11px!important;letter-spacing:.1em!important}.v93-program-row time{color:var(--v93-blue)!important;font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#publicGate .v93-program-copy h3{margin:0!important;color:var(--v93-blue)!important;font:400 28px/1.1 var(--v93-serif)!important}#publicGate .v93-program-copy span,#publicGate .v93-program-copy p{display:block!important;margin-top:6px!important;color:rgba(24,52,123,.7)!important}#publicGate .v93-program-copy a{display:inline-block!important;margin-top:10px!important;color:var(--v93-orange)!important;text-decoration:none!important}
#publicGate .v93-lodgings{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:14px!important}
#publicGate .v93-lodging{min-height:260px!important;padding:26px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;background:var(--v93-paper)!important;color:var(--v93-blue)!important;border:0!important}
#publicGate .v93-lodging small{color:var(--v93-orange)!important;font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important}#publicGate .v93-lodging h3{margin:14px 0 8px!important;font:400 32px/1.05 var(--v93-serif)!important}#publicGate .v93-lodging p{margin:6px 0 0!important;color:rgba(24,52,123,.65)!important;line-height:1.6!important}#publicGate .v93-lodging>a{margin-top:24px!important;color:var(--v93-blue)!important;text-decoration:none!important;border-bottom:1px solid rgba(24,52,123,.32)!important;padding-bottom:3px!important;width:max-content!important;text-transform:uppercase!important;font-size:10px!important;letter-spacing:.09em!important}
#publicGate .v93-empty{padding:44px 0!important;color:rgba(24,52,123,.55)!important;font-size:20px!important}
#publicGate .v93-rsvp .v93-empty{color:rgba(255,255,255,.6)!important}
#publicGate .v93-footer{min-height:180px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;background:var(--v93-paper)!important;color:var(--v93-blue)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:14px!important}
#publicGate .v93-footer em{font-family:var(--v93-script)!important;font-style:normal!important;font-size:2em!important;color:var(--v93-orange)!important;text-transform:none!important;letter-spacing:0!important}

/* V93 — Back office invité simplifié */
.guest-portal-modal-v93{width:min(900px,calc(100vw - 28px))!important;max-width:900px!important}
.guest-portal-v93-head{padding:20px 22px!important}.guest-portal-v93-head p{margin:5px 0 0!important;color:var(--muted)!important;font-size:12px!important}.guest-portal-v93-head-actions{display:flex!important;align-items:center!important;gap:8px!important}
.guest-portal-v93-body{display:grid!important;gap:12px!important;padding:16px 22px 22px!important;background:#faf9f7!important}
.portal-v93-block{padding:18px!important;border:1px solid var(--jj-line)!important;border-radius:12px!important;background:#fff!important}
.portal-v93-block-title{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;margin-bottom:14px!important}.portal-v93-block-title>span:first-child{width:26px!important;height:26px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--blue-bg)!important;color:var(--blue)!important;font-size:10px!important;font-weight:800!important}.portal-v93-block-title strong{display:block!important;font-size:14px!important}.portal-v93-block-title small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:11px!important;line-height:1.4!important}
.portal-v93-switches{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.portal-v93-switches label{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:52px!important;padding:10px 12px!important;border:1px solid #ece8e4!important;border-radius:10px!important;cursor:pointer!important}.portal-v93-switches input{position:absolute!important;opacity:0!important}.portal-v93-switches label>span{position:relative!important;width:38px!important;height:22px!important;flex:0 0 38px!important;border-radius:999px!important;background:#ddd9d4!important;transition:.15s!important}.portal-v93-switches label>span:after{content:''!important;position:absolute!important;top:3px!important;left:3px!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.18)!important;transition:.15s!important}.portal-v93-switches input:checked+span{background:var(--blue)!important}.portal-v93-switches input:checked+span:after{transform:translateX(16px)!important}
.portal-v93-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.portal-v93-optional{margin-top:10px!important;border-top:1px solid #ece8e4!important;padding-top:10px!important}.portal-v93-optional summary{cursor:pointer!important;font-size:11px!important;font-weight:700!important;color:var(--muted)!important}.portal-v93-optional .field{margin-top:10px!important}
.portal-v93-source-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.portal-v93-source-actions .btn{height:auto!important;min-height:64px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;text-align:left!important;padding:12px 14px!important}.portal-v93-source-actions .btn strong{font-size:12px!important}.portal-v93-source-actions .btn small{font-size:10.5px!important;color:var(--muted)!important;text-align:right!important}
.portal-v93-links summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;cursor:pointer!important}.portal-v93-links summary strong{display:block!important;font-size:13px!important}.portal-v93-links summary small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:10.5px!important}.portal-v93-links summary>span{font-size:10px!important;color:var(--blue)!important;text-transform:uppercase!important;letter-spacing:.08em!important}.portal-v93-links-body{padding-top:14px!important}.guest-portal-v93-footer{padding:12px 22px!important}
@media(max-width:760px){
  #publicGate .v93-nav{min-height:108px!important;padding:8px 14px 0!important;display:block!important}.v93-brand{height:34px!important;justify-content:center!important}#publicGate .v93-nav>div{width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;justify-content:flex-start!important;scrollbar-width:none!important}#publicGate .v93-nav>div>a{flex:0 0 auto!important;min-height:54px!important;display:flex!important;align-items:center!important}
  #publicGate .v93-hero{min-height:calc(100svh - 108px)!important}#publicGate .v93-orbit{inset:12% 5%!important}#publicGate .v93-hero h1{font-size:52px!important}#publicGate .v93-hero h1 em{font-size:.7em!important}
  #publicGate .v93-section-inner{padding:62px 18px!important}#publicGate .v93-section-head{grid-template-columns:1fr!important;gap:4px!important;margin-bottom:30px!important}#publicGate .v93-section-head small{grid-column:1!important}#publicGate .v93-person-head{align-items:flex-start!important;flex-direction:column!important}.v93-choice{width:100%!important;min-width:0!important}.v93-program-row{grid-template-columns:48px minmax(0,1fr)!important}.v93-program-row time{grid-column:2!important;grid-row:1!important}.v93-program-copy{grid-column:2!important}.v93-lodgings{grid-template-columns:1fr!important}
  .portal-v93-switches,.portal-v93-fields,.portal-v93-source-actions{grid-template-columns:1fr!important}.portal-v93-block-title{grid-template-columns:28px minmax(0,1fr)!important}.portal-v93-block-title>.guest-publication-pill{grid-column:2!important;justify-self:start!important}
}

/* ========================================================================== */
/* V94 — wedding site cohérent + back office invités simplifié                */
/* ========================================================================== */
#publicGate:has(.w94-site){
  --w94-blue:#18347B;
  --w94-green:#88952C;
  --w94-gold:#D8A82D;
  --w94-terracotta:#E29035;
  --w94-orange:#F06F16;
  --w94-ivory:#FBF7ED;
  --w94-paper:#FFFDF7;
  --w94-serif:'Didot LP','Didot','Bodoni 72','Bodoni MT','Times New Roman',serif;
  --w94-script:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;
  padding:0!important;
  background:var(--w94-ivory)!important;
  overflow-x:hidden!important;
}
#publicGate:has(.w94-site) .public-shell,
#publicGate:has(.w94-site) #publicContent{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--w94-ivory)!important;
}
#publicGate .w94-site,
#publicGate .w94-site *{box-sizing:border-box!important}
#publicGate .w94-site{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  background:var(--w94-ivory)!important;
  color:var(--w94-blue)!important;
  font-family:var(--w94-serif)!important;
  overflow:hidden!important;
}
#publicGate .w94-site button,
#publicGate .w94-site input,
#publicGate .w94-site select,
#publicGate .w94-site textarea{font-family:var(--w94-serif)!important}
#publicGate .w94-nav{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  width:100%!important;
  min-height:76px!important;
  padding:0 clamp(22px,4vw,74px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  background:rgba(251,247,237,.94)!important;
  border:0!important;
  border-bottom:1px solid rgba(24,52,123,.12)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
#publicGate .w94-brand{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  color:var(--w94-blue)!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  white-space:nowrap!important;
  font:400 13px/1 var(--w94-serif)!important;
}
#publicGate .w94-brand em,
#publicGate .w94-footer em{
  font-family:var(--w94-script)!important;
  font-style:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
  color:var(--w94-orange)!important;
}
#publicGate .w94-brand em{font-size:28px!important;line-height:.6!important}
#publicGate .w94-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  flex-wrap:wrap!important;
}
#publicGate .w94-nav-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 14px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:var(--w94-blue)!important;
  background:transparent!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  font:400 10.5px/1 var(--w94-serif)!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease!important;
}
#publicGate .w94-nav-links a:hover,
#publicGate .w94-nav-links a:focus-visible{
  background:rgba(24,52,123,.055)!important;
  border-color:rgba(24,52,123,.1)!important;
  outline:none!important;
}
#publicGate .w94-nav-links a.is-active{
  background:var(--w94-blue)!important;
  border-color:var(--w94-blue)!important;
  color:#fff!important;
}
#publicGate .w94-hero{
  position:relative!important;
  width:100%!important;
  min-height:calc(100svh - 76px)!important;
  padding:clamp(70px,9vw,130px) clamp(24px,7vw,130px)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(216,168,45,.13),transparent 22%),
    radial-gradient(circle at 88% 78%,rgba(136,149,44,.14),transparent 25%),
    var(--w94-ivory)!important;
}
#publicGate .w94-hero::before{
  content:''!important;
  position:absolute!important;
  width:min(760px,64vw)!important;
  aspect-ratio:1/1!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  border:1px solid rgba(24,52,123,.18)!important;
  border-radius:50% 50% 42% 58%/48% 42% 58% 52%!important;
  z-index:-2!important;
}
#publicGate .w94-hero::after{
  content:''!important;
  position:absolute!important;
  width:min(580px,50vw)!important;
  aspect-ratio:1/1!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) rotate(7deg)!important;
  border:1px solid rgba(240,111,22,.18)!important;
  border-radius:44% 56% 52% 48%/55% 45% 55% 45%!important;
  z-index:-2!important;
}
#publicGate .w94-hero-decoration{position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important}
#publicGate .w94-hero-decoration i,
#publicGate .w94-hero-decoration b{position:absolute!important;display:block!important}
#publicGate .w94-hero-decoration i{width:18px!important;height:98px!important;border-radius:80% 12% 80% 12%!important;background:var(--w94-green)!important}
#publicGate .w94-hero-decoration i:nth-child(1){left:9%!important;top:18%!important;transform:rotate(-28deg)!important}
#publicGate .w94-hero-decoration i:nth-child(2){right:10%!important;bottom:16%!important;transform:rotate(28deg)!important;background:var(--w94-terracotta)!important}
#publicGate .w94-hero-decoration i:nth-child(3){left:16%!important;bottom:13%!important;height:68px!important;transform:rotate(22deg)!important;background:var(--w94-gold)!important}
#publicGate .w94-hero-decoration b{width:13px!important;height:13px!important;border-radius:50%!important;background:var(--w94-orange)!important}
#publicGate .w94-hero-decoration b:nth-of-type(1){right:17%!important;top:20%!important}
#publicGate .w94-hero-decoration b:nth-of-type(2){left:23%!important;top:13%!important;background:var(--w94-gold)!important}
#publicGate .w94-hero-copy{
  width:min(1040px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
  position:relative!important;
  z-index:2!important;
}
#publicGate .w94-hero-copy>small{
  display:block!important;
  margin:0 0 30px!important;
  color:var(--w94-terracotta)!important;
  text-transform:uppercase!important;
  letter-spacing:.24em!important;
  font:400 clamp(10px,1vw,13px)/1.4 var(--w94-serif)!important;
}
#publicGate .w94-script{
  display:block!important;
  color:var(--w94-orange)!important;
  font-family:var(--w94-script)!important;
  font-weight:400!important;
  font-size:clamp(44px,6.2vw,96px)!important;
  line-height:.88!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#publicGate .w94-hero h1{
  margin:22px auto 0!important;
  max-width:1120px!important;
  color:var(--w94-blue)!important;
  font:400 clamp(58px,9vw,140px)/.82 var(--w94-serif)!important;
  letter-spacing:.015em!important;
  text-transform:uppercase!important;
}
#publicGate .w94-hero h1 em{
  display:block!important;
  margin:.16em 0 .08em!important;
  color:var(--w94-green)!important;
  font-family:var(--w94-script)!important;
  font-size:.5em!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:.72!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#publicGate .w94-hero-button,
#publicGate .w94-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 25px!important;
  border:1px solid var(--w94-blue)!important;
  border-radius:0!important;
  background:var(--w94-blue)!important;
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font:400 11px/1 var(--w94-serif)!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
#publicGate .w94-hero-button{margin-top:40px!important}
#publicGate .w94-hero-button:hover,
#publicGate .w94-button:hover,
#publicGate .w94-hero-button:focus-visible,
#publicGate .w94-button:focus-visible{
  background:var(--w94-orange)!important;
  border-color:var(--w94-orange)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
#publicGate .w94-main{width:100%!important;background:var(--w94-ivory)!important}
#publicGate .w94-section{width:100%!important;margin:0!important;padding:0!important;border:0!important;scroll-margin-top:88px!important}
#publicGate .w94-section-shell{
  width:100%!important;
  max-width:1600px!important;
  margin:0 auto!important;
  padding:clamp(72px,8vw,132px) clamp(28px,7vw,120px)!important;
}
#publicGate .w94-split{
  display:grid!important;
  grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr)!important;
  gap:clamp(44px,7vw,120px)!important;
  align-items:start!important;
}
#publicGate .w94-section-title{position:sticky!important;top:112px!important;align-self:start!important}
#publicGate .w94-section-title .w94-script{
  font-size:clamp(48px,5.2vw,78px)!important;
  color:var(--w94-orange)!important;
}
#publicGate .w94-section-title h2{
  margin:8px 0 0!important;
  color:var(--w94-blue)!important;
  font:400 clamp(50px,6vw,92px)/.88 var(--w94-serif)!important;
  letter-spacing:-.02em!important;
  text-transform:lowercase!important;
}
#publicGate .w94-section-title small{
  display:block!important;
  margin-top:22px!important;
  color:var(--w94-terracotta)!important;
  font:400 11px/1.4 var(--w94-serif)!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
}
#publicGate .w94-section-title-wide{
  position:static!important;
  width:min(860px,100%)!important;
  margin:0 0 56px!important;
}
#publicGate .w94-section-title-wide h2{text-transform:none!important}
#publicGate .w94-save{background:var(--w94-paper)!important}
#publicGate .w94-rsvp{background:var(--w94-blue)!important;color:#fff!important}
#publicGate .w94-rsvp .w94-section-title h2{color:#fff!important}
#publicGate .w94-rsvp .w94-section-title .w94-script{color:var(--w94-gold)!important}
#publicGate .w94-rsvp .w94-section-title small{color:#fff!important;opacity:.74!important}
#publicGate .w94-program-section{background:var(--w94-ivory)!important}
#publicGate .w94-lodging-section{background:var(--w94-green)!important;color:var(--w94-ivory)!important}
#publicGate .w94-lodging-section .w94-section-title h2{color:var(--w94-ivory)!important}
#publicGate .w94-lodging-section .w94-section-title .w94-script{color:var(--w94-gold)!important}
#publicGate .w94-form{width:100%!important;max-width:none!important}
#publicGate .w94-people{display:grid!important;gap:16px!important}
#publicGate .w94-person{
  width:100%!important;
  margin:0!important;
  padding:24px 26px!important;
  border:1px solid rgba(24,52,123,.13)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
  color:var(--w94-blue)!important;
}
#publicGate .w94-rsvp .w94-person{
  border-color:rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}
#publicGate .w94-person-main{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
#publicGate .w94-person h3{
  margin:0!important;
  color:inherit!important;
  font:400 clamp(28px,2.5vw,40px)/1 var(--w94-serif)!important;
  letter-spacing:0!important;
}
#publicGate .w94-choice{
  display:grid!important;
  gap:7px!important;
  min-width:310px!important;
}
#publicGate .w94-choice-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#publicGate .w94-choice-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:220px!important}
#publicGate .w94-choice label{position:relative!important;display:block!important;margin:0!important;cursor:pointer!important}
#publicGate .w94-choice input[type="radio"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#publicGate .w94-choice span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 14px!important;
  border:1px solid rgba(24,52,123,.22)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:inherit!important;
  text-align:center!important;
  font:400 11px/1 var(--w94-serif)!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  transition:.15s ease!important;
}
#publicGate .w94-choice input:checked+span{
  border-color:var(--w94-orange)!important;
  background:var(--w94-orange)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#publicGate .w94-rsvp .w94-choice span{border-color:rgba(255,255,255,.4)!important;color:#fff!important}
#publicGate .w94-contact,
#publicGate .w94-details{
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid rgba(24,52,123,.13)!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
}
#publicGate .w94-rsvp .w94-contact,
#publicGate .w94-rsvp .w94-details{border-top-color:rgba(255,255,255,.18)!important}
#publicGate .w94-contact summary,
#publicGate .w94-details summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-height:48px!important;
  padding:0!important;
  cursor:pointer!important;
  color:inherit!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  font:400 10px/1 var(--w94-serif)!important;
}
#publicGate .w94-contact summary::-webkit-details-marker,
#publicGate .w94-details summary::-webkit-details-marker{display:none!important}
#publicGate .w94-contact summary::after,
#publicGate .w94-details summary::after{content:'+'!important;font-size:20px!important;font-weight:400!important;line-height:1!important}
#publicGate .w94-contact[open] summary::after,
#publicGate .w94-details[open] summary::after{content:'−'!important}
#publicGate .w94-contact summary small{font-size:9px!important;opacity:.62!important;letter-spacing:.08em!important;margin-left:auto!important}
#publicGate .w94-contact-body,
#publicGate .w94-details-body{padding:4px 0 8px!important}
#publicGate .w94-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#publicGate .w94-field-wide{grid-column:1/-1!important}
#publicGate .w94-copy-contact{margin-bottom:12px!important}
#publicGate .w94-site .field{min-width:0!important}
#publicGate .w94-site .field .fl{
  display:block!important;
  margin:0 0 6px!important;
  color:inherit!important;
  opacity:.72!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font:400 9px/1.2 var(--w94-serif)!important;
}
#publicGate .w94-site input:not([type="radio"]),
#publicGate .w94-site select,
#publicGate .w94-site textarea{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid rgba(24,52,123,.16)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--w94-blue)!important;
  box-shadow:none!important;
  outline:none!important;
  font:400 14px/1.4 var(--w94-serif)!important;
}
#publicGate .w94-rsvp input:not([type="radio"]),
#publicGate .w94-rsvp select,
#publicGate .w94-rsvp textarea{border-color:rgba(255,255,255,.22)!important;background:#fff!important;color:var(--w94-blue)!important}
#publicGate .w94-site input:focus,
#publicGate .w94-site select:focus,
#publicGate .w94-site textarea:focus{border-color:var(--w94-orange)!important;box-shadow:0 0 0 2px rgba(240,111,22,.12)!important}
#publicGate .w94-submit{display:flex!important;justify-content:flex-end!important;margin-top:24px!important}
#publicGate .w94-button-light{background:var(--w94-gold)!important;border-color:var(--w94-gold)!important;color:var(--w94-blue)!important}
#publicGate .w94-button-light:hover,#publicGate .w94-button-light:focus-visible{background:var(--w94-orange)!important;border-color:var(--w94-orange)!important;color:#fff!important}
#publicGate .w94-program{
  width:100%!important;
  display:grid!important;
  gap:0!important;
  border-top:1px solid rgba(24,52,123,.17)!important;
}
#publicGate .w94-program-row{
  display:grid!important;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr)!important;
  gap:clamp(26px,5vw,78px)!important;
  align-items:start!important;
  padding:30px 0!important;
  border-bottom:1px solid rgba(24,52,123,.17)!important;
}
#publicGate .w94-program-row time{
  color:var(--w94-terracotta)!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font:400 11px/1.5 var(--w94-serif)!important;
}
#publicGate .w94-program-row h3{
  margin:0!important;
  color:var(--w94-blue)!important;
  font:400 clamp(30px,3vw,48px)/1 var(--w94-serif)!important;
}
#publicGate .w94-program-row span,
#publicGate .w94-program-row p{
  display:block!important;
  margin:8px 0 0!important;
  color:rgba(24,52,123,.67)!important;
  font:400 14px/1.6 var(--w94-serif)!important;
}
#publicGate .w94-program-row a{
  display:inline-block!important;
  margin-top:12px!important;
  color:var(--w94-orange)!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-size:10px!important;
}
#publicGate .w94-lodgings{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:14px!important;
}
#publicGate .w94-lodging{
  min-height:300px!important;
  padding:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:22px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--w94-ivory)!important;
  color:var(--w94-blue)!important;
}
#publicGate .w94-lodging small{
  color:var(--w94-orange)!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  font-size:9px!important;
}
#publicGate .w94-lodging h3{
  margin:16px 0 0!important;
  color:var(--w94-blue)!important;
  font:400 clamp(28px,2.8vw,44px)/1.05 var(--w94-serif)!important;
}
#publicGate .w94-lodging p{margin:9px 0 0!important;color:rgba(24,52,123,.67)!important;line-height:1.55!important;font-size:13px!important}
#publicGate .w94-lodging>a{
  width:max-content!important;
  max-width:100%!important;
  color:var(--w94-blue)!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  font-size:10px!important;
  border-bottom:1px solid rgba(24,52,123,.35)!important;
  padding-bottom:4px!important;
}
#publicGate .w94-lodging>a span{color:var(--w94-orange)!important}
#publicGate .w94-empty{
  width:100%!important;
  padding:36px 0!important;
  color:rgba(24,52,123,.6)!important;
  font:400 22px/1.4 var(--w94-serif)!important;
}
#publicGate .w94-empty-light{color:rgba(255,255,255,.7)!important}
#publicGate .w94-footer{
  min-height:210px!important;
  padding:54px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  background:var(--w94-orange)!important;
  color:#fff!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  font:400 15px/1 var(--w94-serif)!important;
}
#publicGate .w94-footer em{font-size:36px!important;color:var(--w94-gold)!important}
#publicGate .w94-site .public-result{
  margin-top:14px!important;
  border:1px solid rgba(24,52,123,.13)!important;
  border-radius:0!important;
  background:var(--w94-ivory)!important;
  color:var(--w94-blue)!important;
}
#publicGate .w94-rsvp .public-result{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
#publicGate .w94-site .public-lodging-options{margin-top:10px!important}
#publicGate .w94-site .public-lodging-choice-help{display:block!important;margin-top:6px!important;color:inherit!important;opacity:.64!important;font-size:10px!important}
#publicGate .w94-site .public-lodging-choice-help a{color:var(--w94-orange)!important}

/* Back office V94 */
.guest-portal-modal-v94{
  width:min(980px,calc(100vw - 28px))!important;
  max-width:980px!important;
  max-height:min(900px,calc(100svh - 28px))!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.guest-portal-v94-head{
  padding:22px 24px!important;
  align-items:flex-start!important;
  border-bottom:1px solid var(--jj-line)!important;
}
.guest-portal-v94-head h3{margin:4px 0 0!important;font-size:24px!important}
.guest-portal-v94-head p{margin:5px 0 0!important;color:var(--muted)!important;font-size:12px!important}
.guest-portal-v94-head-actions{display:flex!important;align-items:center!important;gap:8px!important}
.guest-portal-v94-body{
  display:grid!important;
  gap:14px!important;
  padding:18px 24px 24px!important;
  background:#f7f6f3!important;
}
.portal-v94-status{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 250px!important;
  gap:20px!important;
  align-items:end!important;
  padding:18px!important;
  border:1px solid #dfe4ed!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#fff,#f7f9fd)!important;
}
.portal-v94-status-copy small,
.portal-v94-card-head small,
.portal-v94-links summary small{
  display:block!important;
  margin-bottom:4px!important;
  color:var(--blue)!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  font-size:9.5px!important;
  font-weight:800!important;
}
.portal-v94-status-copy strong{display:block!important;font-size:18px!important}
.portal-v94-status-copy span{display:block!important;margin-top:5px!important;color:var(--muted)!important;font-size:11px!important}
.portal-v94-phase-field{margin:0!important}
.portal-v94-status>.guest-publication-pill{position:absolute!important;top:14px!important;right:14px!important}
.portal-v94-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.portal-v94-card{
  padding:18px!important;
  border:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  min-width:0!important;
}
.portal-v94-card-wide{grid-row:span 2!important}
.portal-v94-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:14px!important;
}
.portal-v94-card-head strong,
.portal-v94-links summary strong{display:block!important;font-size:14px!important}
.portal-v94-card-head>span{color:var(--muted)!important;font-size:10.5px!important}
.portal-v94-switch-list{display:grid!important;gap:7px!important}
.portal-v94-switch-row{
  position:relative!important;
  min-height:62px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border:1px solid #ece9e4!important;
  border-radius:11px!important;
  background:#fff!important;
  cursor:pointer!important;
}
.portal-v94-switch-row>div strong{display:block!important;font-size:12px!important}
.portal-v94-switch-row>div small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:10.5px!important;line-height:1.35!important}
.portal-v94-switch-row input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.portal-v94-switch-row>span{
  position:relative!important;
  width:42px!important;
  height:24px!important;
  flex:0 0 42px!important;
  border-radius:999px!important;
  background:#ddd9d4!important;
  transition:.15s ease!important;
}
.portal-v94-switch-row>span::after{
  content:''!important;
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 1px 4px rgba(0,0,0,.18)!important;
  transition:.15s ease!important;
}
.portal-v94-switch-row input:checked+span{background:var(--blue)!important}
.portal-v94-switch-row input:checked+span::after{transform:translateX(18px)!important}
.portal-v94-switch-row:has(input:checked){border-color:#d5dfef!important;background:#f8faff!important}
.portal-v94-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.portal-v94-details{margin-top:12px!important;border-top:1px solid #ece9e4!important;padding-top:10px!important}
.portal-v94-details summary{cursor:pointer!important;color:var(--muted)!important;font-size:11px!important;font-weight:700!important}
.portal-v94-details .field{margin-top:10px!important}
.portal-v94-source-list{display:grid!important;gap:8px!important}
.portal-v94-source{
  width:100%!important;
  min-height:58px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  border:1px solid #ece9e4!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--text)!important;
  text-align:left!important;
  cursor:pointer!important;
}
.portal-v94-source:hover{border-color:#d6dce7!important;background:#fafbfc!important}
.portal-v94-source strong{display:block!important;font-size:12px!important}
.portal-v94-source small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:10.5px!important}
.portal-v94-source b{color:var(--blue)!important;font-size:17px!important}
.portal-v94-links{
  padding:0!important;
  border:1px solid var(--jj-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.portal-v94-links summary{
  min-height:68px!important;
  padding:14px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  cursor:pointer!important;
  list-style:none!important;
}
.portal-v94-links summary::-webkit-details-marker{display:none!important}
.portal-v94-links summary>span{color:var(--blue)!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.portal-v94-links-body{padding:0 18px 18px!important;border-top:1px solid #ece9e4!important}
.guest-portal-v94-footer{padding:12px 24px!important;border-top:1px solid var(--jj-line)!important}

@media(max-width:900px){
  #publicGate .w94-split{grid-template-columns:1fr!important;gap:34px!important}
  #publicGate .w94-section-title{position:static!important}
  .portal-v94-grid{grid-template-columns:1fr!important}
  .portal-v94-card-wide{grid-row:auto!important}
}
@media(max-width:760px){
  #publicGate .w94-nav{min-height:106px!important;padding:8px 14px 0!important;display:block!important}
  #publicGate .w94-brand{height:34px!important;justify-content:center!important}
  #publicGate .w94-nav-links{width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;justify-content:flex-start!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  #publicGate .w94-nav-links::-webkit-scrollbar{display:none!important}
  #publicGate .w94-nav-links a{flex:0 0 auto!important;min-height:58px!important}
  #publicGate .w94-hero{min-height:calc(100svh - 106px)!important;padding:70px 18px!important}
  #publicGate .w94-hero-copy>small{font-size:9px!important;letter-spacing:.14em!important}
  #publicGate .w94-script{font-size:52px!important}
  #publicGate .w94-hero h1{font-size:58px!important}
  #publicGate .w94-hero::before{width:92vw!important}
  #publicGate .w94-hero::after{width:72vw!important}
  #publicGate .w94-section-shell{padding:58px 18px!important}
  #publicGate .w94-section-title h2{font-size:58px!important}
  #publicGate .w94-person{padding:18px!important}
  #publicGate .w94-person-main{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}
  #publicGate .w94-choice{width:100%!important;min-width:0!important}
  #publicGate .w94-fields{grid-template-columns:1fr!important}
  #publicGate .w94-field-wide{grid-column:auto!important}
  #publicGate .w94-program-row{grid-template-columns:1fr!important;gap:8px!important;padding:24px 0!important}
  #publicGate .w94-lodgings{grid-template-columns:1fr!important}
  .guest-portal-modal-v94{width:calc(100vw - 16px)!important;max-height:calc(100svh - 16px)!important}
  .guest-portal-v94-head{padding:16px!important}
  .guest-portal-v94-head-actions .btn{display:none!important}
  .guest-portal-v94-body{padding:12px!important}
  .portal-v94-status{grid-template-columns:1fr!important;padding:14px!important}
  .portal-v94-status>.guest-publication-pill{position:static!important;justify-self:start!important}
  .portal-v94-fields{grid-template-columns:1fr!important}
  .guest-portal-v94-footer{padding:10px 16px!important}
}

/* V94 compatibility reset: no dependency on :has() and no legacy chateau theme. */
#publicGate.w94-active{
  --w94-blue:#18347B;
  --w94-green:#88952C;
  --w94-gold:#D8A82D;
  --w94-terracotta:#E29035;
  --w94-orange:#F06F16;
  --w94-ivory:#FBF7ED;
  --w94-paper:#FFFDF7;
  --w94-serif:'Didot LP','Didot','Bodoni 72','Bodoni MT','Times New Roman',serif;
  --w94-script:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;
  padding:0!important;
  background:var(--w94-ivory)!important;
  overflow-x:hidden!important;
}
#publicGate.w94-active .public-shell,
#publicGate.w94-active #publicContent{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--w94-ivory)!important;
}

/* V94 — simplification de la page Invités du back office */
#page-guests .guest-page-head{margin-bottom:14px!important}
#page-guests .guest-page-lead{max-width:620px!important}
#page-guests .guest-command-card-simple{margin:0 0 18px!important;padding:16px 18px!important;border-radius:12px!important}
#page-guests .guest-command-card-simple .guest-command-head{align-items:center!important}
#page-guests .guest-command-card-simple .guest-command-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;margin-top:10px!important}
#page-guests .guest-command-card-simple .guest-command-row{min-height:54px!important}
#page-guests .guest-list-heading{margin-top:16px!important}

/* ========================================================================== */
/* V95 — page Invités : réponses, hébergements, liste                         */
/* ========================================================================== */
#page-guests .guest-response-stats-v95{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
  margin:0 0 16px!important;
}
#page-guests .guest-response-panel-v95,
#page-guests .guest-lodging-visibility-v95,
#page-guests .guest-stat-details-v95{
  border:1px solid var(--jj-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:18px!important;
}
#page-guests .guest-response-panel-head-v95,
#page-guests .guest-lodging-visibility-head-v95,
#page-guests .guest-stat-details-head-v95{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:14px!important;
}
#page-guests .guest-response-panel-head-v95 h3,
#page-guests .guest-lodging-visibility-head-v95 h3,
#page-guests .guest-stat-details-head-v95 h3{margin:3px 0 0!important;font-size:20px!important}
#page-guests .guest-response-kpis-v95{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
#page-guests .guest-response-panel-v95:last-child .guest-response-kpis-v95{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#page-guests .guest-response-kpi-v95{
  min-width:0!important;
  min-height:98px!important;
  padding:13px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  border:1px solid #ece9e4!important;
  border-radius:12px!important;
  background:#faf9f7!important;
  color:var(--text)!important;
  text-align:left!important;
  cursor:pointer!important;
}
#page-guests .guest-response-kpi-v95:hover{border-color:#ccd7ea!important;background:#f8faff!important}
#page-guests .guest-response-kpi-v95 strong{font-size:28px!important;line-height:1!important}
#page-guests .guest-response-kpi-v95 span{font-size:12px!important;font-weight:750!important}
#page-guests .guest-response-kpi-v95 small{color:var(--muted)!important;font-size:10px!important}
#page-guests .guest-response-kpi-v95.tone-likely,
#page-guests .guest-response-kpi-v95.tone-confirmed{background:#f5f8eb!important;border-color:#dfe7c0!important}
#page-guests .guest-response-kpi-v95.tone-maybe,
#page-guests .guest-response-kpi-v95.tone-pending{background:#fff8e8!important;border-color:#f0dfaf!important}
#page-guests .guest-response-kpi-v95.tone-unlikely,
#page-guests .guest-response-kpi-v95.tone-declined{background:#fff3ee!important;border-color:#f1d3c4!important}
#page-guests .guest-stat-details-v95{margin:0 0 16px!important}
#page-guests .guest-stat-people-v95{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:8px!important}
#page-guests .guest-stat-people-v95 button{padding:11px 12px!important;border:1px solid #ece9e4!important;border-radius:10px!important;background:#fffdf9!important;text-align:left!important;cursor:pointer!important}
#page-guests .guest-stat-people-v95 strong{display:block!important;font-size:12px!important}
#page-guests .guest-stat-people-v95 span{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:10.5px!important}
#page-guests .guest-lodging-visibility-v95{margin:0 0 22px!important}
#page-guests .guest-lodging-list-v95{display:grid!important;gap:8px!important}
#page-guests .guest-lodging-row-v95{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #ece9e4!important;
  border-radius:11px!important;
  background:#fffdf9!important;
}
#page-guests .guest-lodging-row-v95.is-hidden{opacity:.66!important;background:#fafafa!important}
#page-guests .guest-lodging-row-v95 strong{display:block!important;font-size:13px!important}
#page-guests .guest-lodging-row-v95 span{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:10.5px!important}
#page-guests .guest-lodging-toggle-v95{display:flex!important;align-items:center!important;gap:7px!important;cursor:pointer!important}
#page-guests .guest-lodging-toggle-v95 input{width:18px!important;height:18px!important;accent-color:var(--blue)!important}
#page-guests .guest-lodging-toggle-v95 span{margin:0!important;color:var(--text)!important;font-size:11px!important;font-weight:700!important}
#page-guests .guest-lodging-empty-v95{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px!important;border:1px dashed var(--jj-line)!important;border-radius:10px!important;background:#faf9f7!important}
#page-guests .guest-toolbar-v95{margin-bottom:12px!important}
#page-guests .guest-toolbar-v95 .guest-search-group{width:100%!important;display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(220px,320px)!important;gap:10px!important}
#page-guests .guest-toolbar-v95 .search,
#page-guests .guest-toolbar-v95 select{width:100%!important}
#page-guests .guest-family-v95 .guest-family-head{align-items:center!important}
#page-guests .household-code-v95{min-width:150px!important}
#page-guests .household-code-v95 code{font-size:13px!important;letter-spacing:.08em!important}
#page-guests .guest-item-v95{grid-template-columns:minmax(220px,1.15fr) minmax(250px,1.2fr) minmax(220px,1fr) minmax(180px,.85fr) auto!important}
#page-guests .guest-response-cell-v95{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-content:start!important}
#page-guests .guest-inline-select{display:grid!important;gap:5px!important}
#page-guests .guest-inline-select>span{font-size:9.5px!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.06em!important}
#page-guests .guest-inline-select select{width:100%!important;min-width:0!important}
#page-guests .guest-name-line .badge.amber{display:none!important}

@media(max-width:1180px){
  #page-guests .guest-response-stats-v95{grid-template-columns:1fr!important}
  #page-guests .guest-item-v95{grid-template-columns:1fr 1fr!important}
  #page-guests .guest-actions{grid-column:1/-1!important;justify-content:flex-end!important}
}
@media(max-width:760px){
  #page-guests .guest-response-kpis-v95,
  #page-guests .guest-response-panel-v95:last-child .guest-response-kpis-v95{grid-template-columns:1fr 1fr!important}
  #page-guests .guest-toolbar-v95 .guest-search-group{grid-template-columns:1fr!important}
  #page-guests .guest-lodging-row-v95{grid-template-columns:1fr!important;align-items:start!important}
  #page-guests .guest-item-v95{grid-template-columns:1fr!important}
  #page-guests .guest-response-cell-v95{grid-template-columns:1fr!important}
  #page-guests .guest-family-head-actions{width:100%!important;justify-content:flex-start!important}
}

/* ========================================================================== */
/* V96 — site invités sobre, ergonomique et ludique                           */
/* ========================================================================== */
#publicGate.v96-active{
  --v96-blue:#18347B;
  --v96-green:#88952C;
  --v96-gold:#D8A82D;
  --v96-terracotta:#E29035;
  --v96-orange:#F06F16;
  --v96-ivory:#FBF7ED;
  --v96-paper:#FFFDF8;
  --v96-line:rgba(24,52,123,.14);
  --v96-muted:#6f7480;
  --v96-serif:'Didot LP','Didot','Bodoni 72','Bodoni MT','Times New Roman',serif;
  --v96-script:'Citadel Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  display:block!important;
  width:100vw!important;
  max-width:100vw!important;
  padding:0!important;
  overflow:auto!important;
  background:var(--v96-ivory)!important;
  color:var(--v96-blue)!important;
  scroll-behavior:smooth!important;
}
#publicGate.v96-active .public-shell,
#publicGate.v96-active #publicContent,
#publicGate.v96-active .v96-site,
#publicGate.v96-active .v96-main,
#publicGate.v96-active .v96-section,
#publicGate.v96-active .v96-hero{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
#publicGate.v96-active .public-shell,
#publicGate.v96-active #publicContent{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#publicGate.v96-active .public-brand{display:none!important}
#publicGate.v96-active .v96-site{font-family:Arial,Helvetica,sans-serif!important;background:var(--v96-ivory)!important}

/* Navigation */
#publicGate.v96-active .v96-nav{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0 clamp(20px,4vw,72px)!important;
  border-bottom:1px solid var(--v96-line)!important;
  background:rgba(251,247,237,.96)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
#publicGate.v96-active .v96-brand{
  flex:0 0 auto!important;
  color:var(--v96-blue)!important;
  text-decoration:none!important;
  font-family:var(--v96-serif)!important;
  font-size:21px!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
}
#publicGate.v96-active .v96-brand span{font-family:var(--v96-script)!important;font-weight:400!important;color:var(--v96-orange)!important}
#publicGate.v96-active .v96-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
#publicGate.v96-active .v96-nav-links a{
  position:relative!important;
  min-height:40px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  color:var(--v96-blue)!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
#publicGate.v96-active .v96-nav-links a:hover,
#publicGate.v96-active .v96-nav-links a:focus-visible{
  background:rgba(24,52,123,.07)!important;
  outline:none!important;
}
#publicGate.v96-active .v96-nav-links a.is-active{
  background:var(--v96-blue)!important;
  color:#fff!important;
}

/* Hero simple, sans décoration */
#publicGate.v96-active .v96-hero{
  min-height:58vh!important;
  display:grid!important;
  place-items:center!important;
  padding:70px 24px 76px!important;
  background:var(--v96-ivory)!important;
  border-bottom:1px solid var(--v96-line)!important;
}
#publicGate.v96-active .v96-hero-inner{
  width:min(980px,100%)!important;
  text-align:center!important;
}
#publicGate.v96-active .v96-kicker{
  display:block!important;
  margin-bottom:18px!important;
  color:var(--v96-terracotta)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
#publicGate.v96-active .v96-hero h1{
  margin:0!important;
  color:var(--v96-blue)!important;
  font-family:var(--v96-serif)!important;
  font-size:clamp(54px,8vw,112px)!important;
  font-weight:400!important;
  line-height:.95!important;
  letter-spacing:-.03em!important;
}
#publicGate.v96-active .v96-hero h1 em{
  display:inline-block!important;
  margin:0 .12em!important;
  color:var(--v96-orange)!important;
  font-family:var(--v96-script)!important;
  font-size:.72em!important;
  font-style:normal!important;
  font-weight:400!important;
}
#publicGate.v96-active .v96-hero p{
  margin:22px 0 0!important;
  color:var(--v96-blue)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
}
#publicGate.v96-active .v96-primary,
#publicGate.v96-active .v96-button,
#publicGate.v96-active .v96-link-button{
  min-height:48px!important;
  padding:0 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--v96-blue)!important;
  border-radius:12px!important;
  background:var(--v96-blue)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  cursor:pointer!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
#publicGate.v96-active .v96-primary{margin-top:30px!important;background:var(--v96-orange)!important;border-color:var(--v96-orange)!important}
#publicGate.v96-active .v96-primary:hover,
#publicGate.v96-active .v96-button:hover,
#publicGate.v96-active .v96-link-button:hover{transform:translateY(-1px)!important}
#publicGate.v96-active .v96-button-orange{background:var(--v96-orange)!important;border-color:var(--v96-orange)!important}

/* Sections */
#publicGate.v96-active .v96-section{
  padding:0!important;
  border-bottom:1px solid var(--v96-line)!important;
  background:var(--v96-paper)!important;
}
#publicGate.v96-active .v96-section:nth-child(even){background:var(--v96-ivory)!important}
#publicGate.v96-active .v96-section-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(54px,6vw,92px) clamp(24px,6vw,108px)!important;
  box-sizing:border-box!important;
}
#publicGate.v96-active .v96-section-head{
  width:min(1380px,100%)!important;
  margin:0 auto 28px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid var(--v96-line)!important;
}
#publicGate.v96-active .v96-section-head span{
  color:var(--v96-blue)!important;
  font-family:var(--v96-serif)!important;
  font-size:clamp(34px,4vw,62px)!important;
  line-height:1!important;
}
#publicGate.v96-active .v96-section-head small{
  color:var(--v96-gold)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

/* Formulaires */
#publicGate.v96-active .v96-form{
  width:min(1380px,100%)!important;
  margin:0 auto!important;
}
#publicGate.v96-active .v96-people{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
  gap:16px!important;
}
#publicGate.v96-active .v96-person{
  min-width:0!important;
  padding:20px!important;
  border:1px solid var(--v96-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(24,52,123,.04)!important;
}
#publicGate.v96-active .v96-person-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:14px!important;
}
#publicGate.v96-active .v96-person-head h3{
  margin:0!important;
  color:var(--v96-blue)!important;
  font-family:var(--v96-serif)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1.05!important;
}
#publicGate.v96-active .v96-person-head span{
  color:var(--v96-muted)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
#publicGate.v96-active .v96-choice{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
}
#publicGate.v96-active .v96-choice-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#publicGate.v96-active .v96-choice-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#publicGate.v96-active .v96-choice label{display:block!important;cursor:pointer!important;margin:0!important}
#publicGate.v96-active .v96-choice input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
#publicGate.v96-active .v96-choice span{
  min-height:50px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--v96-line)!important;
  border-radius:12px!important;
  background:var(--v96-paper)!important;
  color:var(--v96-blue)!important;
  font-size:13px!important;
  font-weight:800!important;
  text-align:center!important;
  transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease!important;
}
#publicGate.v96-active .v96-choice label:hover span{transform:translateY(-1px)!important;border-color:rgba(24,52,123,.3)!important}
#publicGate.v96-active .v96-choice label:nth-child(1) input:checked+span{
  background:var(--v96-green)!important;
  border-color:var(--v96-green)!important;
  color:#fff!important;
}
#publicGate.v96-active .v96-choice-three label:nth-child(2) input:checked+span{
  background:var(--v96-gold)!important;
  border-color:var(--v96-gold)!important;
  color:#18347B!important;
}
#publicGate.v96-active .v96-choice label:last-child input:checked+span{
  background:var(--v96-orange)!important;
  border-color:var(--v96-orange)!important;
  color:#fff!important;
}

/* Coordonnées / détails */
#publicGate.v96-active .v96-contact,
#publicGate.v96-active .v96-details{
  margin-top:14px!important;
  border-top:1px solid var(--v96-line)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#publicGate.v96-active .v96-contact summary,
#publicGate.v96-active .v96-details summary{
  min-height:46px!important;
  padding:14px 0 0!important;
  display:flex!important;
  align-items:center!important;
  color:var(--v96-blue)!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
  list-style:none!important;
}
#publicGate.v96-active .v96-contact summary::-webkit-details-marker,
#publicGate.v96-active .v96-details summary::-webkit-details-marker{display:none!important}
#publicGate.v96-active .v96-contact summary::after,
#publicGate.v96-active .v96-details summary::after{
  content:'+'!important;
  margin-left:auto!important;
  color:var(--v96-orange)!important;
  font-size:18px!important;
  font-weight:400!important;
}
#publicGate.v96-active .v96-contact[open] summary::after,
#publicGate.v96-active .v96-details[open] summary::after{content:'−'!important}
#publicGate.v96-active .v96-contact-body,
#publicGate.v96-active .v96-details-body{padding:14px 0 0!important}
#publicGate.v96-active .v96-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#publicGate.v96-active .v96-field-wide{grid-column:1/-1!important}
#publicGate.v96-active .v96-copy-contact{margin-bottom:12px!important}
#publicGate.v96-active .v96-site .field{min-width:0!important}
#publicGate.v96-active .v96-site .fl{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--v96-blue)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#publicGate.v96-active .v96-site input,
#publicGate.v96-active .v96-site select,
#publicGate.v96-active .v96-site textarea{
  width:100%!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border:1px solid var(--v96-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#263149!important;
  font:400 13px/1.35 Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
  outline:none!important;
}
#publicGate.v96-active .v96-site input:focus,
#publicGate.v96-active .v96-site select:focus,
#publicGate.v96-active .v96-site textarea:focus{
  border-color:var(--v96-blue)!important;
  box-shadow:0 0 0 3px rgba(24,52,123,.08)!important;
}
#publicGate.v96-active .v96-submit{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:18px!important;
}
#publicGate.v96-active .public-lodging-options{margin-top:10px!important}
#publicGate.v96-active .public-lodging-choice-help{display:block!important;margin-top:7px!important;color:var(--v96-muted)!important;font-size:10px!important}
#publicGate.v96-active .public-lodging-choice-help a{color:var(--v96-orange)!important}
#publicGate.v96-active .public-result{
  margin-top:12px!important;
  padding:12px 14px!important;
  border-radius:10px!important;
  background:rgba(216,168,45,.1)!important;
  color:var(--v96-blue)!important;
}
#publicGate.v96-active .public-success{background:rgba(136,149,44,.12)!important;border:1px solid rgba(136,149,44,.35)!important}

/* Programme */
#publicGate.v96-active .v96-program{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
}
#publicGate.v96-active .v96-program-row{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:30px!important;
  padding:22px 0!important;
  border-bottom:1px solid var(--v96-line)!important;
}
#publicGate.v96-active .v96-program-row:last-child{border-bottom:0!important}
#publicGate.v96-active .v96-program-row time{
  color:var(--v96-terracotta)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
}
#publicGate.v96-active .v96-program-row h3{
  margin:0!important;
  color:var(--v96-blue)!important;
  font-family:var(--v96-serif)!important;
  font-size:28px!important;
  font-weight:400!important;
}
#publicGate.v96-active .v96-program-row span,
#publicGate.v96-active .v96-program-row p{display:block!important;margin:6px 0 0!important;color:#50586a!important;line-height:1.55!important}
#publicGate.v96-active .v96-program-row a{display:inline-block!important;margin-top:8px!important;color:var(--v96-orange)!important;text-decoration:none!important;font-weight:800!important;font-size:11px!important}

/* Hébergements */
#publicGate.v96-active .v96-lodgings{
  width:min(1380px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:14px!important;
}
#publicGate.v96-active .v96-lodging{
  min-width:0!important;
  padding:20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:20px!important;
  border:1px solid rgba(136,149,44,.28)!important;
  border-radius:16px!important;
  background:#fff!important;
}
#publicGate.v96-active .v96-lodging small{
  color:var(--v96-green)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#publicGate.v96-active .v96-lodging h3{
  margin:8px 0 0!important;
  color:var(--v96-blue)!important;
  font-family:var(--v96-serif)!important;
  font-size:28px!important;
  font-weight:400!important;
}
#publicGate.v96-active .v96-lodging p{margin:7px 0 0!important;color:#50586a!important;line-height:1.55!important}
#publicGate.v96-active .v96-link-button{align-self:flex-start!important;background:transparent!important;color:var(--v96-blue)!important;border-color:rgba(24,52,123,.22)!important;min-height:42px!important}
#publicGate.v96-active .v96-link-button:hover{background:var(--v96-blue)!important;color:#fff!important}
#publicGate.v96-active .v96-empty{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  padding:22px!important;
  border:1px dashed var(--v96-line)!important;
  border-radius:12px!important;
  color:var(--v96-muted)!important;
  text-align:center!important;
}

/* Footer */
#publicGate.v96-active .v96-footer{
  padding:40px 20px!important;
  background:var(--v96-blue)!important;
  color:#fff!important;
  text-align:center!important;
  font-family:var(--v96-serif)!important;
  font-size:22px!important;
  letter-spacing:.03em!important;
}
#publicGate.v96-active .v96-footer span{font-family:var(--v96-script)!important;color:var(--v96-gold)!important}

@media(max-width:900px){
  #publicGate.v96-active .v96-nav{align-items:flex-start!important;flex-direction:column!important;padding:12px 16px!important;gap:8px!important}
  #publicGate.v96-active .v96-nav-links{width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important;scrollbar-width:none!important}
  #publicGate.v96-active .v96-nav-links::-webkit-scrollbar{display:none!important}
  #publicGate.v96-active .v96-nav-links a{flex:0 0 auto!important}
  #publicGate.v96-active .v96-hero{min-height:50vh!important;padding:52px 18px 58px!important}
  #publicGate.v96-active .v96-section-shell{padding:48px 18px!important}
  #publicGate.v96-active .v96-section-head{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  #publicGate.v96-active .v96-program-row{grid-template-columns:1fr!important;gap:8px!important}
}
@media(max-width:620px){
  #publicGate.v96-active .v96-hero h1{font-size:54px!important}
  #publicGate.v96-active .v96-hero h1 em{display:block!important;margin:.12em 0!important}
  #publicGate.v96-active .v96-people{grid-template-columns:1fr!important}
  #publicGate.v96-active .v96-person{padding:16px!important}
  #publicGate.v96-active .v96-person-head{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
  #publicGate.v96-active .v96-choice-three{grid-template-columns:1fr!important}
  #publicGate.v96-active .v96-fields{grid-template-columns:1fr!important}
  #publicGate.v96-active .v96-field-wide{grid-column:auto!important}
  #publicGate.v96-active .v96-submit .v96-button{width:100%!important}
}

/* ========================================================================== */
/* V97 — réglages de visibilité des champs                                   */
/* ========================================================================== */
.portal-v97-field-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.portal-v97-field-list .portal-v94-switch-row{
  min-height:70px!important;
}
@media(max-width:820px){
  .portal-v97-field-list{grid-template-columns:1fr!important}
}
