:root { --ink:#080a24; --muted:#5f6380; --paper:#fff; --line:#dfe3f2; --soft:#f4f6ff; --accent:#244cdb; --accent-dark:#121d87; --violet:#6941c6; --danger:#bb2f72; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
body { margin:0; min-width:320px; background:var(--soft); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { display:flex; flex-direction:column; min-height:100vh; }
button, input { font:inherit; }
.topbar { position:sticky; top:0; z-index:20; min-height:72px; display:flex; align-items:center; gap:24px; padding:0 40px; background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-weight:750; font-size:18px; }
.brand-mark { width:32px; height:32px; object-fit:cover; border-radius:8px; transition:transform 180ms ease, box-shadow 180ms ease; }
.brand:hover .brand-mark, .brand:focus-visible .brand-mark { transform:translateY(-2px) rotate(-6deg) scale(1.06); box-shadow:0 8px 16px rgba(31,77,230,.22); }
.brand:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:8px; }
.topbar .button { text-decoration:none; }
.app-footer .linkedin-footer-link { display:inline-flex; box-sizing:border-box; width:18px; height:18px; padding:2px; vertical-align:-4px; color:#fff; border-radius:2px; background:#0a66c2; }.app-footer .linkedin-footer-link:hover, .app-footer .linkedin-footer-link:focus-visible { text-decoration:none; transform:scale(1.08); }.linkedin-footer-link svg { width:100%; height:100%; fill:currentColor; }
@media (prefers-reduced-motion: reduce) { .brand-mark { transition:none; } .brand:hover .brand-mark, .brand:focus-visible .brand-mark { transform:none; } }
.privacy { margin:0 auto; color:#34705b; font-size:13px; }.privacy span { font-size:19px; vertical-align:-1px; }
main { flex:1; min-height:0; }.empty-state { display:grid; min-height:calc(100vh - 120px); place-items:center; max-width:none; margin:0; padding:32px 24px; text-align:center; background:linear-gradient(#f4f6ffb8,#f4f6ffb8),url("/assets/cdev-pdf-background.png") center/cover no-repeat; }.home-content { display:grid; justify-items:center; gap:36px; }.home-introduction { max-width:1100px; }.home-introduction h1 { margin:0; font-size:clamp(32px,5vw,52px); letter-spacing:-.045em; line-height:1.06; white-space:nowrap; }.home-introduction > p:last-child { max-width:650px; margin:20px auto 0; color:var(--muted); font-size:17px; line-height:1.6; }.import-status { min-height:20px; margin:-20px 0 0; color:var(--danger); font-size:13px; font-weight:600; }.app-footer { display:grid; min-height:48px; place-items:center; padding:12px 24px; color:var(--muted); text-align:center; border-top:1px solid var(--line); background:var(--soft); font-size:13px; }.app-footer p { margin:0; }.app-footer a { color:var(--accent); font-weight:700; text-decoration:none; }.app-footer a:hover, .app-footer a:focus-visible { text-decoration:underline; }
.eyebrow { margin:0 0 10px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.13em; }
.cookie-settings-link { padding:0; cursor:pointer; color:var(--accent); border:0; background:transparent; font:inherit; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
h1 { margin:0; font-size:clamp(32px,5vw,52px); letter-spacing:-.045em; line-height:1.06; } h2 { margin:0; letter-spacing:-.025em; }
.home-options { display:grid; grid-template-columns:repeat(2,minmax(220px,290px)); justify-content:center; gap:18px; }.home-option { display:grid; place-items:center; gap:16px; min-height:190px; padding:26px; cursor:pointer; color:var(--ink); text-align:center; text-decoration:none; border:1px solid #fff; border-radius:16px; background:#fffffff0; box-shadow:0 10px 28px #080a2417; transition:.2s; }.home-option:hover, .home-option:focus-within { color:var(--accent-dark); border-color:var(--accent); box-shadow:0 14px 34px #244cdb33; transform:translateY(-2px); }.home-option strong { font-size:16px; }.home-option-note { color:var(--muted); font-size:12px; font-weight:600; line-height:1.4; }.option-icon { display:grid; place-items:center; width:54px; height:54px; color:var(--accent); font-size:28px; border-radius:14px; background:#edf0ff; }.option-icon-convert svg, .option-icon-merge svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.button { padding:10px 16px; cursor:pointer; border-radius:9px; border:1px solid transparent; font-size:14px; font-weight:700; }.primary { color:#fff; background:var(--accent); }.primary:hover { background:var(--accent-dark); }.secondary { color:var(--ink); background:#fff; border-color:var(--line); }.secondary:hover { background:var(--soft); }.button:disabled { cursor:not-allowed; color:#8d93ab; background:#e7eaf4; border-color:#e7eaf4; }
.workspace { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:calc(100vh - 72px); }.tool-panel { position:sticky; top:72px; height:calc(100vh - 72px); padding:28px 20px; overflow-y:auto; align-self:start; background:#fff; border-right:1px solid var(--line); }.panel-heading { padding:0 8px 17px; }.panel-heading h2 { font-size:18px; }.tool-list { display:grid; gap:7px; }.tool { display:flex; align-items:center; gap:10px; width:100%; padding:10px; cursor:pointer; color:var(--ink); text-align:left; border:1px solid transparent; border-radius:8px; background:transparent; }.tool:hover { background:#eef0ff; border-color:#ccd3fb; }.tool-icon { display:grid; flex:0 0 auto; place-items:center; width:28px; height:28px; color:var(--violet); border:1px solid #ced3ee; border-radius:7px; background:#fafaff; }.tool-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.signature-popover { position:fixed; z-index:18; top:88px; left:276px; width:270px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 14px 34px #080a2426; }.signature-popover-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.signature-popover .eyebrow { margin-bottom:6px; }.signature-popover h2 { font-size:17px; }.signature-popover > p { margin:12px 0 16px; color:var(--muted); font-size:13px; }.signature-close { display:grid; place-items:center; width:30px; height:30px; padding:0; cursor:pointer; color:var(--muted); border:1px solid var(--line); border-radius:7px; background:#fff; }.signature-close:hover { color:var(--ink); background:var(--soft); }.signature-close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:2; }.signature-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.signature-choice { min-height:72px; cursor:pointer; color:var(--accent-dark); border:1px solid #ccd3fb; border-radius:10px; background:#f6f7ff; font-weight:750; }.signature-choice:hover, .signature-choice:focus-visible { color:#fff; border-color:var(--accent); outline:0; background:var(--accent); }
.shape-popover { position:fixed; z-index:18; top:88px; left:276px; width:292px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 14px 34px #080a2426; }.shape-popover-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.shape-popover .eyebrow { margin-bottom:6px; }.shape-popover h2 { margin:0; font-size:17px; }.shape-close { display:grid; place-items:center; width:30px; height:30px; padding:0; cursor:pointer; color:var(--muted); border:1px solid var(--line); border-radius:7px; background:#fff; }.shape-close:hover { color:var(--ink); background:var(--soft); }.shape-close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:2; }.shape-instruction { min-height:34px; margin:12px 0; color:var(--muted); font-size:13px; line-height:1.35; }.shape-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.shape-choice { display:grid; place-items:center; gap:5px; min-height:69px; padding:8px 4px; cursor:pointer; color:var(--ink); border:1px solid #d5dbf2; border-radius:9px; background:#fff; font-size:11px; font-weight:700; }.shape-choice svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.9; }.shape-choice:hover, .shape-choice[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); background:#f0f3ff; }.shape-color-label { margin:17px 0 8px; color:var(--muted); font-size:12px; font-weight:700; }.shape-colors { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }.shape-color { width:100%; aspect-ratio:1; padding:0; cursor:pointer; border:2px solid transparent; border-radius:7px; }.shape-color[aria-pressed="true"] { outline:2px solid var(--accent); outline-offset:2px; }.color-yellow { background:#f1c40f; }.color-red { background:#e3424b; }.color-green { background:#2e9b64; }.color-blue { background:#244cdb; }.color-black { background:#080a24; }.color-orange { background:#e67e22; }.form-field.shape-field { display:grid; place-items:center; min-width:48px; min-height:48px; padding:0; border:0; background:transparent; }.shape-field .shape-graphic { width:100%; height:100%; overflow:visible; }.pdf-stage.placing-shape, .pdf-stage.placing-shape canvas { cursor:crosshair; }
.choice-popover { position:fixed; z-index:18; top:88px; left:276px; width:300px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 14px 34px #080a2426; }.choice-popover-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.choice-popover .eyebrow { margin-bottom:6px; }.choice-popover h2 { margin:0; font-size:17px; }.choice-close { display:grid; place-items:center; width:30px; height:30px; padding:0; cursor:pointer; color:var(--muted); border:1px solid var(--line); border-radius:7px; background:#fff; }.choice-close:hover { color:var(--ink); background:var(--soft); }.choice-close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:2; }.choice-count-label { display:block; margin:16px 0 7px; color:var(--muted); font-size:12px; font-weight:700; }.choice-count { width:82px; padding:9px 10px; color:var(--ink); border:1px solid #ccd3fb; border-radius:8px; outline:none; }.choice-count:focus { border-color:var(--accent); box-shadow:0 0 0 3px #dbe3ff; }.choice-lines { display:grid; gap:8px; max-height:250px; margin:14px 0; overflow-y:auto; }.choice-lines input { width:100%; padding:9px 10px; color:var(--ink); border:1px solid #d5dbf2; border-radius:8px; outline:none; }.choice-lines input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #dbe3ff; }.choice-apply { width:100%; padding:10px; cursor:pointer; color:#fff; border:1px solid var(--accent); border-radius:8px; background:var(--accent); font-weight:750; }.choice-apply:hover { border-color:var(--accent-dark); background:var(--accent-dark); }.form-field.choice-field { display:block; min-width:0; min-height:0; padding:0; color:#080a24; border:0; background:transparent; }.choice-items { display:flex; align-items:center; gap:14px; width:max-content; height:100%; color:inherit; white-space:nowrap; font-size:14px; font-weight:700; }.choice-item { display:inline-flex; align-items:center; gap:5px; }.choice-marker { display:inline-block; flex:0 0 auto; width:10px; height:10px; border:1.5px solid currentColor; }.choice-marker.round { border-radius:50%; }.pdf-stage.placing-choice, .pdf-stage.placing-choice canvas { cursor:crosshair; }
.signature-ready { position:fixed; z-index:15; top:158px; right:28px; width:230px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 14px 34px #080a2426; }.signature-ready .eyebrow { margin-bottom:6px; }.signature-ready h2 { margin:0; font-size:16px; }.signature-ready-preview { display:grid; place-items:center; min-height:118px; margin:14px 0; padding:9px; border:1px dashed #a9b8e6; border-radius:9px; background:#fff; }.signature-ready-preview img { display:block; max-width:100%; max-height:118px; object-fit:contain; }.signature-apply { width:100%; padding:10px; cursor:pointer; color:#fff; border:1px solid var(--accent); border-radius:8px; background:var(--accent); font-weight:750; }.signature-apply:hover { border-color:var(--accent-dark); background:var(--accent-dark); }.pdf-stage.placing-signature, .pdf-stage.placing-signature canvas { cursor:crosshair; }
.signature-panel > p, #signature-methods > p { margin:12px 0 16px; color:var(--muted); font-size:13px; }.signature-back { padding:0; cursor:pointer; color:var(--accent); border:0; background:transparent; font-size:13px; font-weight:750; }.signature-canvas { display:block; width:100%; height:150px; margin:12px 0; border:1px dashed #a9b8e6; border-radius:9px; background:#fff; cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23244cdb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") 2 21, crosshair; touch-action:none; }.signature-clear, .signature-upload { width:100%; padding:10px; cursor:pointer; color:var(--accent-dark); border:1px solid #ccd3fb; border-radius:8px; background:#f6f7ff; font-weight:750; }.signature-clear:hover, .signature-upload:hover { color:#fff; border-color:var(--accent); background:var(--accent); }.signature-image-preview { display:grid; place-items:center; min-height:130px; margin-top:12px; padding:10px; border:1px dashed #a9b8e6; border-radius:9px; background:#fff; }.signature-image-preview img { display:block; max-width:100%; max-height:150px; object-fit:contain; }
.signature-confirm { width:100%; margin-top:10px; padding:10px; cursor:pointer; color:#fff; border:1px solid var(--accent); border-radius:8px; background:var(--accent); font-weight:750; }.signature-confirm:hover { border-color:var(--accent-dark); background:var(--accent-dark); }
.document-area { min-width:0; padding:0 28px 28px; }.document-sticky-bar { position:sticky; top:72px; z-index:10; margin:0 -28px 20px; padding:0 28px; background:var(--soft); border-bottom:1px solid var(--line); }.document-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) minmax(250px,360px) minmax(180px,1fr); gap:20px; align-items:center; max-width:1100px; margin:0 auto; padding:16px 0; }.document-toolbar strong { display:block; }.document-toolbar span { display:block; margin-top:3px; color:var(--muted); font-size:13px; }.document-settings { display:grid; gap:10px; }.document-title-actions { min-width:0; }.blank-document-title { display:grid; gap:4px; color:var(--muted); font-size:12px; font-weight:700; }.blank-document-title input { width:100%; box-sizing:border-box; padding:9px 11px; color:var(--ink); border:1px solid #cbd4f4; border-radius:8px; outline:0; background:#fff; font:inherit; font-size:14px; font-weight:500; }.blank-document-title input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #244cdb1a; }.document-history-actions { display:flex; gap:4px; margin-top:6px; }.document-history-button { display:grid; place-items:center; width:32px; height:30px; padding:0; cursor:pointer; color:var(--accent); border:1px solid #ccd3fb; border-radius:6px; background:#fff; }.document-history-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.document-history-button:hover:not(:disabled) { border-color:var(--accent); background:#eef0ff; }.document-history-button:focus-visible { outline:3px solid #244cdb; outline-offset:2px; }.document-history-button:disabled { cursor:not-allowed; opacity:.45; }.document-settings .type-controls { margin-top:0; }.toolbar-actions { display:flex; justify-content:flex-end; gap:10px; }.canvas-wrap { display:grid; place-items:center; min-height:calc(100vh - 220px); padding:30px; overflow:auto; border:1px solid #e0e6eb; border-radius:12px; background:#e9eef2; }.pdf-stage { position:relative; width:min(100%, 850px); min-height:400px; overflow:hidden; background:#fff; box-shadow:0 8px 25px #22384c33; }.pdf-stage canvas { display:block; width:100%; height:auto; background:#fff; }.field-layer { position:absolute; inset:0; pointer-events:none; }.form-field { position:absolute; display:grid; place-items:center; width:44px; height:38px; padding:6px; cursor:move; color:#0a5eaf; border:2px solid var(--accent); border-radius:6px; background:#eff8ffde; pointer-events:auto; user-select:none; }.form-field.selected { outline:3px solid #8fc8ff; }.field-icon { display:grid; place-items:center; width:22px; height:22px; }.field-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.9; }.field-delete { display:flex; position:absolute; top:-14px; right:-14px; align-items:center; justify-content:center; width:27px; height:27px; padding:0; cursor:pointer; opacity:0; color:#fff; border:2px solid #fff; border-radius:50%; background:linear-gradient(145deg,#ee5f8f,#bc2862); box-shadow:0 5px 12px #9a20564d; transform:scale(.72); transition:opacity .16s ease, transform .16s ease, box-shadow .16s ease; }.field-delete svg { display:block; flex:0 0 auto; width:13px; height:13px; }.form-field:hover .field-delete, .form-field:focus-within .field-delete { opacity:1; transform:scale(1); }.field-delete:hover { box-shadow:0 7px 16px #9a20566b; }.field-delete:focus-visible { opacity:1; outline:3px solid #f8aecb; transform:scale(1); }.page-controls { display:flex; align-items:center; justify-content:center; gap:15px; max-width:1100px; margin:16px auto 0; color:var(--muted); font-size:13px; }.hint { max-width:1100px; margin:14px auto 0; color:var(--muted); font-size:13px; text-align:center; }.hint a { color:var(--accent); font-weight:700; text-decoration:none; }.hint a:hover, .hint a:focus-visible { text-decoration:underline; }
dialog { width:min(420px,calc(100% - 32px)); padding:34px; color:var(--ink); text-align:center; border:0; border-radius:16px; box-shadow:0 20px 80px #0b1e3352; }.close-dialog { position:absolute; top:12px; right:14px; cursor:pointer; color:var(--muted); border:0; background:transparent; font-size:24px; }.dialog-icon { display:grid; place-items:center; width:45px; height:45px; margin:0 auto 16px; color:#fff; border-radius:50%; background:#2caa6b; }.dialog-icon + h2 { font-size:22px; }.dialog-icon + h2 + p { color:var(--muted); line-height:1.55; }.dialog .button { margin-top:10px; } dialog::backdrop { background:#10233475; }
.conversion-dialog { text-align:left; }.conversion-dialog .eyebrow { margin-bottom:8px; }.conversion-dialog h2 { font-size:24px; }.conversion-dialog > p:not(.eyebrow) { margin:12px 0 22px; color:var(--muted); line-height:1.55; }.conversion-form { display:grid; gap:16px; }.conversion-form label { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }.conversion-form select { width:100%; padding:11px 12px; color:var(--ink); border:1px solid #cbd4f4; border-radius:8px; outline:0; background:#fff; font:inherit; font-size:14px; font-weight:500; }.conversion-form select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #244cdb1a; }.conversion-form select:disabled { cursor:not-allowed; color:#8d93ab; background:#f4f6ff; }.conversion-file-picker { position:relative; display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; cursor:pointer; color:var(--accent-dark); border:1px dashed #a9b8e6; border-radius:8px; background:#f6f7ff; font-size:14px; }.conversion-file-picker:hover { border-color:var(--accent); background:#eef0ff; }.conversion-file-picker input { position:absolute; inset:0; width:100%; cursor:pointer; opacity:0; }.conversion-file-picker input:disabled { cursor:not-allowed; }.conversion-file-name { overflow:hidden; color:var(--muted); font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }.conversion-progress { display:grid; gap:7px; }.conversion-progress-header { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; font-weight:700; }.conversion-progress-track { height:8px; overflow:hidden; border-radius:999px; background:#e4e8f7; }.conversion-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:var(--accent); transition:width .25s ease; }.conversion-note { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.conversion-form .button { width:100%; margin:0; }.conversion-download { display:flex; align-items:center; justify-content:center; text-decoration:none; }.conversion-render { box-sizing:border-box; width:794px; min-height:1123px; padding:45px; color:#111827; background:#fff; font-family:Arial, sans-serif; font-size:14px; line-height:1.5; }.conversion-render h1 { margin:0 0 22px; font-size:28px; letter-spacing:0; }.conversion-render h2 { margin:24px 0 12px; font-size:22px; }.conversion-render h3 { margin:20px 0 10px; font-size:18px; }.conversion-render p { margin:0 0 12px; }.conversion-render ul, .conversion-render ol { margin:0 0 12px; padding-left:24px; }.conversion-render table { width:100%; margin:16px 0; border-collapse:collapse; }.conversion-render th, .conversion-render td { padding:8px; border:1px solid #cbd5e1; text-align:left; vertical-align:top; }.conversion-render img { max-width:100%; height:auto; }
.merge-file-list { display:grid; gap:7px; max-height:130px; padding:0; margin:0; overflow:auto; list-style:none; }.merge-file-list li { overflow:hidden; padding:8px 10px; color:var(--muted); border-radius:7px; background:var(--soft); font-size:12px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:760px) { .topbar { padding:0 18px; }.privacy { display:none; }.topbar .secondary { margin-left:auto; }.home-introduction h1 { white-space:normal; }.home-options { grid-template-columns:1fr; width:100%; max-width:340px; }.home-option { min-height:150px; }.workspace { grid-template-columns:1fr; }.tool-panel { position:static; height:auto; overflow:visible; border-right:0; border-bottom:1px solid var(--line); }.tool-list { grid-template-columns:repeat(2,1fr); }.document-area { padding:0 18px 18px; }.document-sticky-bar { margin:0 -18px 18px; padding:0 18px; }.document-toolbar { grid-template-columns:1fr; align-items:stretch; }.toolbar-actions { justify-content:stretch; }.toolbar-actions .button { width:100%; }.canvas-wrap { min-height:540px; padding:14px; } }
/* Champs fonctionnels */
.form-field.text-field { display:block; min-width:0; min-height:0; padding:0; }
.field-text-input { display:block; width:100%; height:100%; min-height:0; overflow:hidden; resize:none; padding:9px 11px; color:var(--ink); border:0; outline:0; background:transparent; font:inherit; line-height:1.35; }
.field-text-input::placeholder { color:#69728d; }
.form-field.image-field { display:block; min-width:92px; min-height:76px; padding:0; overflow:visible; background:#fff; }
.field-image { display:block; width:100%; height:100%; object-fit:contain; }
.field-resize-handle { position:absolute; z-index:2; right:-13px; bottom:-13px; display:grid; place-items:center; width:26px; height:26px; padding:0; color:var(--accent); border:1px solid #b9c7f7; border-radius:50%; background:#fff; box-shadow:0 2px 7px #18277c21; cursor:nwse-resize; }
.field-resize-handle svg { width:15px; height:15px; stroke-linecap:round; stroke-linejoin:round; }
.field-resize-handle:focus-visible { outline:3px solid #8fc8ff; }
.field-drag-handle { position:absolute; z-index:2; top:-18px; left:50%; display:grid; place-items:center; width:28px; height:20px; color:var(--accent); border:1px solid #b9c7f7; border-radius:7px; background:#fff; box-shadow:0 2px 7px #18277c21; cursor:move; transform:translateX(-50%); }
.field-drag-handle svg { width:16px; height:16px; stroke-linecap:round; }
@media (max-width:760px) { .signature-popover, .shape-popover, .choice-popover { top:88px; right:18px; left:18px; width:auto; }.signature-ready { top:auto; right:18px; bottom:18px; left:18px; width:auto; } }
.form-field.shape-field { min-width:0; min-height:0; }
.choice-edit { position:absolute; z-index:2; top:-13px; left:-13px; display:flex; align-items:center; justify-content:center; width:26px; height:26px; padding:0; cursor:pointer; opacity:0; color:var(--accent); border:1px solid #b9c7f7; border-radius:50%; background:#fff; box-shadow:0 2px 7px #18277c21; transform:scale(.75); transition:opacity .16s ease, transform .16s ease; }.choice-edit svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }.choice-field:hover .choice-edit, .choice-field:focus-within .choice-edit { opacity:1; transform:scale(1); }.choice-edit:focus-visible { opacity:1; outline:3px solid #8fc8ff; transform:scale(1); }
/* Les commandes de champ restent discrètes hors survol. */
.form-field { border-color:transparent; background:transparent; }.form-field.selected { outline:0; }.form-field:hover, .form-field:focus-within { border-color:var(--accent); background:#eff8ffde; outline:3px solid #8fc8ff; }.form-field.shape-field:hover, .form-field.shape-field:focus-within, .form-field.choice-field:hover, .form-field.choice-field:focus-within { border-color:transparent; background:transparent; }.form-field.image-field:hover, .form-field.image-field:focus-within { background:#fff; }.field-drag-handle, .field-resize-handle { pointer-events:none; opacity:0; transition:opacity .16s ease, transform .16s ease; }.field-drag-handle { transform:translateX(-50%) scale(.75); }.field-resize-handle { transform:scale(.75); }.form-field:hover .field-drag-handle, .form-field:focus-within .field-drag-handle { pointer-events:auto; opacity:1; transform:translateX(-50%) scale(1); }.form-field:hover .field-resize-handle, .form-field:focus-within .field-resize-handle { pointer-events:auto; opacity:1; transform:scale(1); }.choice-edit { pointer-events:none; }.choice-field:hover .choice-edit, .choice-field:focus-within .choice-edit { pointer-events:auto; }
.field-context-menu { position:fixed; z-index:30; min-width:158px; padding:6px; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:0 10px 26px #080a2426; }.field-context-menu button { width:100%; padding:9px 11px; cursor:pointer; color:var(--ink); text-align:left; border:0; border-radius:6px; background:transparent; font:inherit; font-size:13px; font-weight:700; }.field-context-menu button:hover, .field-context-menu button:focus-visible { color:var(--accent-dark); outline:0; background:#eef0ff; }
.form-field.choice-field { display:block; text-align:left; }.choice-field .choice-items { justify-content:flex-start; width:100%; }
.form-field.list-field { display:block; min-width:0; min-height:0; padding:0; color:#080a24; border:0; background:transparent; text-align:left; }.list-items { display:grid; align-content:start; gap:4px; width:100%; height:100%; color:inherit; line-height:1.35; }.list-item { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:7px; align-items:start; }.list-marker { min-width:1.3em; font-weight:700; text-align:right; }.list-item > span:last-child { min-width:0; }.form-field.list-field:hover, .form-field.list-field:focus-within { border-color:transparent; background:transparent; }
.choice-layout-label { display:block; margin:12px 0 7px; color:var(--muted); font-size:12px; font-weight:700; }.choice-layout { width:100%; padding:9px 10px; color:var(--ink); border:1px solid #ccd3fb; border-radius:8px; outline:none; background:#fff; font:inherit; }.choice-layout:focus { border-color:var(--accent); box-shadow:0 0 0 3px #dbe3ff; }.choice-items.vertical { display:grid; align-content:start; gap:4px; width:100%; height:100%; white-space:normal; line-height:1.35; }.choice-items.vertical .choice-item { align-items:start; }.list-items.horizontal { display:flex; align-items:center; gap:14px; width:max-content; white-space:nowrap; }.list-items.horizontal .list-item { display:inline-flex; grid-template-columns:none; column-gap:0; align-items:center; gap:5px; }
.form-field.list-field:hover, .form-field.list-field:focus-within { border-color:var(--accent); background:#eff8ffde; outline:3px solid #8fc8ff; }.list-field:hover .choice-edit, .list-field:focus-within .choice-edit { pointer-events:auto; opacity:1; transform:scale(1); }
.tool.active { background:#eef0ff; border-color:#ccd3fb; }.field-layer { z-index:2; }.pdf-stage .eraser-layer { position:absolute; z-index:1; inset:0; width:100%; height:100%; pointer-events:none; background:transparent; }.pdf-stage.eraser-active .eraser-layer { cursor:cell; pointer-events:auto; }.pdf-stage.eraser-active .form-field { pointer-events:none; }
.form-field.text-field.is-new { border-color:var(--accent); background:#eff8ffde; outline:3px solid #8fc8ff; }.form-field.text-field.is-new .field-drag-handle, .form-field.text-field.is-new .field-resize-handle { pointer-events:auto; opacity:1; }.form-field.text-field.is-new .field-drag-handle { transform:translateX(-50%) scale(1); }.form-field.text-field.is-new .field-resize-handle { transform:scale(1); }.form-field.text-field:not(.is-new):focus-within:not(:hover) { border-color:transparent; background:transparent; outline:0; }.form-field.text-field:not(.is-new):focus-within:not(:hover) .field-drag-handle, .form-field.text-field:not(.is-new):focus-within:not(:hover) .field-resize-handle { pointer-events:none; opacity:0; }.form-field.text-field:not(.is-new):focus-within:not(:hover) .field-drag-handle { transform:translateX(-50%) scale(.75); }.form-field.text-field:not(.is-new):focus-within:not(:hover) .field-resize-handle { transform:scale(.75); }
.type-controls { display:flex; flex-wrap:wrap; align-items:end; gap:7px; margin-top:12px; }.type-controls label { display:grid; gap:3px; color:var(--muted); font-size:10px; font-weight:700; }.type-controls select { min-width:90px; height:30px; padding:0 7px; color:var(--ink); border:1px solid #ccd3fb; border-radius:6px; outline:0; background:#fff; font:inherit; font-size:12px; font-weight:500; }.type-controls #text-font-family { min-width:190px; }.type-controls select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #244cdb1a; }.type-style-actions { display:flex; gap:4px; }.type-style-actions button { display:grid; place-items:center; width:30px; height:30px; padding:0; cursor:pointer; color:var(--ink); border:1px solid #ccd3fb; border-radius:6px; background:#fff; font-size:14px; }.type-style-actions button.active, .type-style-actions button:hover { color:var(--accent-dark); border-color:var(--accent); background:#eef0ff; }.type-style-actions span { text-decoration:underline; }
.font-picker { position:relative; min-width:190px; }.font-picker #text-font-family { display:none; }.font-picker-trigger { position:relative; display:flex; align-items:center; width:100%; height:30px; padding:0 28px 0 8px; cursor:pointer; color:var(--ink); text-align:left; border:1px solid #ccd3fb; border-radius:6px; background:#fff; font-size:14px; font-weight:500; }.font-picker-trigger::after { position:absolute; right:11px; width:7px; height:7px; content:""; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }.font-picker-trigger:hover, .font-picker-trigger:focus-visible { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px #244cdb1a; }.font-picker-menu { position:absolute; z-index:31; top:calc(100% + 5px); left:0; width:max-content; min-width:100%; max-width:290px; max-height:310px; padding:4px; overflow-y:auto; border:1px solid #cbd4f4; border-radius:8px; background:#fff; box-shadow:0 10px 24px #080a2426; }.font-picker-option { display:block; width:100%; padding:7px 9px; cursor:pointer; color:var(--ink); text-align:left; border:0; border-radius:5px; background:transparent; font-size:14px; line-height:1.2; }.font-picker-option:hover, .font-picker-option:focus-visible, .font-picker-option[aria-selected="true"] { color:var(--accent-dark); outline:0; background:#eef0ff; }
.text-color-picker { position:relative; display:grid; gap:3px; color:var(--muted); font-size:10px; font-weight:700; }.text-color-trigger { display:grid; place-items:center; width:30px; height:30px; padding:4px; cursor:pointer; border:1px solid #ccd3fb; border-radius:7px; background:#fff; }.text-color-trigger > span { display:block; width:100%; height:100%; border:1px solid #ffffff80; border-radius:4px; background:var(--selected-color, #080a24); box-shadow:inset 0 0 0 1px #080a241a; }.text-color-trigger:hover, .text-color-trigger:focus-visible { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px #244cdb1a; }.text-color-menu { position:absolute; z-index:31; top:calc(100% + 5px); left:0; display:grid; grid-template-columns:repeat(4,28px); gap:7px; padding:10px; border:1px solid #cbd4f4; border-radius:10px; background:#fff; box-shadow:0 12px 28px #080a2426; }.text-color-option { width:28px; height:28px; padding:0; cursor:pointer; border:1px solid #080a2414; border-radius:6px; background:var(--swatch-color); }.text-color-option:hover, .text-color-option:focus-visible { outline:2px solid #b7c6ff; outline-offset:2px; }.text-color-option[aria-selected="true"] { border:2px solid #fff; outline:2px solid var(--accent); outline-offset:1px; }
.text-color-trigger { padding:0; background:var(--selected-color, #080a24); }.text-color-trigger > span { border:0; border-radius:6px; box-shadow:none; }
.type-control-label { display:block; color:var(--muted); font-family:Inter, ui-sans-serif, system-ui, sans-serif; font-size:10px; font-weight:700; line-height:1.2; }
.pdf-stage.placing-text, .pdf-stage.placing-text canvas { cursor:text; }
.document-toolbar { grid-template-columns:minmax(250px,360px) minmax(0,1fr); }
.document-toolbar { grid-template-columns:minmax(250px,360px) max-content minmax(0,1fr); align-items:start; }
.document-toolbar { grid-template-columns:minmax(250px,1fr) max-content max-content; }
.toolbar-actions .button { white-space:nowrap; }
.document-toolbar .toolbar-actions { align-self:center; }
.leave-editor-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:20px; }.leave-editor-actions .button { margin:0; }
.home-free { margin:12px 0 0; color:var(--accent-dark); font-size:18px; font-weight:800; }
.shape-field .shape-graphic { display:block; align-self:stretch; justify-self:stretch; width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; }
.shape-field .rectangle-graphic { display:block; align-self:stretch; justify-self:stretch; width:100%; height:100%; box-sizing:border-box; border:4.2px solid var(--shape-color); border-radius:12px; }
.form-field.directional-arrow-field { overflow:visible; }
.directional-arrow-graphic { position:relative; display:block; width:100%; height:100%; overflow:visible; }
.directional-arrow-shaft { position:absolute; top:calc(50% - 2.1px); right:16px; left:0; height:4.2px; border-radius:999px; background:var(--shape-color); }
.directional-arrow-head { position:absolute; top:50%; right:0; width:20px; height:20px; transform:translateY(-50%); }
.directional-arrow-head::before, .directional-arrow-head::after { position:absolute; top:50%; right:0; width:19px; height:4.2px; content:""; border-radius:999px; background:var(--shape-color); transform-origin:right center; }
.directional-arrow-head::before { transform:translateY(-50%) rotate(38deg); }
.directional-arrow-head::after { transform:translateY(-50%) rotate(-38deg); }

/* Accueil public : un premier écran complet, puis les contenus de présentation. */
.topbar { flex-shrink:0; }
.empty-state { min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); padding:40px 24px; }
.home-content { width:100%; gap:30px; }
.home-introduction h1 { white-space:normal; text-wrap:balance; }
.import-status:empty { display:none; }
.home-discover { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--muted); font-size:13px; text-underline-offset:5px; }
.home-discover::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.home-details { background:#fff; }
.home-section { width:min(1120px, calc(100% - 64px)); margin:0 auto; padding:56px 0; }
#home-page section { scroll-margin-top:88px; }
.home-section-heading { max-width:700px; margin:0 0 44px; }
.home-section h2 { font-size:clamp(28px, 3.1vw, 40px); line-height:1.16; text-wrap:balance; }
.home-section-heading > p:last-child { margin:18px 0 0; color:var(--muted); font-size:17px; line-height:1.75; }
.home-feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:32px 36px; }
.home-feature { padding:26px 0 0; border-top:1px solid var(--line); }
.feature-number { display:inline-grid; place-items:center; width:36px; height:36px; margin-bottom:20px; color:var(--accent); background:var(--soft); border-radius:10px; font-size:12px; font-weight:750; }
.home-section h3 { margin:0; font-size:18px; line-height:1.4; letter-spacing:-.02em; }
.home-feature p, .home-steps p { margin:12px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.home-export-note { margin:32px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.home-export-note a { color:var(--accent); text-underline-offset:3px; }
.home-faq details { scroll-margin-top:88px; }
.home-guide { background:var(--soft); border-block:1px solid var(--line); }
.home-steps { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:36px; padding:0; margin:0 0 36px; list-style:none; counter-reset:pdf-step; }
.home-steps li { counter-increment:pdf-step; }
.home-steps li::before { display:grid; place-items:center; content:counter(pdf-step); width:44px; height:44px; margin-bottom:20px; color:#fff; border-radius:50%; background:var(--accent); font-size:17px; font-weight:700; }
.home-start-link { display:inline-flex; min-height:46px; align-items:center; justify-content:center; text-decoration:none; text-align:center; line-height:1.5; }
.home-privacy-panel { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:64px; padding:56px; color:#fff; border-radius:24px; background:#111635; }
.home-privacy-panel .eyebrow { color:#afbfff; }
.home-privacy-panel p:not(.eyebrow) { margin:22px 0 0; color:#c5cbe1; font-size:16px; line-height:1.8; }
.home-privacy-facts { margin:0; }
.home-privacy-facts > div { padding:20px 0; border-bottom:1px solid #ffffff26; }
.home-privacy-facts > div:first-child { padding-top:0; }
.home-privacy-facts > div:last-child { padding-bottom:0; border-bottom:0; }
.home-privacy-facts dt { font-size:16px; font-weight:700; }
.home-privacy-facts dd { margin:8px 0 0; color:#c5cbe1; font-size:14px; line-height:1.8; }
.home-faq { padding-top:0; }
.home-faq-list { border-top:1px solid var(--line); }
.home-faq details { border-bottom:1px solid var(--line); }
.home-faq summary { padding:24px 8px; cursor:pointer; font-size:17px; font-weight:650; line-height:1.5; }
.home-faq summary::marker { color:var(--accent); }
.home-faq details[open] summary { color:var(--accent-dark); }
.home-faq details p { max-width:840px; margin:0; padding:0 8px 24px; color:var(--muted); font-size:16px; line-height:1.8; }
.home-closing { margin:56px 0 36px; padding:40px 24px; text-align:center; border-radius:20px; background:var(--soft); }
.home-closing h3 { font-size:24px; }
.home-closing p { color:var(--muted); line-height:1.6; margin:12px 0 24px; }
.home-section-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 28px; }
.home-section-nav a { color:var(--muted); font-size:13px; line-height:1.8; text-underline-offset:4px; }
#home-page a:focus-visible, .home-faq summary:focus-visible { outline:3px solid #244cdb; outline-offset:4px; border-radius:4px; }
.home-discover:hover, .home-section-nav a:hover { color:var(--accent); }
.cyriaque-dev-section { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr); gap:28px; align-items:stretch; padding-top:56px; }.cyriaque-dev-section-heading { grid-column:1 / -1; margin-bottom:-4px; }.cyriaque-dev-section-heading > p:last-child { max-width:680px; }.cyriaque-dev-copy { position:relative; isolation:isolate; overflow:hidden; padding:42px; border:1px solid #182e82; border-radius:22px; background:linear-gradient(100deg,#080a24e8 18%,#080a24c4 68%,#080a2488),url("/assets/cyriaque-dev-ai-background.png") center/cover; box-shadow:0 20px 42px #10184824; }.cyriaque-dev-copy::after { position:absolute; z-index:-1; inset:auto -70px -110px auto; width:300px; height:300px; content:""; border-radius:50%; background:#5a69ff30; filter:blur(8px); }.cyriaque-dev-copy > * { position:relative; z-index:1; }.cyriaque-dev-copy h2, .cyriaque-dev-copy h3 { max-width:660px; margin:0; color:#fff; font-size:clamp(28px,3.3vw,40px); line-height:1.2; }.cyriaque-dev-copy > p:not(.eyebrow) { max-width:720px; margin:18px 0 0; color:#e6eaff; line-height:1.75; }.cyriaque-dev-copy strong { color:#fff; }.cyriaque-dev-copy .button { display:inline-flex; margin-top:26px; color:var(--ink); background:#fff; text-decoration:none; box-shadow:0 8px 18px #00000026; }.cyriaque-dev-copy .button:hover, .cyriaque-dev-copy .button:focus-visible { color:#fff; background:var(--accent); }.cyriaque-dev-highlight { position:relative; display:grid; align-content:center; gap:14px; overflow:hidden; padding:34px; border:1px solid #c3cdfc; border-radius:22px; background:linear-gradient(145deg,#f7f8ff 0%,#e8ecff 58%,#dde4ff 100%); box-shadow:0 20px 42px #10184814; }.cyriaque-dev-highlight::before { position:absolute; top:-62px; right:-54px; width:176px; height:176px; content:""; border:1px solid #6680ff4d; border-radius:50%; box-shadow:0 0 0 26px #6680ff12,0 0 0 54px #6680ff0a; }.cyriaque-dev-highlight > * { position:relative; z-index:1; }.cyriaque-dev-highlight strong { max-width:260px; color:var(--accent-dark); font-size:22px; line-height:1.25; }.cyriaque-dev-highlight p { margin:0; color:var(--muted); line-height:1.7; }.cyriaque-dev-highlight .cyriaque-dev-meeting-format { max-width:none; color:var(--ink); font-size:14px; line-height:1.45; }.cyriaque-dev-calendar-button { display:inline-flex; justify-content:center; width:100%; margin-top:8px; text-align:center; text-decoration:none; line-height:1.35; box-shadow:0 9px 18px #244cdb2e; }.cyriaque-dev-calendar-button:hover, .cyriaque-dev-calendar-button:focus-visible { box-shadow:0 12px 24px #244cdb45; transform:translateY(-1px); }

@media (max-width:1200px) {
  .document-toolbar { grid-template-columns:minmax(0,1fr); align-items:stretch; }
  .document-settings { min-width:0; }
  .document-toolbar .type-controls { flex-wrap:wrap; }
}
@media (max-width:760px) {
  .topbar { gap:10px; padding:0 14px; }
  .brand { gap:7px; font-size:15px; white-space:nowrap; }
  .topbar .button { padding:10px; font-size:12px; white-space:nowrap; }
  .empty-state { padding:32px 20px; }
  .home-content { gap:22px; }
  .home-introduction > p:last-child { font-size:16px; line-height:1.6; }
  .home-free { font-size:16px; }
  .home-options { gap:12px; }
  .home-option { display:flex; justify-content:flex-start; gap:16px; min-height:80px; padding:18px; text-align:left; }
  .home-option strong { font-size:14px; }
  .option-icon { flex:0 0 42px; width:42px; height:42px; font-size:24px; border-radius:11px; }
  .home-discover { max-width:100%; font-size:12px; }
  .home-section { width:calc(100% - 40px); padding:56px 0; }
  .home-section-heading { margin-bottom:30px; }
  .home-section-heading > p:last-child { font-size:16px; }
  .home-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
  .home-steps { grid-template-columns:1fr; gap:28px; }
  .home-steps li { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:16px; }
  .home-steps li::before { grid-row:1 / 3; width:40px; height:40px; margin:0; }
  .home-steps p { grid-column:2; margin-top:8px; }
  .home-privacy-panel { grid-template-columns:1fr; gap:32px; padding:32px 24px; border-radius:18px; }
  .home-faq { padding-top:0; }
  .home-faq summary { font-size:16px; padding:20px 4px; }
  .home-faq details p { font-size:15px; padding-inline:4px; }
  .home-closing { margin-top:36px; padding:30px 20px; }
  .cyriaque-dev-section { grid-template-columns:1fr; padding-top:52px; }.cyriaque-dev-copy, .cyriaque-dev-highlight { padding:30px 24px; }
  .document-settings .type-controls > label:first-child { flex-basis:100%; }
  .document-settings .font-picker { min-width:0; width:100%; }
  .document-settings .font-picker-trigger, .document-settings select { height:44px; }
  .document-settings .text-color-trigger, .document-settings .type-style-actions button { width:44px; height:44px; }
}
@media (max-width:480px) {
  body { min-width:0; }
  .home-feature-grid { grid-template-columns:1fr; gap:24px; }
  .feature-number { margin-bottom:12px; }
}
.cookie-consent { position:fixed; z-index:50; right:24px; bottom:24px; left:24px; display:flex; align-items:center; justify-content:space-between; gap:28px; width:min(760px,calc(100% - 48px)); margin:0 auto; padding:22px 24px; color:var(--ink); border:1px solid #ccd3fb; border-radius:16px; background:#fff; box-shadow:0 16px 48px #080a2433; }
.policy-page { min-height:100vh; background:var(--soft); }
.tool-page { min-height:100vh; background:var(--soft); }.blank-editor-frame { display:block; width:100%; height:100vh; height:100svh; border:0; background:#fff; }.tool-main { width:min(1120px, calc(100% - 40px)); margin:0 auto; padding:72px 0; }.tool-section { padding:72px 0; }.tool-section-heading { max-width:720px; }.tool-section h1 { margin:0 0 16px; font-size:clamp(38px, 5vw, 58px); line-height:1.08; }.tool-section h2 { font-size:clamp(28px, 3.3vw, 40px); line-height:1.2; }.tool-section-heading p:last-child, .tool-card p, .tool-faq p { color:var(--muted); line-height:1.75; }.tool-section-heading p:last-child { margin:16px 0 0; font-size:17px; }.tool-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }.tool-card { padding:26px; border:1px solid var(--line); border-radius:16px; background:#fff; }.tool-card-number { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:18px; color:var(--accent); border-radius:9px; background:var(--soft); font-size:12px; font-weight:800; }.tool-card h3 { font-size:18px; }.tool-card p { margin:10px 0 0; }.tool-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:0; margin:36px 0 0; list-style:none; counter-reset:tool-step; }.tool-steps li { position:relative; padding:24px 24px 24px 76px; border-radius:14px; background:#fff; counter-increment:tool-step; }.tool-steps li::before { position:absolute; top:23px; left:24px; display:grid; place-items:center; content:counter(tool-step); width:34px; height:34px; color:#fff; border-radius:50%; background:var(--accent); font-size:14px; font-weight:800; }.tool-steps h3 { font-size:17px; }.tool-steps p { margin:8px 0 0; color:var(--muted); line-height:1.65; }.tool-faq { padding-top:0; }.tool-faq details { border-bottom:1px solid var(--line); }.tool-faq summary { padding:24px 8px; cursor:pointer; font-size:17px; font-weight:650; line-height:1.5; }.tool-faq summary::marker { color:var(--accent); }.tool-faq details[open] summary { color:var(--accent-dark); }.tool-faq p { max-width:840px; margin:0; padding:0 8px 24px; }
.import-dialog { text-align:left; }.import-dialog > p:not(.eyebrow) { margin-bottom:22px; }.import-dialog .conversion-file { margin-bottom:16px; }.import-dialog-back { display:inline-flex; margin-top:16px; text-decoration:none; }
.merge-page-workspace { display:grid; min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); place-items:center; padding:40px 20px; background:linear-gradient(#f4f6ffb8,#f4f6ffb8),url("/assets/cdev-pdf-background.png") center/cover no-repeat; }.merge-page-card { display:grid; width:min(100%, 560px); gap:18px; padding:clamp(28px, 5vw, 48px); border:1px solid #fff; border-radius:22px; background:#fffffff2; box-shadow:0 16px 38px #080a2424; }.merge-page-card h1 { font-size:clamp(32px, 4.5vw, 46px); }.merge-page-intro { margin:0; color:var(--muted); line-height:1.65; }.merge-page-picker { position:relative; display:flex; min-height:54px; align-items:center; justify-content:center; padding:10px 16px; cursor:pointer; color:var(--accent-dark); border:1px dashed #a9b8e6; border-radius:10px; background:#f6f7ff; font-weight:750; }.merge-page-picker:hover { border-color:var(--accent); background:#eef0ff; }.merge-page-picker input { position:absolute; inset:0; width:100%; cursor:pointer; opacity:0; }.merge-page-list { display:grid; gap:8px; max-height:210px; padding:0; margin:0; overflow:auto; list-style:none; }.merge-page-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:8px; background:var(--soft); }.merge-page-list span { overflow:hidden; color:var(--ink); font-size:13px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }.merge-page-list button { flex:0 0 auto; padding:5px 8px; cursor:pointer; color:#b4234e; border:1px solid #f3c4d4; border-radius:6px; background:#fff; font:inherit; font-size:12px; font-weight:700; }.merge-page-list button:hover { background:#fff1f5; }.merge-page-empty { margin:0; color:var(--muted); font-size:13px; text-align:center; }.merge-page-action { width:100%; }
.conversion-page-workspace { display:grid; min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); place-items:center; padding:40px 20px; background:linear-gradient(#f4f6ffb8,#f4f6ffb8),url("/assets/cdev-pdf-background.png") center/cover no-repeat; }.conversion-page-card { display:grid; width:min(100%, 500px); gap:18px; padding:clamp(28px, 5vw, 48px); border:1px solid #fff; border-radius:22px; background:#fffffff2; box-shadow:0 16px 38px #080a2424; }.conversion-page-card h1 { font-size:clamp(32px, 4.5vw, 46px); }.conversion-page-intro { margin:0; color:var(--muted); line-height:1.65; }.conversion-page-card label { display:grid; gap:8px; color:var(--ink); font-size:13px; font-weight:750; }.conversion-page-card select { width:100%; padding:12px; color:var(--ink); border:1px solid #cbd4f4; border-radius:8px; outline:0; background:#fff; font:inherit; font-size:15px; }.conversion-page-card select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #244cdb1a; }.conversion-page-upload { margin-top:2px; }.conversion-page-status { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }.conversion-page-status span { color:#e67e22; }
.conversion-page-action { width:100%; }
@media (max-width:760px) { .tool-main { width:min(100% - 32px, 1120px); padding:32px 0; }.tool-card-grid, .tool-steps { grid-template-columns:1fr; }.tool-section { padding:52px 0; } }
.policy-main { width:min(820px, calc(100% - 40px)); margin:0 auto; padding:72px 0; }
.policy-card { padding:clamp(28px, 5vw, 56px); background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 12px 32px #080a2410; }
.policy-card h1 { font-size:clamp(32px, 5vw, 46px); }
.policy-card h2 { margin:36px 0 12px; font-size:22px; }
.policy-card p, .policy-card li { color:var(--muted); line-height:1.75; }
.policy-card p { margin:14px 0 0; }
.policy-card ul { margin:14px 0 0; padding-left:22px; }
.policy-updated { margin-top:18px !important; font-size:13px; }
.policy-back { display:inline-flex; margin-top:36px; text-decoration:none; }
.cookie-consent .eyebrow { margin-bottom:6px; }
.cookie-consent h2 { margin:0; font-size:19px; }
.cookie-consent p:not(.eyebrow) { max-width:510px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.cookie-consent-actions { display:flex; flex:0 0 auto; gap:8px; }
.cookie-consent-actions .button { min-height:40px; }
.cookie-consent :focus-visible, .cookie-settings-link:focus-visible { outline:3px solid #244cdb; outline-offset:3px; }
@media (max-width:760px) { .cookie-consent { right:14px; bottom:14px; left:14px; display:grid; width:auto; gap:18px; padding:20px; }.cookie-consent-actions { width:100%; }.cookie-consent-actions .button { flex:1; } }
.directional-arrow-field .field-shape-color { top:5px; bottom:auto; left:calc(50% - 13px); }
.arrow-endpoint-handle { position:absolute; z-index:3; top:50%; width:14px; height:14px; padding:0; cursor:crosshair; opacity:0; border:2px solid #fff; border-radius:50%; background:var(--accent); box-shadow:0 2px 7px #18277c33; transition:opacity .16s ease, transform .16s ease; }
.arrow-endpoint-handle.start { left:-8px; transform:translate(-50%,-50%) scale(.75); }
.arrow-endpoint-handle.end { right:-8px; transform:translate(50%,-50%) scale(.75); }
.directional-arrow-field:hover .arrow-endpoint-handle, .directional-arrow-field:focus-within .arrow-endpoint-handle { pointer-events:auto; opacity:1; }
.directional-arrow-field:hover .arrow-endpoint-handle.start, .directional-arrow-field:focus-within .arrow-endpoint-handle.start { transform:translate(-50%,-50%) scale(1); }
.directional-arrow-field:hover .arrow-endpoint-handle.end, .directional-arrow-field:focus-within .arrow-endpoint-handle.end { transform:translate(50%,-50%) scale(1); }
.arrow-endpoint-handle:focus-visible { opacity:1; outline:3px solid #8fc8ff; }
.field-shape-color { position:absolute; z-index:5; top:-13px; left:-13px; pointer-events:none; opacity:0; transform:scale(.75); transition:opacity .16s ease, transform .16s ease; }
.field-shape-color-trigger { display:block; width:26px; height:26px; padding:0; cursor:pointer; border:2px solid #fff; border-radius:7px; background:var(--shape-color); box-shadow:0 2px 7px #18277c21; }
.field-shape-color-trigger:focus-visible { outline:3px solid #8fc8ff; outline-offset:1px; }
.field-shape-color-menu { position:absolute; top:-4px; left:calc(100% + 8px); display:grid; grid-template-columns:repeat(3,22px); gap:5px; padding:6px; border:1px solid #cbd4f4; border-radius:8px; background:#fff; box-shadow:0 7px 18px #080a2421; }
.field-shape-color-menu[hidden] { display:none; }
.field-shape-color-option { width:22px; height:22px; padding:0; cursor:pointer; border:1px solid transparent; border-radius:5px; background:var(--shape-color); }
.field-shape-color-option[aria-checked="true"] { outline:2px solid var(--accent); outline-offset:2px; }
.field-shape-color-option:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.shape-field:hover .field-shape-color, .shape-field:focus-within .field-shape-color { pointer-events:auto; opacity:1; transform:scale(1); }

/* Typographie propre à chaque texte et groupe de choix. */
.field-typography-toolbar { position:absolute; z-index:4; bottom:calc(100% + 18px); left:0; display:flex; align-items:center; gap:4px; min-height:34px; padding:3px; color:var(--ink); white-space:nowrap; pointer-events:none; opacity:0; border:1px solid #cbd4f4; border-radius:8px; background:#fff; box-shadow:0 7px 18px #080a2421; transform:translateY(4px); transition:opacity .16s ease, transform .16s ease; }
.form-field:hover .field-typography-toolbar, .form-field:focus-within .field-typography-toolbar, .form-field.text-field.is-new .field-typography-toolbar { pointer-events:auto; opacity:1; transform:translateY(0); }
.field-typography-font, .field-typography-size { height:26px; padding:0 6px; color:var(--ink); border:1px solid #ccd3fb; border-radius:5px; outline:0; background:#fff; font-size:11px; }
.field-typography-font { width:112px; }
.field-typography-size { width:55px; }
.field-typography-font:focus, .field-typography-size:focus, .field-typography-color:focus-visible, .field-typography-style:focus-visible { border-color:var(--accent); outline:2px solid #244cdb1a; }

/* Accueil : une carte par outil disponible. */
.home-options { grid-template-columns:repeat(4, minmax(0, 1fr)); width:min(100%, 1060px); align-items:stretch; gap:16px; }
.home-option { grid-column:auto; min-height:154px; padding:20px; gap:10px; }
@media (max-width:900px) { .home-options { grid-template-columns:repeat(2, minmax(220px, 290px)); width:auto; }.home-option { grid-column:auto; } }
@media (max-width:760px) { .home-options { grid-template-columns:1fr; }.home-option { grid-column:auto; } }
.field-typography-color { width:26px; height:26px; padding:2px; cursor:pointer; border:1px solid #ccd3fb; border-radius:5px; background:#fff; }
.field-typography-color::-webkit-color-swatch-wrapper { padding:0; }.field-typography-color::-webkit-color-swatch { border:0; border-radius:3px; }
.field-typography-style { display:grid; place-items:center; width:26px; height:26px; padding:0; cursor:pointer; color:var(--ink); border:1px solid #ccd3fb; border-radius:5px; background:#fff; font-size:12px; font-weight:700; }.field-typography-style.italic { font-style:italic; }.field-typography-style.underline { text-decoration:underline; }.field-typography-style.active, .field-typography-style:hover { color:var(--accent-dark); border-color:var(--accent); background:#eef0ff; }
@media (max-width:760px) { .field-typography-toolbar { max-width:calc(100vw - 48px); overflow-x:auto; } }
.organize-page-card { width:min(100%, 1080px); }.organize-page-card .merge-page-intro { max-width:720px; }.organize-page-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; max-height:670px; padding:2px; margin:0; overflow:auto; list-style:none; }.organize-page-item { position:relative; display:grid; gap:12px; min-height:480px; padding:16px; cursor:grab; border:1px solid #d7def7; border-radius:12px; background:#fff; box-shadow:0 4px 14px #080a2410; }.organize-page-item:active { cursor:grabbing; }.organize-page-item[draggable="true"]:focus-visible { outline:3px solid #244cdb; outline-offset:2px; }.organize-page-item.is-dragging { opacity:.45; }.organize-page-preview, .organize-page-preview-placeholder { width:100%; height:350px; border:1px solid #e2e6f4; border-radius:7px; background:#f4f6ff; }.organize-page-preview { display:block; object-fit:contain; background:#fff; }.organize-page-preview-placeholder { position:relative; overflow:hidden; }.organize-page-preview-placeholder::after { position:absolute; inset:0; content:""; background:linear-gradient(110deg,transparent 20%,#fff9 45%,transparent 70%); transform:translateX(-100%); animation:page-preview-loading 1.2s ease-in-out infinite; }.organize-page-number { display:grid; place-items:center; width:34px; height:34px; color:var(--accent); border-radius:8px; background:#eef0ff; font-size:14px; font-weight:800; }.organize-page-title { overflow:hidden; color:var(--ink); font-size:14px; font-weight:750; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.organize-page-source { overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.organize-page-actions { display:flex; gap:6px; margin-top:auto; }.organize-page-actions button { display:grid; place-items:center; min-width:34px; height:30px; padding:4px 8px; cursor:pointer; color:var(--accent-dark); border:1px solid #ccd3fb; border-radius:6px; background:#fff; font:inherit; font-size:13px; font-weight:800; }.organize-page-actions button:hover:not(:disabled) { border-color:var(--accent); background:#eef0ff; }.organize-page-actions button:last-child { color:#b4234e; border-color:#f3c4d4; }.organize-page-actions button:last-child:hover { background:#fff1f5; }.organize-page-actions button:disabled { cursor:not-allowed; opacity:.4; }.organize-page-help { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }@keyframes page-preview-loading { to { transform:translateX(100%); } }
@media (max-width:760px) { .organize-page-list { grid-template-columns:1fr; max-height:600px; }.organize-page-item { min-height:420px; }.organize-page-preview, .organize-page-preview-placeholder { height:300px; } }
.conversion-page-card input[type="password"] { box-sizing:border-box; width:100%; padding:12px; color:var(--ink); border:1px solid #cbd4f4; border-radius:8px; outline:0; background:#fff; font:inherit; font-size:15px; }.conversion-page-card input[type="password"]:focus { border-color:var(--accent); box-shadow:0 0 0 3px #244cdb1a; }.conversion-page-card input[type="password"]:disabled { cursor:not-allowed; color:#8d93ab; background:#f4f6ff; }
.conversion-page-status.is-error { color:#b42318; font-weight:800; }
.organize-page-preview-frame { position:relative; overflow:hidden; width:100%; height:350px; border:1px solid #e2e6f4; border-radius:7px; background:#f4f6ff; }.organize-page-preview-frame .organize-page-preview, .organize-page-preview-frame .organize-page-preview-placeholder { width:100%; height:100%; border:0; border-radius:0; }.organize-page-zoom-controls { position:absolute; z-index:1; top:8px; right:8px; display:grid; gap:5px; }.organize-page-zoom-controls button { display:grid; width:34px; height:34px; place-items:center; padding:0; cursor:pointer; color:var(--accent-dark); border:1px solid #ccd3fb; border-radius:8px; background:#fffffff2; box-shadow:0 2px 8px #080a241f; }.organize-page-zoom-controls button:hover:not(:disabled) { border-color:var(--accent); background:#eef0ff; }.organize-page-zoom-controls button:disabled { cursor:not-allowed; opacity:.45; }.organize-page-zoom-controls svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
@media (max-width:760px) { .organize-page-preview-frame { height:300px; } }
.organize-page-preview-frame .organize-page-preview { transform-origin:center; transition:transform .18s ease; }
.option-icon-lock svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.option-icon-unlock svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }

/* Pages outils : emplacements AdSense latéraux uniquement sur grands écrans. */
@media (min-width:1200px) {
  .tool-page main.tool-ad-layout { display:grid; grid-template-columns:minmax(160px,220px) minmax(0,1120px) minmax(160px,220px); column-gap:24px; width:min(100%,1600px); margin:0 auto; }
  .tool-page .tool-ad-main { grid-column:2; min-width:0; }
  .tool-page .tool-ad-slot { position:sticky; top:92px; align-self:start; display:block; min-width:0; padding:14px 12px; border:2px solid #dc2626; border-radius:12px; background:#fff; }
  .tool-page .tool-ad-slot--left { grid-column:1; grid-row:1; }
  .tool-page .tool-ad-slot--right { grid-column:3; grid-row:1; }
  .tool-ad-label { margin:0 0 10px; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.11em; line-height:1.2; text-align:center; text-transform:uppercase; }
}
