:root{--bg:#f7f2eb;--paper:#fffdf9;--ink:#2d2925;--muted:#7b736b;--line:#e7ddd1;--accent:#8e7253;--accent2:#a6b19a;--dark:#2e2a26;--soft:#f0e8dd;--danger:#a85151;--shadow:0 18px 55px rgba(65,48,32,.12);--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}
.hidden{display:none!important}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800}.light{color:#dcc9b1}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:13px;font-weight:800;letter-spacing:.08em}.brand strong{display:block;font-family:Georgia,serif;font-size:18px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.landing-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:15px 5vw;background:rgba(247,242,235,.93);backdrop-filter:blur(15px);border-bottom:1px solid rgba(231,221,209,.75)}.landing-header nav{display:flex;align-items:center;gap:10px}.landing-header nav a{text-decoration:none;padding:10px;font-size:14px}.btn{border:0;border-radius:999px;padding:11px 18px;font-weight:750}.btn.primary{background:var(--accent);color:white;box-shadow:0 9px 25px rgba(142,114,83,.22)}.btn.primary:hover{background:#745c42}.btn.soft{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn.xl{padding:15px 24px}
.hero{min-height:720px;padding:90px 7vw 80px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.hero-copy{max-width:710px}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,6.5vw,86px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 24px}.hero h1 em{font-weight:500;color:var(--accent)}.hero-copy>p{font-size:19px;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0 22px}.trust{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.hero-preview{position:relative}.day-pill{position:absolute;z-index:2;right:-15px;top:-24px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--accent2);color:white;font-weight:800;box-shadow:var(--shadow)}.preview-card{background:var(--paper);padding:30px;border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(1.2deg)}.preview-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.preview-top h3{font-family:Georgia,serif;font-size:30px;margin:8px 0}.preview-top p{color:var(--muted);margin:0}.mini-label{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.12em}.progress-ring{width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--accent) 48%,var(--soft) 0);display:grid;place-items:center;position:relative}.progress-ring:after{content:"";position:absolute;inset:11px;background:var(--paper);border-radius:50%}.progress-ring b{z-index:1}.progress{height:9px;background:var(--soft);border-radius:999px;overflow:hidden;margin:24px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-stats div{background:#f8f4ef;border-radius:16px;padding:16px}.preview-stats b,.preview-stats small{display:block}.preview-stats small{color:var(--muted);margin-top:4px}.next{margin-top:18px;padding:18px;border-radius:18px;background:#efebe5}.next small,.next b{display:block}.next small{color:var(--muted);margin-bottom:5px}
.section{padding:95px 7vw}.section.muted{background:#eee6db}.section-title{max-width:760px;margin-bottom:40px}.section-title.center{text-align:center;margin-left:auto;margin-right:auto}.section-title h2,.cta h2{font-family:Georgia,serif;font-size:50px;line-height:1.08;margin:12px 0}.section-title p{color:var(--muted);font-size:17px}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.features-grid article{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:20px;padding:24px}.features-grid article>span{font-size:28px}.features-grid p{color:var(--muted);line-height:1.55}.tag-list{display:flex;flex-wrap:wrap;gap:12px}.tag-list span{padding:13px 18px;background:#fff;border:1px solid var(--line);border-radius:999px}.cta{margin:45px 7vw 90px;padding:72px 30px;background:var(--dark);border-radius:32px;text-align:center;color:#fff}.cta h2{max-width:800px;margin:14px auto 30px}
.app{position:fixed;inset:0;z-index:80;background:#f6f1ea;display:grid;grid-template-columns:265px 1fr}.sidebar{background:var(--dark);color:#fff;padding:22px 17px;display:flex;flex-direction:column;overflow:auto}.side-brand{display:flex;gap:12px;align-items:center;padding:5px 7px 22px}.side-brand strong{font-family:Georgia,serif}.event-switcher{padding:14px;border:1px solid #4d453d;border-radius:16px;margin-bottom:16px;background:#37312c}.event-switcher label{display:block;font-size:11px;color:#c9bfb5;margin-bottom:7px}.event-switcher select{width:100%;background:#2f2a26;color:white;border:1px solid #5b5148;border-radius:10px;padding:10px}.linkbtn{border:0;background:transparent;color:var(--accent);font-weight:750;padding:6px}.sidebar .linkbtn{color:#d8c2a7;text-align:left}.side-nav{display:grid;gap:5px}.side-nav button{border:0;background:transparent;color:#eee7df;padding:12px 14px;border-radius:12px;text-align:left}.side-nav button.active,.side-nav button:hover{background:#433c35}.side-bottom{margin-top:auto;display:grid;gap:5px;border-top:1px solid #4c443d;padding-top:15px}.danger-text{color:#e7a7a7!important}
.app-main{padding:32px;overflow:auto}.app-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:26px}.app-top h1{font-family:Georgia,serif;font-size:42px;margin:8px 0}.app-top p{color:var(--muted);margin:0}.app-top-right{display:flex;gap:10px;align-items:center}.countdown{background:white;border:1px solid var(--line);border-radius:17px;padding:14px 18px;min-width:145px}.countdown small,.countdown b{display:block}.countdown small{color:var(--muted);font-size:11px}.countdown b{font-size:23px;margin-top:3px}.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.stat small,.stat span{display:block;color:var(--muted);font-size:12px}.stat b{display:block;font-size:24px;margin-top:8px}.dash-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-head h3{margin:0}.task-row,.list-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #eee6dc}.task-row:first-child,.list-row:first-child{border-top:0}.task-check{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#f4eee7}.task-row.done .task-check{background:#dfe7d8;color:#5e7255}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-title{font-weight:750}.sub{color:var(--muted);font-size:12px;margin-top:4px}.row-actions{display:flex;gap:5px}.iconbtn{border:1px solid var(--line);background:white;border-radius:10px;padding:8px}.budget-line{display:flex;justify-content:space-between;padding:10px 0}.bar{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.quick button{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px;font-weight:750}.view-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.view-head h2{font-family:Georgia,serif;font-size:36px;margin:0 0 6px}.view-head p{margin:0;color:var(--muted)}.filters{margin-bottom:12px}.filters select{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.status{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#f0e8dd}.status.ok{background:#dde7d7;color:#576a50}.status.wait{background:#f3e5c8;color:#89681c}.status.no{background:#efd9d9;color:#8f4545}.cards-list,.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card,.note-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.mini-card h3,.note-card h3{margin:0 0 8px}.mini-card p,.note-card p{color:var(--muted);line-height:1.5}.note-card{min-height:150px}.empty{text-align:center;padding:45px 20px;color:var(--muted)}
.modal{position:fixed;inset:0;z-index:120}.modal-bg{position:absolute;inset:0;background:rgba(35,30,26,.6);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;width:min(650px,92vw);max-height:90vh;overflow:auto;margin:5vh auto;background:var(--paper);border-radius:26px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-close{position:absolute;right:15px;top:13px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px}.modal-card h2{font-family:Georgia,serif;font-size:34px;margin:6px 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:block;margin:12px 0;font-weight:700}.field input,.field select,.field textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.field textarea{min-height:110px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid button{padding:17px;border:1px solid var(--line);border-radius:14px;background:#faf6f0;text-align:left;font-weight:750}
#toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#2e2a26;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}
@media(max-width:1100px){.landing-header nav a{display:none}.hero{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.cards-list,.notes-grid{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}}
@media(max-width:780px){.brand small,.landing-header .soft{display:none}.hero{padding:55px 5vw}.hero h1{font-size:50px}.hero-actions{flex-direction:column}.preview-stats{grid-template-columns:1fr}.section{padding:65px 5vw}.features-grid{grid-template-columns:1fr 1fr}.section-title h2,.cta h2{font-size:38px}.cta{margin:25px 5vw 60px}.app{grid-template-columns:1fr}.sidebar{display:none}.app-main{padding:19px}.app-top{flex-direction:column}.app-top h1{font-size:34px}.stats{grid-template-columns:1fr 1fr}.cards-list,.notes-grid{grid-template-columns:1fr}.form-grid,.choice-grid{grid-template-columns:1fr}}
@media(max-width:480px){.features-grid,.stats{grid-template-columns:1fr}.landing-header{padding:11px 4vw}.brand strong{font-size:14px}.brand-badge{width:38px;height:38px}.landing-header .primary{padding:9px 11px;font-size:12px}.hero h1{font-size:44px}}

.free-box{margin:24px 0;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:16px;max-width:640px}
.free-box strong,.free-box span{display:block}.free-box span{color:var(--muted);margin-top:6px;line-height:1.5}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.step-num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-weight:800;margin-bottom:18px}.steps-grid p{color:var(--muted);line-height:1.55}
.support-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:var(--shadow)}.support-card h2{font-family:Georgia,serif;font-size:38px;margin:10px 0}.support-card p{color:var(--muted);max-width:780px;line-height:1.6}
.account-mini{border-top:1px solid #4c443d;padding:14px 5px 10px;color:#ddd0c2;font-size:12px}.account-mini strong{display:block;color:white;font-size:13px;margin-bottom:3px}
.print-sheet{display:none}
@media(max-width:1100px){.steps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.steps-grid{grid-template-columns:1fr}.support-card{flex-direction:column;align-items:flex-start}}
@media print{
  body{background:white!important;color:#222!important}
  body>*{display:none!important}
  #printArea{display:block!important;position:static!important;background:white!important;color:#222!important;padding:20px!important}
  #printArea h1,#printArea h2,#printArea h3{font-family:Georgia,serif}
  #printArea table{width:100%;border-collapse:collapse;margin:12px 0 24px}
  #printArea th,#printArea td{border:1px solid #bbb;padding:8px;text-align:left}
  #printArea .print-section{break-inside:avoid}
}

.alert{padding:14px 16px;border-radius:14px;margin-bottom:14px;background:#fff3d6;border:1px solid #ead39d}.alert.danger{background:#f8e1e1;border-color:#e5bcbc}.alert.success{background:#e5efe0;border-color:#c6d9bd}.seating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.table-card{background:#fff;border:1px solid var(--line);border-radius:50%;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.table-card h3{font-family:Georgia,serif;font-size:23px;margin:0 0 8px}.table-guests{font-size:12px;color:var(--muted);line-height:1.5;max-height:100px;overflow:auto}.assign-list{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.assign-row{display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #eee6dc}.assign-row:first-child{border-top:0}.assign-row select{padding:10px;border:1px solid var(--line);border-radius:10px}.share-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.share-link{display:flex;gap:8px;margin:14px 0}.share-link input{flex:1;padding:12px;border:1px solid var(--line);border-radius:10px}.qr-wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.qr-wrap img{width:220px;height:220px;border:1px solid var(--line);padding:8px;background:#fff}.responses{margin-top:18px}.guest-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(160deg,#f7f2eb,#eee3d6)}.guest-card{width:min(760px,95vw);background:#fffdf9;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px}.guest-card h1{font-family:Georgia,serif;font-size:42px;margin:28px 0 8px}.guest-date{font-size:20px;color:var(--accent)}.admin-page{max-width:1200px;margin:0 auto;padding:30px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.directory-card a{color:var(--accent)}
@media(max-width:900px){.seating-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.seating-grid{grid-template-columns:1fr}.assign-row{grid-template-columns:1fr}.qr-wrap img{width:180px;height:180px}}


/* ===== V2.1 - Tableau de bord d'accompagnement ===== */
.welcome-dashboard{
  display:grid;
  grid-template-columns:1fr 270px;
  gap:18px;
  align-items:stretch;
  margin-bottom:16px;
}
.welcome-main{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fffdf9 0%,#f1e7db 100%);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
}
.welcome-main:after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  border-radius:50%;
  right:-75px;bottom:-95px;
  background:rgba(142,114,83,.09);
}
.welcome-main h2{
  font-family:Georgia,serif;
  font-size:34px;
  line-height:1.12;
  margin:8px 0 10px;
  max-width:760px;
}
.welcome-main p{
  color:var(--muted);
  line-height:1.65;
  max-width:850px;
  margin:0;
}
.welcome-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
  position:relative;
  z-index:1;
}
.stage-card{
  background:var(--dark);
  color:white;
  border-radius:24px;
  padding:25px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:var(--shadow);
}
.stage-card small{
  color:#cfc3b7;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10px;
}
.stage-card strong{
  font-family:Georgia,serif;
  font-size:26px;
  margin:9px 0 8px;
}
.stage-card span{
  color:#e2d9d0;
  font-size:13px;
  line-height:1.5;
}
.getting-started,.advice-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  margin-bottom:16px;
}
.getting-started .panel-head h3,.advice-panel .panel-head h3{
  margin:5px 0 0;
  font-size:20px;
}
.setup-score{
  border-radius:999px;
  padding:7px 12px;
  background:var(--soft);
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}
.setup-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:15px;
}
.setup-item{
  border:1px solid var(--line);
  background:#faf7f2;
  border-radius:16px;
  padding:16px;
  min-height:145px;
  display:flex;
  flex-direction:column;
}
.setup-item.done{
  background:#f0f5ed;
  border-color:#d4dfce;
}
.setup-icon{
  font-size:24px;
  margin-bottom:9px;
}
.setup-item strong{
  display:block;
  margin-bottom:5px;
}
.setup-item p{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  margin:0 0 12px;
}
.setup-item button{
  margin-top:auto;
  align-self:flex-start;
  border:0;
  background:transparent;
  color:var(--accent);
  padding:0;
  font-weight:800;
}
.setup-item.done button{color:#607357}
.advice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:12px;
}
.advice-card{
  position:relative;
  border:1px solid var(--line);
  border-radius:16px;
  padding:17px;
  background:#fffdf9;
}
.advice-card.priority{
  background:#f7efe4;
  border-color:#dfcdb7;
}
.advice-card .advice-icon{
  font-size:25px;
  display:block;
  margin-bottom:10px;
}
.advice-card strong{
  display:block;
  margin-bottom:7px;
}
.advice-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.advice-card .advice-action{
  display:inline-block;
  margin-top:12px;
  border:0;
  background:transparent;
  padding:0;
  color:var(--accent);
  font-weight:800;
}
.advice-card .badge{
  position:absolute;
  top:13px;right:13px;
  padding:4px 7px;
  border-radius:999px;
  background:#ede2d3;
  color:#735d45;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
@media(max-width:1100px){
  .welcome-dashboard{grid-template-columns:1fr}
  .setup-grid{grid-template-columns:1fr 1fr}
  .advice-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .setup-grid,.advice-grid{grid-template-columns:1fr}
  .welcome-main h2{font-size:29px}
}


/* ===== V2.2 - Atelier Faire-part ===== */
.invitation-layout{
  display:grid;
  grid-template-columns:290px 1fr;
  gap:16px;
}
.invitation-library{
  align-self:start;
  position:sticky;
  top:0;
}
.invitation-saved{
  border:1px solid var(--line);
  background:#fffdf9;
  border-radius:14px;
  padding:13px;
  margin:9px 0;
  cursor:pointer;
  transition:.15s;
}
.invitation-saved:hover,.invitation-saved.active{
  border-color:#c9af8f;
  box-shadow:0 8px 22px rgba(65,48,32,.08);
}
.invitation-saved strong,.invitation-saved small{display:block}
.invitation-saved small{color:var(--muted);margin-top:4px}
.invitation-saved-actions{display:flex;gap:6px;margin-top:9px}
.invitation-saved-actions button{border:0;background:transparent;color:var(--accent);padding:0;font-size:12px;font-weight:800}
.invitation-empty{padding:70px 20px}
.invitation-empty-icon{font-size:52px;margin-bottom:10px}
.invitation-editor-grid{
  display:grid;
  grid-template-columns:minmax(330px,460px) minmax(430px,1fr);
  gap:16px;
  align-items:start;
}
.invitation-controls{max-height:calc(100vh - 160px);overflow:auto}
.editor-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.editor-section:last-of-type{border-bottom:0}
.template-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}
.template-option{
  border:1px solid var(--line);
  background:white;
  border-radius:12px;
  padding:11px 7px;
  text-align:center;
  font-size:12px;
  font-weight:800;
}
.template-option span{display:block;font-size:23px;margin-bottom:5px}
.template-option.active{border-color:var(--accent);background:#f5eee5;color:var(--accent)}
.check-line{display:flex;gap:10px;align-items:center;margin-top:12px;font-weight:700}
.check-line input{width:18px;height:18px}
.editor-actions{display:flex;gap:8px;flex-wrap:wrap}
.invitation-preview-column{position:sticky;top:0}
.preview-toolbar{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:0 0 8px}
.invitation-preview-shell{
  background:#ddd7cf;
  border-radius:20px;
  padding:28px;
  display:flex;
  justify-content:center;
  min-height:690px;
  box-shadow:inset 0 0 35px rgba(0,0,0,.05);
}
.invitation-card{
  --inv-primary:#8e7253;
  --inv-secondary:#e9dfd2;
  width:min(100%,520px);
  aspect-ratio:148/210;
  background:white;
  box-shadow:0 20px 55px rgba(38,29,20,.18);
  padding:44px 38px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#342f2a;
}
.invitation-card .inv-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:var(--inv-primary);font-weight:800}
.invitation-card .inv-heading{font-family:Georgia,serif;font-size:37px;line-height:1.08;margin:14px 0;color:var(--inv-primary)}
.invitation-card .inv-date{font-size:19px;font-weight:800;margin:4px 0 14px}
.invitation-card .inv-body{font-family:Georgia,serif;font-size:17px;line-height:1.55;max-width:390px;white-space:pre-line}
.invitation-card .inv-place{margin-top:20px;font-weight:800}
.invitation-card .inv-address{color:#777;font-size:12px;margin-top:4px}
.invitation-card .inv-rsvp{font-size:11px;color:#777;margin-top:20px;max-width:360px}
.invitation-card .inv-qr{margin-top:15px;display:flex;align-items:center;gap:9px;font-size:9px;color:#777}
.invitation-card .inv-qr img{width:72px;height:72px;background:white;padding:3px}
.invitation-card:before,.invitation-card:after{content:"";position:absolute;pointer-events:none}

/* Elegant */
.invitation-card.tpl-elegant{
  border:12px solid white;
  outline:1px solid var(--inv-secondary);
  outline-offset:-22px;
}
.invitation-card.tpl-elegant:before{
  width:180px;height:180px;border-radius:50%;
  border:1px solid var(--inv-secondary);top:-115px;left:-70px;
}
.invitation-card.tpl-elegant:after{
  width:220px;height:220px;border-radius:50%;
  border:1px solid var(--inv-secondary);bottom:-150px;right:-95px;
}

/* Champêtre */
.invitation-card.tpl-champetre{
  background:linear-gradient(160deg,#fffdf7,#f6f1e7);
}
.invitation-card.tpl-champetre:before{
  width:180px;height:300px;left:-80px;top:-40px;
  background:
    radial-gradient(ellipse at 60% 20%,var(--inv-secondary) 0 9%,transparent 10%),
    radial-gradient(ellipse at 45% 38%,var(--inv-secondary) 0 8%,transparent 9%),
    radial-gradient(ellipse at 70% 55%,var(--inv-secondary) 0 8%,transparent 9%);
  transform:rotate(-18deg);
}
.invitation-card.tpl-champetre:after{
  width:160px;height:260px;right:-70px;bottom:-20px;
  background:
    radial-gradient(ellipse at 50% 20%,var(--inv-secondary) 0 9%,transparent 10%),
    radial-gradient(ellipse at 60% 45%,var(--inv-secondary) 0 8%,transparent 9%),
    radial-gradient(ellipse at 40% 67%,var(--inv-secondary) 0 8%,transparent 9%);
  transform:rotate(20deg);
}

/* Moderne */
.invitation-card.tpl-moderne{
  text-align:left;align-items:flex-start;
  justify-content:flex-end;
  background:linear-gradient(145deg,#fff 0 73%,var(--inv-secondary) 73% 100%);
}
.invitation-card.tpl-moderne .inv-heading{font-family:Arial,sans-serif;font-weight:900;font-size:42px;letter-spacing:-.04em}
.invitation-card.tpl-moderne:before{
  width:10px;height:130px;background:var(--inv-primary);top:45px;left:38px;
}

/* Romantique */
.invitation-card.tpl-romantique{
  background:radial-gradient(circle at 50% 25%,#fff 0 32%,#fff8f7 100%);
}
.invitation-card.tpl-romantique .inv-heading{font-style:italic}
.invitation-card.tpl-romantique:before{
  width:260px;height:120px;top:-45px;left:50%;transform:translateX(-50%);
  border-radius:0 0 50% 50%;
  background:var(--inv-secondary);opacity:.55;
}
.invitation-card.tpl-romantique:after{
  width:130px;height:130px;border:1px solid var(--inv-primary);opacity:.25;
  transform:rotate(45deg);bottom:-75px;
}

/* Minimal */
.invitation-card.tpl-minimal{justify-content:flex-start;padding-top:82px}
.invitation-card.tpl-minimal .inv-heading{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:30px}
.invitation-card.tpl-minimal:before{
  width:70%;height:2px;background:var(--inv-primary);top:58px;
}
.invitation-card.tpl-minimal:after{
  width:70%;height:2px;background:var(--inv-primary);bottom:58px;
}

/* Fête */
.invitation-card.tpl-fete{
  background:linear-gradient(135deg,#fff,var(--inv-secondary));
}
.invitation-card.tpl-fete .inv-heading{font-family:Arial,sans-serif;font-weight:900;font-size:40px}
.invitation-card.tpl-fete:before{
  inset:0;
  background:
   radial-gradient(circle at 12% 14%,var(--inv-primary) 0 4px,transparent 5px),
   radial-gradient(circle at 82% 20%,var(--inv-primary) 0 3px,transparent 4px),
   radial-gradient(circle at 90% 72%,var(--inv-primary) 0 5px,transparent 6px),
   radial-gradient(circle at 18% 82%,var(--inv-primary) 0 3px,transparent 4px);
  opacity:.35;
}
.preview-help{font-size:12px;color:var(--muted);line-height:1.5}

@media(max-width:1150px){
  .invitation-layout{grid-template-columns:1fr}
  .invitation-library,.invitation-preview-column{position:static}
  .invitation-editor-grid{grid-template-columns:1fr}
  .invitation-controls{max-height:none}
}
@media(max-width:650px){
  .template-picker{grid-template-columns:1fr 1fr}
  .invitation-preview-shell{padding:10px;min-height:auto}
  .invitation-card{padding:32px 22px}
  .invitation-card .inv-heading{font-size:29px}
}

/* Dedicated invitation printing */
@media print{
  body.printing-invitation #printArea{display:block!important}
  body.printing-invitation #printArea .print-invitation-wrap{
    width:148mm;height:210mm;margin:0 auto;display:flex;align-items:stretch;
  }
  body.printing-invitation #printArea .invitation-card{
    box-shadow:none!important;width:148mm!important;height:210mm!important;aspect-ratio:auto!important;
  }
  @page{size:A5 portrait;margin:0}
}


/* ===== V2.2.1 - Fond personnalisé pour les faire-part ===== */
.background-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.background-status{
  margin-top:10px;
  font-size:12px;
  color:var(--muted);
  line-height:1.45;
}
.field-help{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  margin-top:8px;
}
.invitation-card.has-custom-bg{
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.invitation-card .inv-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(255,255,255,.2);
}
.invitation-card.has-custom-bg .inv-kicker,
.invitation-card.has-custom-bg .inv-heading,
.invitation-card.has-custom-bg .inv-date,
.invitation-card.has-custom-bg .inv-body,
.invitation-card.has-custom-bg .inv-place,
.invitation-card.has-custom-bg .inv-address,
.invitation-card.has-custom-bg .inv-rsvp,
.invitation-card.has-custom-bg .inv-qr{
  position:relative;
  z-index:2;
}


/* ===== V2.3 - Faire-part PRO ===== */
.recipient-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.invitation-back-shell{margin-top:14px}
.inv-recipient{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin-bottom:9px;color:var(--inv-primary);position:relative;z-index:2}
.inv-extra{margin-top:12px;font-size:11px;line-height:1.45;color:#69635d;position:relative;z-index:2}
.inv-extra b{color:#3d3731}
.invitation-card{--inv-heading-size:37px;--inv-body-size:17px;--inv-font:Georgia,serif}
.invitation-card .inv-heading{font-family:var(--inv-font);font-size:var(--inv-heading-size)}
.invitation-card .inv-body{font-family:var(--inv-font);font-size:var(--inv-body-size)}
.invitation-card.font-garamond{--inv-font:Garamond,"Times New Roman",serif}
.invitation-card.font-serif{--inv-font:"Times New Roman",serif}
.invitation-card.font-sans{--inv-font:Arial,Helvetica,sans-serif}
.invitation-card.font-cursive{--inv-font:"Brush Script MT","Segoe Script",cursive}
.print-invitation-page{page-break-after:always;break-after:page;display:flex;align-items:center;justify-content:center}
.print-invitation-page:last-child{page-break-after:auto;break-after:auto}
#printArea .invitation-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}
@media print{
  html,body,#printArea,#printArea *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.printing-invitation #printArea{display:block!important;width:100%!important;margin:0!important;padding:0!important}
}


/* ===== V2.4 - Fiche événement imprimable ===== */
.event-print-sheet{font-family:Arial,Helvetica,sans-serif;color:#322d28;background:#fff}
.event-print-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:0 0 22px;border-bottom:2px solid #d9c8b3;margin-bottom:18px
}
.event-print-brand{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:#8e7253}
.event-print-header h1{font-family:Georgia,serif!important;font-size:30px;margin:7px 0 5px;color:#332d27}
.event-print-header p{margin:0;color:#766d65}
.event-print-badge{border:1px solid #d9c8b3;background:#f7f1e9;border-radius:999px;padding:9px 14px;font-weight:800;color:#765f47}
.event-print-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:24px}
.event-print-summary>div{border:1px solid #e3d8cb;background:#fcfaf7;border-radius:12px;padding:13px}
.event-print-summary span,.event-print-summary small{display:block;color:#7b7269;font-size:10px}
.event-print-summary strong{display:block;font-family:Georgia,serif;font-size:19px;margin:5px 0;color:#4a3d31}
.event-print-section{margin-top:20px}
.event-print-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.event-print-title span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#8e7253;color:#fff;font-size:10px;font-weight:900}
.event-print-title h2{font-family:Georgia,serif!important;margin:0;font-size:19px}
.event-print-table{width:100%;border-collapse:separate!important;border-spacing:0!important;border:1px solid #e0d6ca;border-radius:10px;overflow:hidden;margin:0 0 12px!important}
.event-print-table th{background:#f3ede5;border:0!important;border-bottom:1px solid #d9cdbf!important;padding:8px!important;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6f6256}
.event-print-table td{border:0!important;border-bottom:1px solid #eee7df!important;padding:8px!important;font-size:11px;vertical-align:top}
.event-print-table tr:last-child td{border-bottom:0!important}
.print-muted{font-size:10px;color:#8a8179;margin-top:2px}
.print-pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}
.print-pill.done{background:#e6efe1;color:#566a4c}.print-pill.todo{background:#f2e8db;color:#846746}
.print-category{font-size:9px;color:#8e7253;text-transform:uppercase;letter-spacing:.05em}
.event-budget-strip{display:flex;gap:16px;flex-wrap:wrap;background:#f7f1e9;border-radius:10px;padding:9px 12px;margin-bottom:8px;font-size:11px}
.event-print-footer{border-top:1px solid #ddd1c4;margin-top:25px;padding-top:9px;font-size:9px;color:#91877e;text-align:center}
@media print{
  @page{size:A4 portrait;margin:12mm}
  body.printing-event #printArea{display:block!important;padding:0!important}
  body.printing-event #printArea,.event-print-sheet,.event-print-sheet *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.printing-event .event-print-section{break-inside:auto}
  body.printing-event .event-print-summary,
  body.printing-event .event-print-header,
  body.printing-event .event-budget-strip{break-inside:avoid}
  body.printing-event tr{break-inside:avoid}
}


/* ===== V2.5 - Wedding Planner ===== */
.planner-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px;background:linear-gradient(135deg,#fffdf9,#f3eadf)}
.planner-intro h3{font-family:Georgia,serif;margin:5px 0 8px;font-size:22px}
.planner-intro p{margin:0;color:var(--muted);line-height:1.55;max-width:720px}
.planner-security{max-width:310px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:12px;line-height:1.5}
.planner-card{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:10px;background:#fffdf9}
.planner-card.inactive{opacity:.62}
.planner-card h4{margin:0 0 4px;font-size:15px}.planner-card p{margin:0;color:var(--muted);font-size:12px}
.planner-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.access-chip{padding:5px 8px;border-radius:999px;background:#eee5d9;color:#745d45;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.access-chip.edit{background:#e2ecdd;color:#566a4c}.access-chip.off{background:#eee;color:#777}
@media(max-width:700px){.planner-intro,.planner-card{display:block}.planner-security,.planner-card-actions{margin-top:12px}}


/* ===== V3.0 - Interface plus claire ===== */
.grouped-nav{display:flex;flex-direction:column;gap:7px}.grouped-nav details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:4px}.grouped-nav summary{cursor:pointer;padding:9px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.72;list-style:none}.grouped-nav summary::-webkit-details-marker{display:none}.grouped-nav details button{width:100%}.head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.smart-assistant-panel{margin:18px 0;background:linear-gradient(135deg,#fffdf9,#f7f0e8)}.assistant-alerts{display:grid;gap:8px}.assistant-alert{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.assistant-alert strong{display:block}.assistant-alert small{color:var(--muted)}.assistant-alert.urgent{border-color:#e4b9aa;background:#fff8f5}.assistant-alert.good{border-color:#cfdcc9;background:#f8fbf6}
.budget-bar{margin:9px 0}.budget-bar-head{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px}.budget-bar-track{height:8px;border-radius:999px;background:#eee5db;overflow:hidden}.budget-bar-fill{height:100%;background:linear-gradient(90deg,#b3926b,#7f674f)}
.timeline-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-time{font-family:Georgia,serif;font-weight:800;font-size:18px;color:#775e47}.timeline-row:last-child{border-bottom:0}.timeline-meta{font-size:11px;color:var(--muted);margin-top:3px}
.inspiration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.inspiration-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.inspiration-card img{width:100%;height:150px;object-fit:cover;background:#f2ece4}.inspiration-card .body{padding:13px}.inspiration-card h3{margin:0 0 6px;font-size:15px}.inspiration-card p{font-size:12px;color:var(--muted)}
.stationery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.stationery-card{border:1px solid var(--line);background:#fffdf9;border-radius:18px;padding:20px;text-align:left;cursor:pointer}.stationery-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(60,45,32,.08)}.stationery-card span{font-size:26px;display:block;margin-bottom:10px}.stationery-card b,.stationery-card small{display:block}.stationery-card small{color:var(--muted);margin-top:5px}
.settings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px}.setting-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.setting-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.setting-card b{display:block;margin-top:5px}
.dayj-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#faf4ec,#fff)}.dayj-hero h3{font-family:Georgia,serif;font-size:28px;margin:5px 0}.dayj-countdown{font-family:Georgia,serif;font-size:34px;font-weight:800;color:#725a43}.provider-compare-panel{margin-top:16px}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.comparison-table th{font-size:10px;text-transform:uppercase;color:var(--muted)}
.activity-item{padding:10px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item small{display:block;color:var(--muted);margin-top:3px}
.paper-sheet{background:#fff;color:#2f2924;font-family:Georgia,serif}.paper-title{text-align:center;font-size:28px;margin:0 0 8px}.paper-sub{text-align:center;color:#7b6b5d;margin:0 0 26px}.paper-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12mm}.paper-card{border:1px solid #ccbda8;padding:10mm;text-align:center;break-inside:avoid}.label-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8mm}.address-label{border:1px dashed #bbb;padding:8mm;min-height:32mm;break-inside:avoid}.table-poster{height:120mm;display:flex;align-items:center;justify-content:center;text-align:center;border:2px solid #bda98e;margin-bottom:10mm;break-inside:avoid}.table-poster strong{font-size:42px}.menu-print{white-space:pre-line;text-align:center;font-size:17px;line-height:1.7}.welcome-print{height:240mm;display:flex;align-items:center;justify-content:center;text-align:center}.welcome-print h1{font-size:50px}.thankyou-print{text-align:center;padding-top:60mm}.thankyou-print h1{font-size:38px}.thankyou-print p{font-size:18px;line-height:1.7}
@media(max-width:800px){.timeline-row{grid-template-columns:70px 1fr}.timeline-row>div:last-child{grid-column:2}.dayj-hero{display:block}.dayj-countdown{margin-top:10px}.head-actions{justify-content:flex-start}}
@media print{body.printing-paper #printArea{display:block!important;padding:0!important}body.printing-paper #printArea,body.printing-paper #printArea *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.paper-card,.address-label,.table-poster{break-inside:avoid}}


/* ===== V3.1 - Archivage des événements ===== */
.archive-event-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:16px;
  background:linear-gradient(135deg,#fffdf9,#f4ede4);
}
.archive-event-panel h3{font-family:Georgia,serif;margin:5px 0 7px}
.archive-event-panel p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}
.archive-info{margin-bottom:16px;background:#fbf7f1}
.archive-info h3{font-family:Georgia,serif;margin:5px 0 7px}
.archive-info p{margin:0;color:var(--muted);line-height:1.55}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.archive-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:17px;
  background:#fffdf9;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.archive-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.archive-card h3{margin:4px 0 5px;font-family:Georgia,serif;font-size:20px}
.archive-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.archive-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.archive-badge{padding:5px 8px;border-radius:999px;background:#eee5d9;color:#745d45;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.archive-empty{text-align:center;padding:34px;color:var(--muted)}
@media(max-width:700px){.archive-event-panel{display:block}.archive-event-panel .btn{margin-top:12px;width:100%}}


/* ===== V3.2 - Soutien Tipeee ===== */
.tipeee-support-panel{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
  align-items:center;
  margin-top:16px;
  background:linear-gradient(135deg,#fffdf9,#f7efe6);
}
.tipeee-heart{
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  font-size:24px;background:#f5e4df;
}
.tipeee-copy h3{font-family:Georgia,serif;margin:4px 0 6px;font-size:21px}
.tipeee-copy p{margin:0;color:var(--muted);line-height:1.5;max-width:760px}
@media(max-width:760px){
  .tipeee-support-panel{grid-template-columns:auto 1fr}
  .tipeee-support-panel>.btn{grid-column:1/-1;width:100%;text-align:center}
}


/* ===== V3.3 - Recherche, calendrier, notifications, corbeille ===== */
.global-search{display:flex;align-items:center;gap:7px;min-width:260px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px}
.global-search input{border:0;outline:0;background:transparent;width:100%;font:inherit;font-size:12px}
.notification-btn{position:relative;border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px;cursor:pointer;font-size:17px}
.notification-btn span{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:#8e7253;color:#fff;font-size:9px;font-weight:900}
.week-panel{margin-top:16px}
.week-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.week-item:last-child{border-bottom:0}.week-icon{width:32px;height:32px;border-radius:10px;background:#f4ede5;display:grid;place-items:center}
.week-item small{color:var(--muted)}
.calendar-controls{display:flex;align-items:center;gap:10px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-day-name{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;padding:7px}
.calendar-cell{min-height:110px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px;overflow:hidden}
.calendar-cell.outside{opacity:.35;background:#fafafa}.calendar-cell.today{outline:2px solid #b69978}.calendar-cell.event-day{background:#fff7ed}
.calendar-number{font-weight:900;font-size:11px;margin-bottom:5px}
.calendar-entry{display:block;border-radius:7px;padding:4px 5px;margin:3px 0;background:#f4eee7;font-size:9px;line-height:1.25}
.calendar-entry.expense{background:#f6eadf}.calendar-entry.timeline{background:#eaf0e4}.calendar-entry.event{background:#eadfd3;font-weight:900}
.calendar-legend{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:12px;font-size:11px}
.search-results{display:grid;gap:8px;max-height:62vh;overflow:auto}
.search-result{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fffdf9;cursor:pointer}
.search-result:hover{background:#f7f0e8}.search-result strong{display:block}.search-result small{color:var(--muted)}
.notification-list{display:grid;gap:8px;max-height:60vh;overflow:auto}
.notification-item{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fffdf9}
.notification-item.urgent{border-color:#d9a49a;background:#fff6f4}.notification-item strong{display:block;margin-bottom:3px}.notification-item small{color:var(--muted)}
.trash-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.trash-card:last-child{border-bottom:0}.trash-actions{display:flex;gap:7px;flex-wrap:wrap}
.import-help{background:#f7f1e9;border-radius:12px;padding:11px;font-size:11px;color:var(--muted);line-height:1.5}
.view-actions{display:flex;gap:8px;flex-wrap:wrap}
.onboarding-box{border:1px solid #e0d2c1;background:linear-gradient(135deg,#fffaf4,#f4eadf);border-radius:18px;padding:18px;margin-bottom:15px}
.onboarding-box h3{font-family:Georgia,serif;margin:5px 0}.onboarding-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.onboarding-step{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-size:11px}
.onboarding-step.done{opacity:.6}.onboarding-step b{display:block;margin-bottom:3px}
@media(max-width:1000px){.global-search{min-width:180px}.calendar-cell{min-height:90px}.onboarding-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.global-search{display:none}.calendar-grid{gap:3px}.calendar-cell{min-height:70px;padding:5px}.calendar-entry{font-size:8px}.onboarding-steps{grid-template-columns:1fr}}


/* ===== V3.3.2 - Tableau de bord sans événement actif ===== */
.no-event-state{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:30px 16px}
.no-event-state.hidden{display:none!important}
.no-event-card{width:min(760px,100%);text-align:center;background:linear-gradient(145deg,#fffdf9,#f6eee4);border:1px solid var(--line);border-radius:28px;padding:42px 34px;box-shadow:0 18px 55px rgba(92,72,51,.10)}
.no-event-icon{width:78px;height:78px;margin:0 auto 16px;border-radius:24px;display:grid;place-items:center;font-size:36px;background:#f1e5d8}
.no-event-card h2{font-family:Georgia,serif;font-size:34px;margin:8px 0 12px;color:#3b3129}
.no-event-card p{max-width:600px;margin:0 auto;color:var(--muted);line-height:1.65;font-size:15px}
.no-event-actions{margin-top:24px;display:flex;justify-content:center}
.dashboard-empty-hidden{display:none!important}
@media(max-width:700px){.no-event-state{min-height:auto;padding:16px 0}.no-event-card{padding:30px 20px;border-radius:20px}.no-event-card h2{font-size:27px}.no-event-actions .btn{width:100%}}


/* ===== V3.4 - Interface épurée ===== */
.dashboard-hero-clean{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 24px;border:1px solid var(--line);border-radius:22px;
  background:linear-gradient(135deg,#fffdf9,#f5ede4);margin-bottom:14px
}
.dashboard-hero-clean h2{font-family:Georgia,serif;font-size:30px;margin:5px 0 4px}
.dashboard-hero-clean p{margin:0;color:var(--muted)}
.dashboard-hero-countdown{
  min-width:135px;text-align:center;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:14px 18px
}
.dashboard-hero-countdown small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.dashboard-hero-countdown strong{display:block;font-size:26px;margin-top:4px;color:#5f4b38}

.dashboard-kpis-clean{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px
}
.dashboard-kpi{
  border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;
  display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer
}
.dashboard-kpi:hover{background:#fbf7f2}
.dashboard-kpi>span{font-size:22px}
.dashboard-kpi small{display:block;color:var(--muted);font-size:10px}
.dashboard-kpi strong{display:block;font-size:18px;margin-top:2px}

.dashboard-main-clean{
  display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px
}
.dashboard-priority-card,.dashboard-week-card{margin:0}
.compact-alerts .assistant-alert:nth-child(n+4){display:none}
.week-compact .week-item:nth-child(n+5){display:none}

.dashboard-shortcuts-clean{
  border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px
}
.shortcut-head h3{font-family:Georgia,serif;margin:4px 0 14px}
.shortcut-grid-clean{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px
}
.shortcut-grid-clean button{
  border:1px solid var(--line);background:#fffdf9;border-radius:14px;padding:14px 10px;
  text-align:center;cursor:pointer
}
.shortcut-grid-clean button:hover{background:#f8f2eb;transform:translateY(-1px)}
.shortcut-grid-clean span{display:block;font-size:22px;margin-bottom:5px}
.shortcut-grid-clean b{display:block;font-size:12px}
.shortcut-grid-clean small{display:block;color:var(--muted);font-size:9px;margin-top:3px}

.budget-tabs-clean{
  display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px
}
.budget-tabs-clean button{
  border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;
  font-size:11px;cursor:pointer
}
.budget-tabs-clean button.active{background:#8e7253;color:white;border-color:#8e7253}

/* Réduction générale de l'effet "plein de fenêtres" */
.view>.panel{margin-bottom:12px}
.view .dash-grid{gap:12px}
.view .panel{box-shadow:none}
.view .panel-head{margin-bottom:10px}
.view h2{margin-bottom:4px}

/* Mobile */
@media(max-width:1000px){
  .dashboard-kpis-clean{grid-template-columns:repeat(2,1fr)}
  .dashboard-main-clean{grid-template-columns:1fr}
  .shortcut-grid-clean{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .dashboard-hero-clean{display:block;padding:18px}
  .dashboard-hero-countdown{margin-top:14px}
  .dashboard-kpis-clean{grid-template-columns:1fr 1fr}
  .shortcut-grid-clean{grid-template-columns:repeat(2,1fr)}
}


/* ===== V3.5 - Atelier Papeterie assortie ===== */
.stationery-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;background:linear-gradient(135deg,#fffdf9,#f5eee5)}
.stationery-intro h3{font-family:Georgia,serif;margin:0 0 6px}
.stationery-intro p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}
.stationery-choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.stationery-card{min-height:145px;transition:.18s ease}
.stationery-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(77,60,44,.08)}
.stationery-designer{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}
.stationery-style-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stationery-style-option{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 7px;cursor:pointer;display:grid;gap:3px;text-align:center}
.stationery-style-option>span{font-size:20px}.stationery-style-option b{font-size:10px}
.stationery-style-option.active{outline:2px solid #9c7d5e;background:#f8f1e8}
.stationery-theme-note{font-size:10px;color:var(--muted);background:#f7f2ec;border-radius:10px;padding:10px}
.stationery-preview{min-height:360px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;font-family:var(--paper-font,Georgia,serif);position:relative}
.stationery-preview-decor{position:absolute;top:14px;right:17px;color:var(--paper-accent);font-size:24px;opacity:.65}
.stationery-preview-caption{position:absolute;bottom:9px;color:#8b8177;font-family:Arial,sans-serif;font-size:9px}
.stationery-demo{width:100%}.stationery-demo h1,.stationery-demo h2{font-family:var(--paper-font);color:var(--paper-accent)}
.stationery-demo p{margin:8px 0}.stationery-demo i{color:var(--paper-accent)}
.stationery-demo-card{min-width:240px;padding:35px 20px}.paper-person{font-size:28px;color:var(--paper-accent);margin:10px 0}
.stationery-demo-label{min-width:250px;text-align:left}
.paper-qr-placeholder{width:100px;height:100px;margin:15px auto;display:grid;place-items:center;border:3px dashed var(--paper-accent);font-family:Arial,sans-serif;font-weight:900;color:var(--paper-accent)}
.stationery-layout-frame{border:8px double var(--paper-accent)!important}
.stationery-layout-frame .paper-card,.stationery-layout-frame .stationery-single,.stationery-layout-frame .table-poster>div{border:2px solid var(--paper-accent)}
.stationery-layout-split .paper-heading{border-left:8px solid var(--paper-accent);padding-left:18px;text-align:left}
.stationery-layout-split .stationery-single{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:25px;align-items:center}
.stationery-theme-champetre{--paper-accent:#70805f}.stationery-theme-romantique{--paper-accent:#a87878}.stationery-theme-moderne{--paper-accent:#4f4b47}.stationery-theme-minimal{--paper-accent:#6e675f}.stationery-theme-festif{--paper-accent:#9b6d4b}
.paper-sheet{font-family:var(--paper-font,Georgia,serif)}
.paper-heading{text-align:center;margin-bottom:25px}.paper-heading small{letter-spacing:.18em;color:var(--paper-accent);font-weight:800}.paper-heading h1{font-family:var(--paper-font);color:var(--paper-accent)}
.stationery-single{max-width:760px;margin:0 auto;text-align:center;padding:28px}
.program-list{max-width:620px;margin:0 auto}.program-list>div{display:grid;grid-template-columns:70px 1fr;gap:8px;text-align:left;padding:10px 0;border-bottom:1px solid #ddd}.program-list small{grid-column:2;color:#777}
.seating-paper-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.seating-paper-table{border:1px solid var(--paper-accent);padding:15px;border-radius:12px}.seating-paper-table h3{color:var(--paper-accent)}
.paper-qr{width:150px;height:150px;object-fit:contain;margin:15px auto;display:block}
.qr-photo-paper{text-align:center}
@media(max-width:800px){.stationery-designer{grid-template-columns:1fr}.stationery-style-picker{grid-template-columns:repeat(2,1fr)}.stationery-intro{display:block}.stationery-intro .btn{margin-top:12px}.stationery-layout-split .stationery-single{display:block}}
@media print{
 body.printing-paper .stationery-preview-caption{display:none}
 body.printing-paper .paper-sheet,body.printing-paper .paper-sheet *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}


/* ===== V3.6 - Papeterie entièrement éditable ===== */
.stationery-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.stationery-toolbar select{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff}
.stationery-designer.advanced{grid-template-columns:minmax(330px,.9fr) minmax(360px,1.1fr);align-items:start}
.stationery-options details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:9px;overflow:hidden}
.stationery-options summary{cursor:pointer;padding:11px 13px;font-weight:900;background:#faf6f1}
.stationery-options details>label,.stationery-options details>.form-grid,.stationery-options details>.stationery-style-picker,.stationery-options details>.paper-checks{margin:10px 12px}
.paper-checks{display:flex;gap:10px;flex-wrap:wrap;font-size:11px}
.paper-checks label{display:flex;align-items:center;gap:5px}
.stationery-preview{
 background:var(--paper-bg,#fffdf9)!important;
 color:var(--paper-text,#4a3d31)!important;
 border-radius:var(--paper-radius,14px)!important;
 padding:var(--paper-padding,28px)!important
}
.stationery-preview .editable-title,.paper-sheet h1,.paper-sheet h2{
 font-size:var(--paper-title-size,34px)!important;
 color:var(--paper-text,#4a3d31)!important;
 font-family:var(--paper-font,Georgia,serif)!important
}
.stationery-preview .editable-body,.paper-sheet p,.paper-sheet .menu-print,.paper-sheet .editable-body{
 font-size:var(--paper-body-size,16px)!important;
 color:var(--paper-text,#4a3d31)!important;
 font-family:var(--paper-font,Georgia,serif)!important
}
.stationery-preview .editable-subtitle{font-size:calc(var(--paper-body-size,16px) * 1.05);color:var(--paper-accent)}
.stationery-preview .editable-small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-accent)}
.border-none{border:none!important}
.border-simple{border:1px solid var(--paper-accent)!important}
.border-double{border:6px double var(--paper-accent)!important}
.border-decorative{border:2px solid var(--paper-accent)!important;box-shadow:inset 0 0 0 8px var(--paper-bg),inset 0 0 0 9px var(--paper-accent)}
.paper-format-a4-portrait{aspect-ratio:210/297}
.paper-format-a4-landscape{aspect-ratio:297/210}
.paper-format-a5-portrait{aspect-ratio:148/210}
.paper-format-a5-landscape{aspect-ratio:210/148}
.paper-format-square{aspect-ratio:1/1}
.qr-top{order:-1}.qr-center{margin:15px auto}.qr-bottom{margin-top:15px}
.paper-sheet{background:var(--paper-bg,#fffdf9);color:var(--paper-text,#4a3d31);padding:var(--paper-padding,28px);border-radius:var(--paper-radius,14px)}
@media(max-width:900px){.stationery-designer.advanced{grid-template-columns:1fr}.stationery-preview{min-height:320px}}


/* ===== V3.6.1 - Grand atelier d'édition Papeterie ===== */
#modal.paper-editor-modal{
  align-items:center;
  justify-content:center;
  padding:14px;
}
#modal.paper-editor-modal .modal-card,
#modal.paper-editor-modal .modal-content,
#modal.paper-editor-modal > div{
  width:min(1500px,96vw)!important;
  max-width:min(1500px,96vw)!important;
  height:min(900px,94vh)!important;
  max-height:94vh!important;
  padding:0!important;
  overflow:hidden!important;
}
.paper-editor-shell{
  height:100%;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  background:#f7f4ef;
}
.paper-editor-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:18px 22px 14px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.paper-editor-header h2{font-family:Georgia,serif;font-size:27px;margin:3px 0 4px}
.paper-editor-header p{margin:0;color:var(--muted);font-size:12px}
.paper-editor-close{font-size:18px}
.paper-editor-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 22px;
  background:#fffdf9;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap
}
.paper-preset-select{
  margin-left:auto;
  min-width:220px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 10px;
  background:#fff
}
.paper-editor-workspace{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(330px,390px) minmax(0,1fr);
}
.paper-editor-sidebar{
  min-height:0;
  overflow:auto;
  padding:14px;
  background:#f8f4ee;
  border-right:1px solid var(--line)
}
.paper-edit-section{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  margin-bottom:10px;
  overflow:hidden
}
.paper-edit-section summary{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  padding:12px 13px;
  list-style:none;
  background:#fff;
}
.paper-edit-section summary::-webkit-details-marker{display:none}
.paper-edit-section summary>span{font-size:19px}
.paper-edit-section summary b{display:block;font-size:12px}
.paper-edit-section summary small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.paper-edit-content{
  border-top:1px solid var(--line);
  padding:12px;
  background:#fffdfb
}
.paper-edit-content .field{margin-bottom:10px}
.paper-option-title{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#8e7253;
  font-weight:900;
  margin:8px 0
}
.paper-toggle-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
}
.paper-toggle-grid label{
  border:1px solid var(--line);
  background:#fff;
  border-radius:9px;
  padding:8px;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px
}
.stationery-style-picker.improved{
  grid-template-columns:repeat(3,1fr);
  margin:0 0 12px
}
.stationery-style-picker.improved .stationery-style-option{
  min-height:64px
}
.range-value{
  float:right;
  font-size:9px;
  color:#8e7253
}
.paper-editor-preview-zone{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  background:#ece7e0
}
.paper-preview-heading{
  padding:12px 18px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px
}
.paper-preview-heading b{display:block;font-family:Georgia,serif;margin-top:2px}
.paper-preview-hint{font-size:9px;color:var(--muted)}
.paper-preview-stage{
  min-height:0;
  overflow:auto;
  display:grid;
  place-items:center;
  padding:25px;
  background:
    linear-gradient(45deg,#e5e0da 25%,transparent 25%),
    linear-gradient(-45deg,#e5e0da 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#e5e0da 75%),
    linear-gradient(-45deg,transparent 75%,#e5e0da 75%);
  background-size:20px 20px;
  background-position:0 0,0 10px,10px -10px,-10px 0
}
.paper-preview-stage #stationeryPreview{
  width:min(560px,90%);
  min-height:0;
  max-height:none;
  box-shadow:0 16px 48px rgba(44,35,27,.18);
}
.paper-editor-footer{
  padding:11px 18px;
  background:#fff;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}
.paper-editor-footer>div{display:flex;gap:8px}

@media(max-width:900px){
  #modal.paper-editor-modal{padding:0}
  #modal.paper-editor-modal .modal-card,
  #modal.paper-editor-modal .modal-content,
  #modal.paper-editor-modal > div{
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    max-height:100vh!important;
    border-radius:0!important
  }
  .paper-editor-workspace{
    grid-template-columns:1fr;
    grid-template-rows:auto auto
  }
  .paper-editor-sidebar{
    max-height:45vh;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .paper-editor-preview-zone{min-height:45vh}
  .paper-preview-stage{padding:15px}
  .paper-editor-footer{position:sticky;bottom:0}
}
@media(max-width:600px){
  .paper-editor-header{padding:14px}
  .paper-editor-header h2{font-size:22px}
  .paper-editor-toolbar{padding:8px 12px}
  .paper-preset-select{width:100%;margin-left:0}
  .paper-toggle-grid{grid-template-columns:1fr 1fr}
  .stationery-style-picker.improved{grid-template-columns:repeat(2,1fr)}
  .paper-editor-footer{display:block}
  .paper-editor-footer>div{margin-top:8px;display:grid;grid-template-columns:1fr}
  .paper-editor-footer>.btn{width:100%}
}


/* ===== V3.6.2 - Correctif structure modal Papeterie ===== */
#modal.paper-editor-modal{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  overflow:hidden!important;
}
#modal.paper-editor-modal.hidden{display:none!important}

/* Le fond reste uniquement un fond plein écran */
#modal.paper-editor-modal > .modal-bg{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  background:rgba(35,30,26,.66)!important;
}

/* Seule la vraie carte devient grand format */
#modal.paper-editor-modal > .modal-card{
  position:relative!important;
  z-index:2!important;
  width:min(1480px,96vw)!important;
  max-width:min(1480px,96vw)!important;
  height:min(900px,94vh)!important;
  max-height:94vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#f7f4ef!important;
  display:block!important;
}

/* Le contenu doit prendre toute la hauteur disponible */
#modal.paper-editor-modal #modalContent{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* Le bouton X historique est masqué : l'atelier possède son propre bouton fermer */
#modal.paper-editor-modal > .modal-card > .modal-close{
  display:none!important;
}

#modal.paper-editor-modal .paper-editor-shell{
  height:100%!important;
  min-height:0!important;
}

#modal.paper-editor-modal .paper-editor-workspace{
  min-height:0!important;
  overflow:hidden!important;
}

#modal.paper-editor-modal .paper-editor-sidebar,
#modal.paper-editor-modal .paper-editor-preview-zone,
#modal.paper-editor-modal .paper-preview-stage{
  min-height:0!important;
}

#modal.paper-editor-modal .paper-editor-sidebar{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

#modal.paper-editor-modal .paper-preview-stage{
  overflow:auto!important;
}

#modal.paper-editor-modal .paper-editor-footer{
  flex-shrink:0!important;
}

/* Evite que les champs dépassent de la colonne */
#modal.paper-editor-modal .paper-editor-sidebar *,
#modal.paper-editor-modal .paper-editor-sidebar input,
#modal.paper-editor-modal .paper-editor-sidebar select,
#modal.paper-editor-modal .paper-editor-sidebar textarea{
  box-sizing:border-box!important;
  max-width:100%;
}

@media(max-width:900px){
  #modal.paper-editor-modal{
    padding:0!important;
    align-items:stretch!important;
  }
  #modal.paper-editor-modal > .modal-card{
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    max-height:100vh!important;
    border-radius:0!important;
  }
  #modal.paper-editor-modal .paper-editor-workspace{
    overflow:auto!important;
  }
}


/* ===== V3.7 - Assistant de démarrage ===== */
.creation-start-card{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#faf6f0;
  padding:16px
}
.creation-start-card h3{font-family:Georgia,serif;margin:4px 0 12px;font-size:20px}
.creation-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.creation-mode{
  position:relative;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:13px;
  cursor:pointer;
  min-height:120px
}
.creation-mode input{position:absolute;opacity:0;pointer-events:none}
.creation-mode>span{display:block;font-size:23px;margin-bottom:7px}
.creation-mode b{display:block;font-size:11px;margin-bottom:5px}
.creation-mode small{display:block;color:var(--muted);font-size:9px;line-height:1.45}
.creation-mode.active{border-color:#9b7c5c;box-shadow:0 0 0 2px rgba(155,124,92,.13);background:#fffdf9}

.starter-wizard{max-width:760px}
.starter-wizard h2{margin-bottom:7px}
.starter-intro{color:var(--muted);line-height:1.55;margin-bottom:14px}
.starter-actions-top{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.starter-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:48vh;overflow:auto;padding:2px}
.starter-item{
  display:grid;
  grid-template-columns:auto 36px 1fr;
  gap:8px;
  align-items:center;
  border:1px solid var(--line);
  background:#fff;
  border-radius:13px;
  padding:10px;
  cursor:pointer
}
.starter-item:has(input:checked){background:#fffaf4;border-color:#a98967}
.starter-item.important{box-shadow:inset 3px 0 0 #a98967}
.starter-item input{width:17px;height:17px}
.starter-icon{font-size:21px;text-align:center}
.starter-item b{display:block;font-size:11px}
.starter-item small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.starter-tip{margin-top:12px;padding:10px 12px;border-radius:11px;background:#f5eee5;color:#6d5c4c;font-size:10px}

@media(max-width:760px){
 .creation-mode-grid{grid-template-columns:1fr}
 .creation-mode{min-height:0}
 .starter-list{grid-template-columns:1fr;max-height:45vh}
}

/* Améliorations V3.8 – progressives, sans changer les données */
.carnet-dropzone{min-height:120px;outline-offset:2px}
.carnet-drag-guest{padding:7px 9px;margin:4px 0;border:1px solid var(--line);border-radius:8px;cursor:grab;background:rgba(255,255,255,.65)}
.carnet-drag-guest:active{cursor:grabbing}
.carnet-drag-guest span{float:right;opacity:.55}
.carnet-summary{margin:0 0 12px;font-size:13px;color:var(--muted)}
.carnet-dir-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}
.carnet-dir-filters select{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel,white);max-width:100%}
@media(max-width:760px){.carnet-dir-filters input,.carnet-dir-filters select{width:100%;min-width:0!important}}

/* V3.9 — Checklist navigable et validation persistante */
.carnet-task-row{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}
.carnet-task-leading{font-size:20px}
.carnet-task-body{min-width:0}
.carnet-task-link{display:inline-block;border:0;padding:3px 0;background:transparent;text-align:left;cursor:pointer;color:var(--ink,#302a26);font:inherit;font-weight:750}
.carnet-task-link:hover{text-decoration:underline;color:var(--accent,#a2684e)}
.carnet-task-link span{font-size:13px}
.carnet-task-end{display:flex;align-items:center;gap:9px}
.carnet-task-done{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:700;white-space:nowrap;padding:7px 10px;background:#f4eee7;border-radius:10px}
.carnet-task-done input{width:18px;height:18px;accent-color:#587c55}
.carnet-task-row.done .carnet-task-done{background:#dfe7d8}
@media(max-width:550px){.carnet-task-end{gap:4px}.carnet-task-done{padding:7px 5px}.carnet-task-row{gap:6px}}

/* V4.0 test : progression de la checklist, accessible et responsive */
.cbj-progress-panel{border:1px solid var(--line,#e7ded5);border-radius:18px;background:var(--panel,#fff);padding:18px 22px;margin:18px 0;box-shadow:0 5px 18px rgba(26,30,42,.045)}
.cbj-progress-heading,.cbj-progress-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cbj-progress-heading span,.cbj-progress-bottom small{color:var(--muted,#6e7180);font-size:.88rem}
.cbj-progress-track{width:100%;height:12px;background:#e9edf0;border-radius:99px;overflow:hidden;margin:13px 0}
.cbj-progress-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7caa8c,#56b7a5);transition:width .25s ease}
.cbj-progress-bottom>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.cbj-progress-bottom button[data-view]{border:0;background:transparent;color:var(--accent,#276c75);text-align:left;cursor:pointer;text-decoration:underline;font:inherit;font-weight:650;padding:0}
@media(max-width:650px){.cbj-progress-panel{padding:15px}.cbj-progress-bottom{align-items:flex-start;flex-direction:column}}

/* V4.1 — rendez-vous centralisés et voyants */
.cbj-light{display:inline-block;width:11px;height:11px;border-radius:50%;margin-left:5px;vertical-align:middle;border:2px solid rgba(255,255,255,.35)}
.cbj-light.red{background:#de5b5b;box-shadow:0 0 0 2px rgba(222,91,91,.12)}
.cbj-light.orange{background:#eab15a;box-shadow:0 0 0 2px rgba(234,177,90,.12)}
.cbj-light.green{background:#4fbf8f;box-shadow:0 0 0 2px rgba(79,191,143,.12)}
.cbj-cal-add{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:15px 0}
.cbj-cal-add .sub{margin:0;flex:1;min-width:230px}
.cbj-appt-card{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line,rgba(128,128,128,.23))}
.cbj-appt-card:last-child{border-bottom:0}
.cbj-appt-card h3{margin:5px 0}.cbj-appt-card p{margin:5px 0;font-size:.91rem}
.cbj-appt-actions,.cbj-provider-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cbj-provider-actions{margin-top:12px}.cbj-provider-actions .field{flex:1;min-width:145px}
.calendar-entry.appointment{border-left:3px solid #4098b7;background:rgba(64,152,183,.1);cursor:pointer}
.calendar-entry.timeline{border-left:3px solid #a28ac5}
@media(max-width:730px){.cbj-appt-card{flex-direction:column}.cbj-appt-actions{width:100%}.dashboard-kpis-clean{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cbj-day-add{border:0;background:rgba(64,152,183,.15);color:inherit;border-radius:6px;cursor:pointer;font-size:12px;padding:1px 5px;min-width:22px} .cbj-day-add:hover{background:rgba(64,152,183,.35)}

/* V4.2 - Disposition visuelle des tables dans la salle */
.cbj-room-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0 22px}
.cbj-room-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.cbj-room-heading h3{font-family:Georgia,serif;font-size:25px;margin:0 0 5px}
.cbj-room-heading p{margin:0;max-width:660px}
.cbj-room-scroll{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:15px}
.cbj-room-board{position:relative;box-sizing:border-box;min-width:690px;border-radius:15px;border:2px solid #c5b5a5;background-color:#f9f7f2;background-image:linear-gradient(to right,#e3ddd2 1px,transparent 1px),linear-gradient(to bottom,#e3ddd2 1px,transparent 1px);background-size:38px 38px;user-select:none}
.cbj-room-board::after{content:'';position:absolute;inset:8px;border:1px dashed #d7c9b8;pointer-events:none;border-radius:10px}
.cbj-room-table{position:absolute;z-index:1;transform:translate(-50%,-50%);height:116px;width:116px;display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px solid #b89776;background:#fffefb;box-shadow:0 4px 14px rgba(60,44,24,.1);padding:10px;text-align:center}
.cbj-room-table.cbj-shape-round{border-radius:50%}
.cbj-room-table.cbj-shape-square{border-radius:14px}
.cbj-room-table.cbj-shape-rect{border-radius:12px;width:142px;height:94px}
.cbj-room-table.cbj-shape-rect-vertical{border-radius:12px;width:94px;height:142px}
.cbj-room-table.cbj-room-full{border-color:#b37555}
.cbj-room-table:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.cbj-room-table.cbj-room-dragging{z-index:3;box-shadow:0 10px 24px rgba(30,20,10,.2)}
.cbj-room-name{font-size:13px;font-weight:750;line-height:1.2;overflow-wrap:anywhere;max-height:37px;overflow:hidden}
.cbj-room-count{font-size:11px;color:var(--muted)}
/* Pivoter une table sans la déplacer : seule sa forme CSS change. */
.cbj-room-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%}
.cbj-room-rotate{border:1px solid #c8b9a3;border-radius:8px;background:#eee6f9;font-size:11px;padding:4px 7px;cursor:pointer;color:#302a25;touch-action:manipulation}
.cbj-room-rotate:hover,.cbj-room-rotate:focus-visible{outline:2px solid #6552b3;outline-offset:1px}
.cbj-room-handle{border:1px solid #c8b9a3;border-radius:8px;background:#f8f0e8;font-size:11px;padding:4px 7px;cursor:grab;touch-action:none;color:#302a25}
.cbj-room-handle:active{cursor:grabbing}
.cbj-room-label{position:absolute;z-index:0;font-size:12px;font-weight:600;color:#968477;pointer-events:none;background:#f9f7f2dd;border-radius:5px;padding:4px 6px}
.cbj-room-entrance{top:8px;left:9px}
.cbj-room-dance{right:9px;bottom:8px}
.cbj-room-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#897c70;white-space:nowrap}
.cbj-seat-title{margin:18px 0 12px;font-family:Georgia,serif;font-size:23px}
.cbj-shape-field{display:block;max-width:200px;margin:10px auto 8px;font-size:12px;color:var(--muted)}
.cbj-shape-field select{width:100%;padding:6px 8px;background:#fff;border:1px solid #d4c6b8;border-radius:8px;margin-top:4px}
@media (max-width:680px){.cbj-room-panel{padding:12px}.cbj-room-heading{align-items:flex-start;flex-direction:column}.cbj-room-board{min-width:690px}}

.seating-grid .table-card{border-radius:18px;aspect-ratio:auto;min-height:200px;padding:18px;justify-content:flex-start}.seating-grid .table-card h3{font-size:22px}.seating-grid .table-card .table-guests{width:100%;max-height:155px;overflow:auto}.seating-grid .table-card .cbj-shape-field{width:100%}

/* V4.2.3 : commandes compactes sur les rectangles verticaux. */
.cbj-room-table.cbj-shape-rect-vertical{padding:6px;gap:3px}
.cbj-room-table.cbj-shape-rect-vertical .cbj-room-controls{flex-direction:column;align-items:center}
.cbj-room-table.cbj-shape-rect-vertical .cbj-room-handle,.cbj-room-table.cbj-shape-rect-vertical .cbj-room-rotate{font-size:10px;padding:3px 4px}

/* V4.2.4 — Fenêtre de gestion des invités au clic sur une table */
.cbj-room-table{cursor:pointer}
.cbj-room-table .cbj-room-controls button{cursor:pointer}
#modal.cbj-seat-modal-active .modal-card{width:min(760px,95vw);padding:24px;max-height:92vh;margin:4vh auto;overflow-y:auto}
.cbj-seat-modal h2{margin:5px 0 14px;font-size:clamp(25px,3vw,34px)}
.cbj-seat-modal h3{font-family:Georgia,serif;font-size:20px;margin:18px 0 9px}
.cbj-seat-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:#f5efe8;border:1px solid var(--line);border-radius:13px;padding:13px 16px}
.cbj-seat-is-full{color:#8d382b;font-weight:700}
.cbj-seat-assigned,.cbj-seat-pool{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:auto;max-height:265px}
.cbj-seat-guest-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid #eee7df}
.cbj-seat-guest-row:last-child{border-bottom:0}
.cbj-seat-person{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.cbj-seat-person strong{font-size:14px}
.cbj-seat-person small{color:var(--muted);font-size:12px;line-height:1.4}
.cbj-seat-guest-action{flex-shrink:0;white-space:nowrap;font-size:12px;padding:8px 11px}
.cbj-seat-guest-action:disabled{opacity:.55;cursor:not-allowed}
.cbj-seat-pick-head{margin-top:18px}.cbj-seat-pick-head h3{margin-bottom:3px}
.cbj-seat-pick-head .sub{margin:0}
.cbj-seat-filter-label{margin:13px 0 8px}
.cbj-seat-filter-label input{box-sizing:border-box}
.cbj-seat-toggle{display:flex;gap:9px;align-items:center;margin-bottom:12px;font-size:13px;cursor:pointer}
.cbj-seat-toggle input{width:17px;height:17px;flex-shrink:0}
.cbj-seat-empty{padding:14px;color:var(--muted)}
.cbj-seat-open-btn{margin-top:12px}
.cbj-seat-modal .form-actions{position:sticky;bottom:-24px;background:var(--paper);padding:12px 0 2px;margin-top:10px}
@media(max-width:600px){#modal.cbj-seat-modal-active .modal-card{padding:17px;max-height:96vh;margin:2vh auto}.cbj-seat-guest-row{padding:10px 8px;gap:8px}.cbj-seat-guest-action{padding:8px;font-size:11px}}

/* V4.2.18 — Annuaire des prestataires par régions */
.cbj-dir-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.cbj-dir-filters label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px;color:var(--text,#40372f);min-width:0}
.cbj-dir-filters select,.cbj-dir-filters input{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line,#d9cbbd);border-radius:12px;background:white;color:inherit;font:inherit;min-width:0}
.cbj-public-directory{margin-top:20px;padding:24px}.cbj-public-directory h3{margin-top:0}.cbj-public-directory-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.cbj-dir-region-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.cbj-dir-region-tags span{display:inline-block;padding:5px 9px;border-radius:99px;background:#f0e9df;color:#644d38;font-size:11px;font-weight:700}
.cbj-dir-regions-picker{border:1px solid var(--line,#dccbb8);border-radius:13px;margin-top:14px;padding:12px}.cbj-dir-regions-picker legend{font-weight:750;padding:0 6px}.cbj-dir-regions-picker p{margin:5px 0 9px}.cbj-dir-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto}.cbj-dir-region-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#fff;border:1px solid #e6dcd0;border-radius:9px;font-size:13px;cursor:pointer;min-width:0}.cbj-dir-region-grid input{width:auto!important;display:inline-block!important;margin:0!important;flex:0 0 auto;accent-color:#977453}.cbj-dir-region-grid label:has(input:checked){background:#f8f0e6;border-color:#b48a61}
@media(max-width:1050px){.cbj-dir-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.cbj-dir-filters,.cbj-dir-region-grid{grid-template-columns:1fr}.cbj-public-directory{padding:14px}}

/* V4.2.19 — Prestataires à la une, administration et inscription */
.cbj-featured-card{border:2px solid #c49a5d!important;background:#fffaf0!important;box-shadow:0 9px 25px #b9945020!important}
.cbj-featured-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#7f551c;background:#fff0c9;padding:6px 10px;border-radius:999px;margin:5px 0 9px}
.cbj-provider-logo{display:block;width:100%;max-width:190px;height:88px;object-fit:contain;object-position:center left;margin:4px 0 12px}
.cbj-directory-join{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#695548;line-height:1.5}
.cbj-admin-panel-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.cbj-admin-providers{display:grid;gap:13px;margin:20px 0}.cbj-admin-provider{border:1px solid #e5d9cc;border-radius:13px;padding:16px;background:#fff}
.cbj-admin-provider-main{display:flex;gap:15px;min-width:0;align-items:flex-start}.cbj-admin-provider-logo{width:76px;height:76px;object-fit:contain;border:1px solid #e3d5c7;border-radius:11px;flex-shrink:0}.cbj-admin-placeholder{display:grid;place-items:center;font-size:30px;background:#f9f3eb}
.cbj-admin-provider-info{min-width:0;flex:1}.cbj-admin-provider-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cbj-admin-provider-name b{font-size:16px}.cbj-admin-provider .sub{line-height:1.5;margin-top:3px;overflow-wrap:anywhere}.cbj-admin-description{white-space:pre-line;overflow-wrap:anywhere;font-size:13px}
.cbj-admin-provider-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cbj-review-tag{font-size:11px;font-weight:bold;border-radius:99px;padding:5px 9px}.cbj-status-pending{background:#fff1d6;color:#875a0f}.cbj-status-approved{background:#e8f5eb;color:#296b42}.cbj-status-rejected{background:#fbe9e6;color:#8b3934}
@media(max-width:520px){.cbj-admin-provider-main{flex-direction:column}.cbj-admin-provider-logo{height:72px;width:72px}.cbj-admin-provider-actions .btn{flex:1 0 auto}}

/* V4.2.20 — Annuaire mis en avant et fiches compactes */
#prestataires{padding-top:42px;padding-bottom:44px;scroll-margin-top:20px;background:linear-gradient(160deg,#f4e8dc,#faf7f2 80%)}
#prestataires>.section-title h2{font-size:clamp(30px,3.2vw,45px);margin:7px 0}
.cbj-public-directory{background:#fffdf9;border:1px solid #e7d7c1;box-shadow:0 14px 35px #5e452116}
.cbj-directory-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.cbj-directory-title-row h3{font-family:Georgia,serif;font-size:clamp(22px,2.1vw,30px);margin:8px 0}
.cbj-directory-quick-link{font-weight:700;color:#78553c;text-decoration:underline;text-underline-offset:3px}
.cbj-directory-count{margin:15px 0 12px;color:#786a5d;font-weight:700;font-size:13px}
.cbj-public-directory-results{grid-template-columns:repeat(auto-fill,minmax(min(100%,325px),1fr));align-items:start;gap:11px}
#directoryList.cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,325px),1fr));gap:12px}
.cbj-provider-compact{background:#fff;border:1px solid #e4d8cb;border-radius:13px;padding:13px;min-width:0;box-shadow:0 3px 12px #43302209}
.cbj-provider-compact-main{display:flex;align-items:center;gap:12px;min-width:0}
.cbj-provider-compact-logo{width:62px;height:62px;min-width:62px;object-fit:contain;border:1px solid #eee5d8;background:#fffaf3;border-radius:10px;padding:5px;box-sizing:border-box}
.cbj-provider-placeholder{display:grid;place-items:center;font-size:26px;color:#b38a66}
.cbj-provider-compact-body{min-width:0;flex:1}
.cbj-provider-compact-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.cbj-provider-compact-heading strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.cbj-provider-compact-heading .cbj-featured-badge{margin:0;font-size:10px;padding:3px 7px}
.cbj-provider-compact-meta,.cbj-provider-compact-location{font-size:12px;color:#6c5a4c;margin-top:5px;overflow-wrap:anywhere;line-height:1.3}
.cbj-provider-compact-meta{font-weight:700;color:#8b6342}
.cbj-provider-compact-details{border-top:1px solid #f0e9df;margin-top:12px;padding-top:10px}
.cbj-provider-compact-details summary{color:#876348;font-size:12px;font-weight:800;cursor:pointer;list-style-position:inside}
.cbj-provider-details-inner{font-size:13px;color:#665649;padding:6px 3px 2px;overflow-wrap:anywhere}
.cbj-provider-details-inner>p{line-height:1.5;white-space:pre-line;margin:9px 0}
.cbj-provider-contact{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0;font-size:12px}
.cbj-provider-contact a{color:#7d5437;text-decoration:underline}
.cbj-category-extras{margin:11px 0;border:1px solid #e0d1c1;border-radius:12px;padding:12px;background:#fffdf9}
.cbj-category-extras>summary{font-weight:750;font-size:13px;cursor:pointer;color:#745239}
.cbj-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:10px;max-height:200px;overflow:auto}
.cbj-category-grid label{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #ece2d7;border-radius:8px;font-size:12px;cursor:pointer;line-height:1.4}
.cbj-category-grid label:has(input:checked){background:#f8f0e6;border-color:#b48a61}
.cbj-category-grid input{width:16px;height:16px;flex-shrink:0}
.cbj-admin-category-panel{margin-top:16px}.cbj-admin-category-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.cbj-admin-category-tags span{background:#eee8e0;border-radius:999px;font-size:12px;padding:5px 9px}
.cbj-admin-category-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cbj-admin-category-form input{flex:1;min-width:230px;border:1px solid #d9cbbd;border-radius:10px;padding:11px;font:inherit}
@media(max-width:640px){.cbj-public-directory{padding:14px}#prestataires{padding-top:28px}.cbj-category-grid{grid-template-columns:1fr}.cbj-provider-compact-logo{width:52px;height:52px;min-width:52px}}
