
:root{--paper:#F8F5EE;--surface:#FAF8F5;--ink:#292722;--gold:#896520;--champagne:#C8AB6E;--line:#E8E2D9;--muted:#656159;--control:#928777}
*{box-sizing:border-box}body.carnet{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--champagne);color:var(--ink)}.carnet a{color:inherit;text-underline-offset:4px}.carnet a:hover{color:var(--gold)}.carnet h1,.carnet h2,.carnet h3,.brand{font-family:"EB Garamond",Georgia,serif;font-weight:400;text-wrap:balance;line-height:1.1}.carnet h1{font-size:44px;margin:0 0 12px}.carnet h2{font-size:29px;margin:0 0 24px}.carnet h3{font-size:23px;margin:0 0 12px}.carnet p{margin:0 0 16px}.carnet small,.muted{color:var(--muted)}.carnet small{font-size:12px;display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:36px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-size:26px;text-decoration:none}.brand span{display:block}.sidebar-note{font-size:12px;color:var(--gold);margin:16px 0 36px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:12px;text-decoration:none;border-radius:6px}.sidebar nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.sidebar-footer{margin-top:auto;display:grid;gap:16px;padding-top:32px;font-size:12px}.carnet-main{margin-left:224px;padding:32px 44px 80px;max-width:1540px}.calendar-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:24px;margin-bottom:36px;border-bottom:1px solid var(--line)}.calendar-strip a{text-decoration:none;display:block;border-top:1px solid var(--champagne);padding-top:10px;font-family:"EB Garamond",Georgia,serif;font-size:19px}.calendar-strip small{font-family:inherit;font-size:14px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-head p{color:var(--muted);margin:0}.button,.carnet button{font:inherit;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--control);border-radius:6px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;transition:background-color 160ms,color 160ms,transform 160ms}.carnet .button.primary,.carnet button.primary{background:var(--champagne);border-color:var(--gold);color:var(--ink);font-weight:500}.button:hover,.carnet button:hover{background:var(--line);color:var(--ink)}.carnet .button.primary:hover,.carnet button.primary:hover{background:#B99A58;border-color:var(--gold);color:var(--ink)}.carnet button:active,.button:active{transform:scale(.98)}.carnet :focus-visible{outline:2px solid var(--gold);outline-offset:3px}.carnet button:disabled{opacity:.55;cursor:wait}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;margin-bottom:28px;min-width:0}.section-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px}.section-split>*{min-width:0}.response-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:20px}.response-overview a{text-decoration:none;border-right:1px solid var(--line);padding-right:16px}.response-overview a:last-child{border:0}.response-overview strong{display:block;font:40px/1.1 "EB Garamond",serif;font-variant-numeric:tabular-nums;margin-bottom:8px}.response-track{height:4px;display:flex;background:var(--line);border-radius:2px;overflow:hidden}.response-track span{background:var(--ink)}.response-track span+span{background:var(--champagne)}.event-row{display:grid;grid-template-columns:1fr 90px 100px;gap:12px;border-bottom:1px solid var(--line);padding:16px 0;text-decoration:none;align-items:center}.event-row:last-child{border-bottom:0}.event-row>strong{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.event-row.header{font-size:12px;color:var(--muted);padding-top:0}.action-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}.action-row:last-child{border:0}.action-row strong{font-weight:500;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:24px 0}.toolbar label{min-width:160px;flex:1}.toolbar label:first-child{flex:2}.carnet label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.carnet input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.carnet select,.carnet textarea{display:block;width:100%;padding:11px 12px;min-height:44px;border:1px solid var(--control);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;caret-color:var(--gold)}.carnet input[type=checkbox],.carnet input[type=radio]{width:18px;height:18px;accent-color:var(--gold);flex-shrink:0}.carnet input::placeholder{color:var(--muted)}.carnet textarea{resize:vertical}.carnet .check{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;font-weight:400}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.fields>*{min-width:0}.carnet fieldset{min-width:0;margin:0;padding:0;border:0}.carnet legend{float:left;width:100%;font:28px/1.2 "EB Garamond",serif;margin-bottom:24px}.carnet legend+*{clear:both}.table-list{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table-list th{font-size:12px;color:var(--muted);font-weight:400;text-align:left;padding:0 16px 12px}.table-list td{vertical-align:middle;padding:20px 16px;border-top:1px solid var(--line)}.table-list th:first-child,.table-list td:first-child{padding-left:0}.person-name{font-family:"EB Garamond",Georgia,serif;font-size:23px;display:block;text-decoration:none}.badge{display:inline-flex;align-items:center;border:1px solid var(--line);padding:4px 8px;border-radius:4px;font-size:12px;background:var(--paper)}.badge.complete{color:var(--ink);border-color:var(--control)}.badge.partial,.notice{color:var(--gold)}.badge.partial{border-color:var(--champagne)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.tabs a{text-decoration:none;min-height:44px;padding:10px 12px;border-bottom:1px solid transparent}.tabs a[aria-current=page]{border-color:var(--gold);color:var(--gold)}.flash{padding:16px 20px;border:1px solid var(--champagne);border-radius:6px;margin:20px 0;background:var(--surface);animation:confirm 180ms ease-out}.flash.error{border-color:var(--gold)}.empty{padding:36px 0;color:var(--muted)}.savebar{display:flex;gap:12px;align-items:center;padding:20px 0}.anchor-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:32px}.anchor-nav a{min-height:32px}.carnet section{scroll-margin-top:24px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.room-grid .panel{margin:0}.room-nights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.room-nights strong{display:block;font:28px "EB Garamond",serif}.carnet summary{cursor:pointer;min-height:44px;padding:10px 0}.carnet dl{margin:0}.carnet dt{color:var(--muted)}.carnet dd{margin:0 0 16px}.mobile-head{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.carnet [hidden]{display:none!important}.carnet .grid{display:grid;gap:16px}.carnet .address-suggestions{list-style:none;padding:0}.carnet .address-suggestions button{width:100%;text-align:left}.carnet .address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.carnet .address-grid .address-wide{grid-column:1/-1}.carnet .address-legacy{margin-bottom:16px}.carnet .contact-phone{display:flex;gap:8px}.carnet .contact-phone select{width:130px}.carnet .contact-phone input{min-width:0}.carnet .contact-phone-country{max-width:130px}.carnet .form-progress{display:none}.carnet .rsvp-step{margin-bottom:24px}.carnet .space-y-5>*+*{margin-top:20px}.carnet .mt-8{margin-top:24px}.carnet .mb-8{margin-bottom:24px}.carnet .text-ink\/60{color:var(--muted)}.carnet .flex{display:flex;gap:12px}.carnet .text-sm{font-size:13px}.carnet .font-display{font-family:"EB Garamond",serif}.carnet .w-full{width:100%}@keyframes confirm{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:none}}@media(max-width:1000px){.sidebar{width:190px;padding:28px 16px}.carnet-main{margin-left:190px;padding:28px 28px 64px}.section-split{grid-template-columns:1fr}.calendar-strip{gap:12px}.calendar-strip a{font-size:17px}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:0;border:0}.sidebar .brand,.sidebar-note,.sidebar-footer{display:none}.sidebar nav{display:none;padding:12px 20px;border-bottom:1px solid var(--line)}.sidebar nav.open{display:grid;grid-template-columns:1fr 1fr}.mobile-head{display:flex;padding:16px 20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.mobile-head .brand{font-size:21px}.carnet-main{margin:0;padding:24px 20px 48px}.calendar-strip{grid-template-columns:1fr 1fr;margin-bottom:28px;gap:12px 20px}.page-head{display:block}.page-head>.button{margin-top:20px}.carnet h1{font-size:36px}.carnet h2{font-size:26px}.panel{padding:20px;margin-bottom:24px}.response-overview{gap:12px}.response-overview a{padding-right:8px;font-size:12px}.response-overview strong{font-size:32px}.response-overview small{display:none}.event-row{grid-template-columns:1fr 60px 65px;gap:8px}.event-row.header{font-size:10px}.fields,.room-grid{grid-template-columns:1fr}.table-list,.table-list tbody{display:block}.table-list thead{display:none}.table-list tr{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid var(--line);padding:20px 0}.table-list td{border:0;padding:0!important;display:block;min-width:0}.table-list td:first-child{grid-column:1/-1}.table-list td:last-child{grid-column:2;grid-row:2/4;align-self:center}.table-list td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted)}.table-list td:first-child::before,.table-list td:last-child::before{display:none}.toolbar{gap:12px}.toolbar label{min-width:130px}.toolbar button{flex:1}.anchor-nav{gap:8px 16px}.savebar{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);z-index:2}.carnet .address-grid{grid-template-columns:1fr}.carnet .address-grid .address-wide{grid-column:auto}}@media(prefers-reduced-motion:reduce){.carnet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sidebar .brand{font-size:23px}.sidebar .brand span{white-space:nowrap}.stop-summary{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px}.stop-summary>span{border-left:2px solid var(--champagne);padding:4px 12px;font-size:12px}.stop-summary strong{display:block}.carnet .mt-8{margin-top:24px}.carnet .savebar{position:static}.carnet #identity-form>.savebar{position:sticky}.carnet .sidebar-note{margin-bottom:32px}

.page-actions{display:flex;gap:12px;flex-wrap:wrap}.import-steps{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:28px}.import-steps span{padding:8px 0;border-bottom:2px solid var(--line)}.import-steps [aria-current]{border-color:var(--gold);color:var(--gold)}.mapping-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.mapping-row small{overflow-wrap:anywhere}.import-diff{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.import-diff>span:last-child{font-weight:500}.carnet button:disabled{opacity:.45;cursor:not-allowed}.carnet .flash.error{overflow-wrap:anywhere}@media(max-width:700px){.page-actions{margin-top:16px}.mapping-row,.import-diff{grid-template-columns:1fr;gap:8px}.import-diff>span:nth-child(2)::before{content:'Avant : '}.import-diff>span:last-child::before{content:'Après : '}.import-steps{gap:12px;font-size:12px}}

/* Login keeps the invitation's ivory and gold, with neutral, legible text. */
.admin-login .login-shell{width:min(100%,520px);margin:clamp(40px,10vh,100px) auto;padding:24px}
.admin-login .login-brand{display:block;text-align:center;color:var(--gold);font-size:28px;line-height:1.2}
.admin-login .login-panel{margin:32px 0 0;padding:36px}
.admin-login .login-panel h1{font-size:42px}
.admin-login .login-panel .muted{margin:0 0 28px;max-width:30ch}
.admin-login .login-actions{display:flex;justify-content:center;margin-top:28px}
.admin-login .login-actions button{min-width:208px;padding:12px 24px}
@media(max-width:700px){.admin-login .login-shell{margin:32px auto;padding:20px}.admin-login .login-brand{font-size:26px}.admin-login .login-panel{padding:28px 24px}.admin-login .login-panel h1{font-size:36px}.admin-login .login-actions button{width:100%;min-width:0}.admin-login input{font-size:16px!important}}

.email-preview{display:block;width:100%;height:820px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.email-preview-panel .page-head{align-items:flex-start}.email-preview-panel h2{margin-bottom:8px}@media(max-width:700px){.email-preview-panel{padding:12px}.email-preview-panel .page-head{padding:8px}.email-preview{height:760px}}
