:root{--ivory:#f8f3e8;--paper:#fffdf7;--ink:#17263d;--muted:#637083;--coral:#ef6a5b;--coral-dark:#ce5045;--mint:#bfe5d2;--yellow:#f6dda0;--line:#ded8cb;--shadow:0 15px 45px rgba(23,38,61,.09);font-family:Inter,ui-rounded,"Avenir Next",system-ui,sans-serif;color:var(--ink);background:var(--ivory)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 7% 5%,rgba(246,221,160,.35),transparent 22rem),var(--ivory)}button,input,select,textarea{font:inherit;color:inherit}button,select,label[for],.dropzone{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.dropzone:focus-visible{outline:3px solid #327e8d;outline-offset:3px}.topbar{max-width:1180px;margin:auto;padding:24px 28px;display:flex;align-items:center;gap:22px}.topbar p{margin:0;color:var(--muted);font-size:.94rem}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:850;font-size:1.25rem;text-decoration:none}.brand span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--coral);color:white;transform:rotate(-3deg)}.badge{margin-left:auto;padding:7px 11px;border-radius:999px;background:var(--yellow);font-size:.72rem;font-weight:800;letter-spacing:.03em}.badge.live{background:var(--mint)}main{max-width:1180px;margin:auto;padding:8px 28px 70px}.profile-bar{display:flex;align-items:center;gap:17px;padding:16px 20px;margin-bottom:22px;background:rgba(255,253,247,.86);border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 22px rgba(23,38,61,.05)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;margin-bottom:12px;letter-spacing:-.035em}h2{font-size:1.25rem;margin-bottom:0}.profile-bar h2{font-size:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:850;color:var(--coral-dark)}.grow{flex:1}.profile-bar select{width:100%}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;width:100%}.inline-form label{min-width:140px;flex:1}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.compose{padding:clamp(24px,4vw,48px)}.history{padding:26px 22px;align-self:start}.lead{color:var(--muted);font-size:1.06rem;margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}label{display:block;font-size:.82rem;font-weight:750}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #cfc8bb;background:white;border-radius:11px;padding:12px 13px}textarea{resize:vertical;min-height:150px;line-height:1.5}.optional{font-weight:500;color:var(--muted)}.dropzone{margin-top:17px;min-height:145px;border:2px dashed #c9bdab;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fcf8ee;color:var(--muted);transition:.15s}.dropzone:hover,.dropzone.dragging{border-color:var(--coral);background:#fff5ec;color:var(--ink)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{color:var(--ink)}.separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.75rem;margin:18px 0}.separator:before,.separator:after{content:"";height:1px;background:var(--line);flex:1}.button{border:0;border-radius:11px;padding:11px 16px;background:var(--ink);color:white;font-weight:800;transition:.15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.primary{width:100%;display:flex;justify-content:center;gap:10px;margin-top:18px;background:var(--coral);font-size:1.05rem;padding:15px}.button.primary:hover{background:var(--coral-dark)}.button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.text-button{border:0;background:transparent;text-decoration:underline;padding:11px}.message{min-height:1.25em;margin:10px 0 0;text-align:center;color:var(--muted);font-size:.84rem}.error{color:#a02f2a;background:#fff0ed;border-radius:9px;padding:9px}.history-item{border:0;border-top:1px solid var(--line);background:transparent;width:100%;padding:15px 4px;text-align:left}.history-item:first-child{margin-top:16px}.history-item:hover h3{color:var(--coral-dark)}.history-item h3{font-size:.95rem;margin-bottom:5px}.history-item p{color:var(--muted);font-size:.75rem;margin:0}.empty{text-align:center;color:var(--muted);padding:36px 12px}.empty svg{color:#b7ab99;margin-bottom:10px}.preview-wrap{margin-top:30px}.preview-actions{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.preview-actions>div:last-child{display:flex;gap:9px}.sheet{width:min(100%,794px);min-height:1123px;margin:auto;padding:70px 72px;background:#fffdfa;box-shadow:0 20px 60px rgba(23,38,61,.14);border:1px solid var(--line);position:relative}.sheet:before{content:"RÉVIMAISON";position:absolute;right:35px;top:28px;font-size:.65rem;letter-spacing:.16em;color:#9e9589}.sheet-header{border-bottom:3px solid var(--coral);padding-bottom:22px;margin-bottom:28px}.sheet h1{font-size:2.25rem}.sheet-meta{display:flex;gap:8px;flex-wrap:wrap}.pill{background:var(--yellow);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:750}.sheet h2{font-family:Georgia,serif;font-size:1.35rem;margin:28px 0 12px}.sheet p,.sheet li{line-height:1.55}.sheet li{margin-bottom:8px}.summary{font-size:1.08rem;background:#eef8f3;border-left:4px solid #65b58e;padding:16px 18px}.answers{border-top:1px dashed var(--line);margin-top:30px}.answer-list{color:#475568}footer{text-align:center;color:var(--muted);font-size:.75rem;padding:22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.file-selection{margin-top:10px}.file-status{margin:0 0 5px;color:var(--muted);font-size:.78rem}.file-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden}.file-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:white}.file-item+.file-item{border-top:1px solid var(--line)}.file-name{display:flex;align-items:center;gap:9px;min-width:0;flex:1;font-size:.8rem}.file-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-number{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:800}.file-remove{border:0;background:transparent;color:var(--coral-dark);padding:5px;font-size:.74rem;font-weight:800}.file-remove:hover{text-decoration:underline}.file-remove:focus-visible{outline:3px solid #327e8d;outline-offset:1px}
@media(max-width:800px){.topbar{padding:18px}.topbar p{display:none}main{padding:4px 14px 95px}.profile-bar{align-items:stretch;flex-wrap:wrap}.profile-bar>div{width:100%}.profile-bar .grow{min-width:160px}.layout{grid-template-columns:1fr}.history{order:2}.form-row{grid-template-columns:1fr}.compose{padding:25px 18px}.button.primary{position:sticky;bottom:10px;z-index:3;box-shadow:0 8px 24px rgba(23,38,61,.24)}.preview-actions{align-items:flex-start;gap:12px}.preview-actions>div:last-child{flex-direction:column}.sheet{min-height:0;padding:48px 25px}.inline-form{align-items:stretch}.inline-form label{width:100%}}
@media print{body{background:white}.topbar,.profile-bar,.layout,.preview-actions,footer{display:none!important}main{padding:0;max-width:none}.preview-wrap{display:block!important;margin:0}.sheet{width:100%;min-height:auto;border:0;box-shadow:none;padding:15mm}.answers{break-before:auto}.sheet h2{break-after:avoid}.sheet li{break-inside:avoid}@page{size:A4;margin:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
