:root{--accent: #29b6e8;--accent-dark: #2d3f5b;--ink: #16202b;--ink-soft: #55636f;--ink-mute: #8a95a0;--bg: #f4f6f8;--surface: #ffffff;--rule: #e2e7ec;--ok: #1d7a4c;--ok-bg: #e6f5ec;--warn: #9a5b12;--warn-bg: #fdf2e4;--danger: #a52a2a;--danger-bg: #fbeaea;--radius: 10px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--accent-dark)}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex:0 0 210px;background:var(--accent-dark);color:#dfe6ee;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-size:1.05rem;font-weight:700;color:#fff;padding:4px 10px 18px;line-height:1.25}.sidebar .brand span{color:var(--accent)}.sidebar a{display:block;padding:9px 12px;border-radius:8px;color:#cfd9e3;text-decoration:none;font-size:.93rem}.sidebar a:hover{background:#ffffff14;color:#fff}.sidebar a.active{background:var(--accent);color:#04222e;font-weight:600}.sidebar .spacer{flex:1}.sidebar button{background:none;border:1px solid rgba(255,255,255,.25);color:#cfd9e3;padding:8px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:.88rem}.main{flex:1;min-width:0;padding:26px 30px 60px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}h1{font-size:1.45rem;margin:0}h2{font-size:1.05rem;margin:0 0 12px}.subtitle{color:var(--ink-soft);font-size:.92rem;margin-top:4px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:18px;margin-bottom:18px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:14px;margin-bottom:20px}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:16px}.tile .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute)}.tile .value{font-size:1.7rem;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums}.tile .hint{font-size:.84rem;color:var(--ink-soft);margin-top:2px}.tile.alert{border-color:#f0c9c9;background:var(--danger-bg)}.tile.alert .value{color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);padding:8px 10px;border-bottom:1px solid var(--rule)}td{padding:10px;border-bottom:1px solid var(--rule);vertical-align:top}tbody tr:hover{background:#fafbfc}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}.empty{padding:30px;text-align:center;color:var(--ink-mute)}label.field,div.field{display:block;margin-bottom:12px}label.field>span,div.field>span{display:block;font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-bottom:4px}input,select,textarea{width:100%;padding:8px 10px;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:8px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{min-height:80px;resize:vertical;font-family:inherit}input.num{text-align:right;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:0 14px}button.btn,label.btn,a.btn{text-decoration:none;display:inline-block;padding:9px 16px;font:inherit;font-weight:600;border:1px solid var(--accent-dark);border-radius:8px;background:var(--accent-dark);color:#fff;cursor:pointer}button.btn:hover,label.btn:hover,a.btn:hover{background:#24334a}button.btn.ghost,label.btn.ghost,a.btn.ghost{background:#fff;color:var(--accent-dark)}button.btn.ghost:hover,label.btn.ghost:hover{background:#f0f4f8}button.btn.danger,label.btn.danger{background:#fff;color:var(--danger);border-color:#e0b4b4}button.btn:disabled,label.btn:has(input:disabled){opacity:.5;cursor:not-allowed}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;background:#eef1f4;color:var(--ink-soft)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:#e4f3fb;color:#12688c}.alert-box{padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:.92rem}.alert-box.error{background:var(--danger-bg);color:var(--danger);border:1px solid #eec4c4}.alert-box.info{background:#e4f3fb;color:#12688c;border:1px solid #bfe2f2}.alert-box.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #c2e3d0}.alert-box.warn{background:var(--warn-bg);color:var(--warn);border:1px solid #f0d9b4}.totals{margin-left:auto;width:320px;font-size:.95rem}.totals div{display:flex;justify-content:space-between;padding:5px 0}.totals div.grand{border-top:2px solid var(--ink);margin-top:6px;padding-top:8px;font-weight:700;font-size:1.1rem}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84rem;color:var(--ink-soft);word-break:break-all}.login{min-height:100vh;display:grid;place-items:center;background:var(--accent-dark)}.login .card{width:min(380px,92vw)}.login h1{margin-bottom:6px}.chart{display:flex;align-items:flex-end;gap:6px;height:140px;margin-top:10px}.chart .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.chart .bar i{display:block;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px}.chart .bar small{display:block;text-align:center;font-size:.7rem;color:var(--ink-mute);margin-top:4px}.picker{position:relative}.picker-note{display:block;font-size:.8rem;color:var(--ink-mute);margin-top:4px}.picker-note.error{color:var(--danger)}.picker-list{position:absolute;z-index:30;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:0 8px 24px #16202b24}.picker-list li+li{border-top:1px solid var(--rule)}.picker-list button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:6px;background:none;font:inherit;cursor:pointer;color:var(--ink)}.picker-list button:hover{background:#eef4f8}.picker-name{display:flex;align-items:center;gap:8px;font-weight:600}.picker-sub{display:block;font-size:.84rem;color:var(--ink-soft);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-empty{padding:14px 10px;color:var(--ink-mute);font-size:.9rem}.picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:8px}.picked-meta{font-size:.85rem;color:var(--ink-soft);margin-top:2px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.chip{display:inline-flex;align-items:baseline;gap:6px;padding:7px 13px;font:inherit;font-size:.9rem;color:var(--ink-soft);background:#fff;border:1px solid var(--rule);border-radius:999px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.chip:not([aria-pressed=true]):hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.chip .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem;font-weight:700;letter-spacing:.03em;color:var(--ink-mute)}.chip[aria-pressed=true]{--chip-fill: var(--accent-dark);--chip-edge: var(--accent-dark);--chip-ink: #fff;background:var(--chip-fill);border-color:var(--chip-edge);color:var(--chip-ink);font-weight:600}.chip[aria-pressed=true] .code{color:currentColor;opacity:.62}.chip[aria-pressed=true][data-mission=PU]{--chip-fill: linear-gradient(160deg, #F5822C 0%, #E25420 52%, #CC2D19 100%);--chip-edge: #C42A16}.chip[aria-pressed=true][data-mission=IN]{--chip-fill: linear-gradient(160deg, #44648A 0%, #2E455A 55%, #1E3143 100%);--chip-edge: #1E3143}.chip[aria-pressed=true][data-mission=TH]{--chip-fill: linear-gradient(160deg, #A167DB 0%, #7A3FB8 50%, #4E2A8E 100%);--chip-edge: #4A2786}.chip[aria-pressed=true][data-mission=TH-PV]{--chip-fill: linear-gradient(160deg, #8B3FBF 0%, #AF3179 52%, #D1344B 100%);--chip-edge: #A23370}.chip[aria-pressed=true][data-mission=FO]{--chip-fill: linear-gradient(160deg, #D9A11B 0%, #EDBE33 55%, #F8D65E 100%);--chip-edge: #C08F10;--chip-ink: #402F00}.chip[aria-pressed=true][data-mission=SC]{--chip-fill: linear-gradient(160deg, #5FA31F 0%, #7CC136 55%, #A6DD5F 100%);--chip-edge: #55931A;--chip-ink: #17330A}.chip[aria-pressed=true][data-mission=PV]{--chip-fill: linear-gradient(160deg, #1E93C4 0%, #3FB6E8 52%, #7FD6F7 100%);--chip-edge: #1985B2;--chip-ink: #05303F}.chip[aria-pressed=true][data-mission=CO]{--chip-fill: linear-gradient(160deg, #4A6E95 0%, #2E455A 55%, #1B2C3D 100%);--chip-edge: #1B2C3D}.chip:disabled{opacity:.55;cursor:not-allowed}.reference-preview{margin-top:10px;padding:10px 12px;background:var(--surface);border:1px dashed var(--rule);border-radius:8px}.reference-preview .label{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute)}.reference-preview .value{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;color:var(--ink);word-break:break-all;margin-top:3px}.reference-preview .value em{color:var(--ink-mute);font-style:normal}.sidebar .who{padding:8px 12px 12px;font-size:.82rem;line-height:1.35;color:#cfd9e3}.sidebar .who strong{display:block;color:#fff;font-weight:600;overflow-wrap:anywhere}.sidebar .who span{color:var(--accent)}.subnav{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--rule)}.subnav a{padding:8px 14px;font-size:.92rem;color:var(--ink-soft);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.subnav a:hover{color:var(--ink)}.subnav a.active{color:var(--accent-dark);font-weight:600;border-bottom-color:var(--accent)}.cat-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.cat-select{font-weight:600;border-width:1px;border-style:solid}.cat-vert{background:#e4f6ea;color:#17683f;border-color:#bfe6cd}.cat-bleu{background:#e4f0fd;color:#16548f;border-color:#c3ddf7}.cat-orange{background:#fdeee0;color:#96501a;border-color:#f6d5b6}.cat-ambre{background:#fdf7d9;color:#7d6209;border-color:#f0e3a5}.cat-violet{background:#f0e9fb;color:#5b3a9c;border-color:#ddcdf4}.cat-brique{background:#fce9e7;color:#9c3b2c;border-color:#f4cbc5}.cat-cyan{background:#e0f5f6;color:#14666e;border-color:#bce6e9}.cat-marine{background:#e6e9f5;color:#2d3f7b;border-color:#c9d0ea}.cat-gris{background:#eef1f4;color:#5a6672;border-color:#dde3e9}.role-select{font-weight:600;min-width:190px}.role-select.ok{color:var(--ok)}.role-select.info{color:#12688c}.role-select.danger{color:var(--danger)}.row-muted td{opacity:.6}.inline-form{display:flex;gap:8px;margin-top:8px}.inline-form input{flex:1;min-width:180px}.mission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}.mission-card{margin-bottom:0}.mission-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.mission-head strong{font-size:1rem}.code-chip{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:var(--accent-dark);color:var(--accent)}.banner-slot{aspect-ratio:3.2 / 1;border-radius:8px;overflow:hidden;background:#eef1f4;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.banner-slot img{width:100%;height:100%;object-fit:cover;display:block}.banner-slot.empty{border:1px dashed var(--rule);background:var(--bg);color:var(--ink-mute);font-size:.86rem;text-align:center;padding:0 16px}.file-btn{position:relative;overflow:hidden;cursor:pointer}.file-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.quote-banner{margin-top:12px}.quote-banner img{width:100%;max-height:130px;object-fit:cover;border-radius:8px;display:block}.quote-banner span{display:block;margin-top:5px;font-size:.78rem;color:var(--ink-mute)}.muted{color:var(--ink-mute)}.actions.nowrap{flex-wrap:nowrap}.lines-unit select,td select{min-width:96px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16202b73;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);border:1px solid var(--rule);padding:22px 24px 24px;width:100%;max-width:860px;box-shadow:0 18px 50px #16202b38}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.modal-head h2{margin:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head h2{margin:0}.dup-list{list-style:none;margin:8px 0 0;padding:0}.dup-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.dup-list em{font-style:normal;opacity:.75}.picker-create{border-top:1px solid var(--rule)}.picker-create button{color:var(--accent-dark);font-weight:600}.address-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:8px 12px;background:var(--ok-bg);border:1px solid #c2e3d0;border-radius:8px;font-size:.9rem;color:var(--ok)}.address-picked button,.link-button{background:none;border:0;padding:0;font:inherit;font-size:.84rem;color:var(--accent-dark);text-decoration:underline;cursor:pointer;white-space:nowrap}.link-button{margin-top:6px;color:var(--ink-mute)}.link-button:hover{color:var(--accent-dark)}.address-detail{margin-top:4px}.page-foot{display:flex;justify-content:flex-end;gap:8px;margin:4px 0 32px;padding-top:16px;border-top:1px solid var(--rule)}.note-editor{display:flex;align-items:flex-end;gap:10px;margin:4px 0 16px}.note-editor .field{flex:1;margin-bottom:0}.subchips{align-items:center;margin-top:10px;padding-left:2px}.chips-label{font-size:.82rem;color:var(--ink-mute);margin-right:2px}.chip.small{padding:5px 11px;font-size:.85rem}.subtypes{margin-top:14px;padding-top:12px;border-top:1px dashed var(--rule)}.subtypes-head{display:flex;align-items:baseline;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-bottom:8px}.subtle{font-size:.84rem;color:var(--ink-mute);margin:0}.subtype{padding:10px 0 4px;border-top:1px solid var(--rule);margin-top:10px}.subtype:first-of-type{border-top:0;margin-top:0}.subtype-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.link-button.danger{color:var(--danger)}.banner-slot.compact{aspect-ratio:4.5 / 1}.banner-slot.empty.compact{font-size:.8rem}.survey-map{margin:4px 0 16px}.map-frame{position:relative;width:100%;aspect-ratio:640 / 400;background:var(--band);border:1px solid var(--rule);border-radius:8px;overflow:hidden;cursor:crosshair;display:flex;align-items:center;justify-content:center;color:var(--ink-mute)}.map-frame.locked{cursor:default}.map-frame img{width:100%;height:100%;object-fit:cover;display:block}.map-frame svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.map-frame polygon{fill:#29b6e847;stroke:#ff6127;stroke-width:3;vector-effect:non-scaling-stroke}.map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}.map-area strong{font-size:1.05rem;color:var(--accent-dark)}.survey-photos{margin-top:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,46%),1fr));gap:10px}.photo-thumb{position:relative;margin:0;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:var(--band);display:flex;align-items:center;justify-content:center}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb button{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:#16202bb8;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.photo-add{aspect-ratio:4 / 3;border:1px dashed var(--rule);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.86rem;color:var(--ink-mute);cursor:pointer;position:relative;overflow:hidden;text-align:center;padding:0 12px}.photo-add:hover{border-color:var(--accent);color:var(--accent-dark)}.photo-add input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.showcase-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}.showcase-choice{display:block;text-align:left;padding:8px;font:inherit;background:#fff;border:2px solid var(--rule);border-radius:10px;cursor:pointer}.showcase-choice:hover:not(:disabled){border-color:var(--accent)}.showcase-choice[aria-pressed=true]{border-color:var(--accent-dark);background:#f2f6fa}.showcase-choice:disabled{opacity:.6;cursor:not-allowed}.showcase-title{display:block;margin-top:8px;font-size:.9rem;font-weight:600;color:var(--ink)}.showcase-pair{display:flex;gap:6px}.showcase-pair .side{flex:1;aspect-ratio:4 / 3;background:var(--band);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--ink-mute)}.showcase-pair img{width:100%;height:100%;object-fit:cover;display:block}.showcase-admin{max-width:320px}.catalogue-filter{display:flex;gap:10px;align-items:center;margin-bottom:14px}.catalogue-filter input[type=search]{flex:1 1 auto}.catalogue-filter select{flex:0 0 220px}.catalogue-filter .count{flex:0 0 auto;font-size:13px;color:var(--muted);white-space:nowrap}.area-toggle{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.area-toggle input{margin-top:3px}.area-toggle em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:2px}.star-col{width:34px;text-align:center}.star{background:none;border:0;padding:2px 4px;font-size:17px;line-height:1;color:var(--muted);cursor:pointer}.star.on{color:#e8a33d}.star:disabled{cursor:default;opacity:.6}.showcase-choice.incomplete{opacity:.55;cursor:not-allowed}.showcase-warn{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#b4501c}.toggle{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:5px 14px 5px 6px;border:1px solid var(--rule);border-radius:999px;background:#fff;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink-mute);cursor:pointer;transition:background .14s,border-color .14s,color .14s}.toggle .knob{position:relative;width:38px;height:22px;border-radius:999px;background:#d3dae1;transition:background .14s}.toggle .knob:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #16202b4d;transition:transform .14s}.toggle.on{border-color:var(--accent);background:#eaf7fd;color:var(--accent-dark)}.toggle.on .knob{background:var(--accent)}.toggle.on .knob:after{transform:translate(16px)}.toggle:disabled{opacity:.5;cursor:not-allowed}.showcase-picked{display:inline-block;margin-top:5px;padding:2px 9px;border-radius:999px;background:var(--accent-dark);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.annex-list{list-style:none;margin:4px 0 0;padding:0}.annex-list li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--rule)}.annex-list li:first-child{border-top:0}.annex-list .mark{flex:0 0 16px;font-weight:700;text-align:center}.annex-list li.on .mark{color:var(--ok)}.annex-list li.off .mark{color:var(--ink-mute)}.annex-list strong{display:block;font-size:.92rem}.annex-list em{display:block;font-style:normal;font-size:.84rem;color:var(--ink-soft);margin-top:1px}.annex-list li.off strong{color:var(--ink-mute)}.richtext{border:1px solid var(--rule);border-radius:8px;background:#fff;overflow:hidden}.richtext:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.richtext.disabled{opacity:.6}.richtext-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;background:#f6f8fa;border-bottom:1px solid var(--rule)}.richtext-tools{display:flex;gap:3px;flex-wrap:wrap}.rt-tool{display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;min-width:30px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:none;color:var(--ink-soft);font:inherit;font-size:.88rem;line-height:1;cursor:pointer}.rt-tool:hover:not(.off){background:#fff;border-color:var(--rule);color:var(--ink)}.rt-tool.off{opacity:.4;cursor:not-allowed}.rt-bold{font-weight:800}.rt-italic{font-style:italic;font-weight:600}.rt-underline{text-decoration:underline;font-weight:600}.richtext-tabs{display:flex;gap:2px;flex:0 0 auto}.richtext-tabs button{padding:5px 11px;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:.8rem;color:var(--ink-mute);cursor:pointer}.richtext-tabs button.on{background:#fff;border-color:var(--rule);color:var(--accent-dark);font-weight:600}.richtext-area{padding:9px 11px;font-size:.95rem;line-height:1.55;outline:none;overflow-y:auto;max-height:320px}.richtext-area.is-empty:before{content:attr(data-placeholder);color:var(--ink-mute);pointer-events:none}.richtext-area p{margin:0 0 .5em}.richtext-area p:last-child{margin-bottom:0}.richtext-area ul,.richtext-area ol{margin:.3em 0 .5em;padding-left:1.4em}.richtext-area li{margin-bottom:.15em}.richtext-code{display:block;width:100%;border:0;border-radius:0;resize:vertical;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84rem;line-height:1.5}.richtext-code:focus{outline:none}.richtext-note{margin:0;padding:7px 11px;border-top:1px solid var(--rule);background:#f6f8fa;font-size:.76rem;color:var(--ink-mute)}.richtext-note code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95em;color:var(--ink-soft)}.danger-zone{border-color:#e8c4c4;background:#fdf7f7}.danger-zone h2{color:var(--danger)}.siret-lookup{margin-bottom:14px}.siret-row{display:flex;gap:8px;align-items:stretch}.siret-row input{flex:1 1 auto;min-width:0;font-variant-numeric:tabular-nums}.siret-row .btn{flex:0 0 auto;white-space:nowrap}.siret-lookup .alert-box{margin:8px 0 0}.billing-target{margin-top:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:8px}.billing-target .subtle{margin:0}.list-filter{display:flex;gap:10px;align-items:center;margin-bottom:14px}.list-filter input[type=search]{flex:1 1 auto}.list-filter .count{flex:0 0 auto;font-size:.84rem;color:var(--ink-mute);white-space:nowrap;font-variant-numeric:tabular-nums}.list-filter .sort-picker,.list-filter .sort-dir{display:none}th.sortable{padding:0}th.sortable button{display:block;width:100%;padding:8px 10px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-transform:inherit;letter-spacing:inherit;font-weight:inherit}th.sortable.num button{text-align:right}th.sortable button:hover{color:var(--ink)}th.sortable button:after{content:"";display:inline-block;width:.8em;margin-left:.25em;color:var(--accent)}th.sortable.sorted button{color:var(--accent-dark)}th.sortable.sorted.asc button:after{content:"↑"}th.sortable.sorted.desc button:after{content:"↓"}.topbar,.drawer-veil,.sidebar .drawer-close{display:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ref-short{display:none}@media(max-width:860px){body.menu-open{overflow:hidden}.topbar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;z-index:60;height:56px;padding:0 12px;background:var(--accent-dark);color:#fff;box-shadow:0 1px #0000002e}.topbar-brand{flex:1;min-width:0;font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-brand span{color:var(--accent)}.burger{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;background:none;border:0;border-radius:8px;cursor:pointer;padding:0}.burger span,.burger span:before,.burger span:after{display:block;width:20px;height:2px;border-radius:2px;background:#fff;content:""}.burger span{position:relative}.burger span:before{position:absolute;top:-6px}.burger span:after{position:absolute;top:6px}.topbar-new{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--accent);color:#04222e;font-size:.88rem;font-weight:700;text-decoration:none;white-space:nowrap}.drawer-veil{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#09101880}.shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:80;width:254px;flex-basis:auto;padding:16px 12px 20px;overflow-y:auto;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #00000059}.sidebar.open{transform:none}.sidebar .brand{position:relative;padding-right:40px}.sidebar .drawer-close{display:block;position:absolute;top:-4px;right:0;width:34px;height:34px;padding:0;font-size:1.5rem;line-height:1;border:0;background:none;color:#cfd9e3}.sidebar a{padding:12px;font-size:1rem}.main{padding:70px 14px 40px}.map-frame,button,.btn,.chip,a{touch-action:manipulation}.photo-grid{grid-template-columns:repeat(2,1fr)}.map-tools{gap:8px}.map-tools .actions{width:100%}h1{font-size:1.25rem}.page-head{gap:10px;margin-bottom:14px}.page-head>div:first-child{flex:1 1 100%}.page-head .actions{width:100%}.page-head .actions>*{flex:1 1 calc(50% - 4px)}.page-head .actions>a.btn{flex-basis:100%}.page-head .actions .btn{text-align:center;padding:12px 14px}.card{padding:14px;border-radius:12px}.page-foot{flex-direction:column-reverse;align-items:stretch}.page-foot .btn{width:100%;text-align:center;padding:12px 16px}.actions .btn{padding:10px 14px}input,select,textarea{font-size:16px}.totals{width:100%;margin-left:0}.card-head{flex-wrap:wrap}.card-head .toggle{width:100%;justify-content:flex-start}.catalogue-filter{flex-wrap:wrap}.catalogue-filter input[type=search],.catalogue-filter select{flex:1 1 100%}.siret-row{flex-wrap:wrap}.siret-row input{flex:1 1 100%}.siret-row .btn{flex:1 1 100%;text-align:center}.list-filter{flex-wrap:wrap}.list-filter input[type=search]{flex:1 1 100%}.list-filter .sort-picker{display:block;flex:1 1 0;min-width:0}.list-filter .sort-dir{display:block;flex:0 0 auto;width:44px;padding:8px 0;font:inherit;font-size:17px;line-height:1;background:#fff;color:var(--accent-dark);border:1px solid var(--rule);border-radius:8px;cursor:pointer}.list-filter .count{flex:0 0 auto}.note-editor{flex-direction:column;align-items:stretch}.subnav{overflow-x:auto;white-space:nowrap}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100%;padding:18px 14px 24px}.showcase-admin{max-width:none}.table-wrap{overflow-x:visible}.ref-long{display:none}.ref-short{display:inline}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{display:none}.table-wrap tr{border:1px solid var(--rule);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--surface)}.table-wrap tbody tr:hover{background:var(--surface)}.table-wrap tr.row-muted{opacity:.6}.table-wrap td{display:flex;flex-wrap:wrap;gap:2px 14px;align-items:baseline;justify-content:space-between;padding:5px 0;border:0;text-align:left}.table-wrap td:empty{display:none}.table-wrap td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute)}.table-wrap tbody td:first-child,.table-wrap tbody td.head-cell{display:block;text-align:left;font-size:1rem;font-weight:600;padding:0 0 8px;margin-bottom:6px;border-bottom:1px solid var(--rule)}.table-wrap tbody td:first-child:before,.table-wrap tbody td.head-cell:before{content:none}.table-wrap tbody tr:has(td.head-cell)>td:first-child{display:flex;font-size:inherit;font-weight:inherit;padding:5px 0;margin-bottom:0;border-bottom:0}.table-wrap tbody tr:has(td.head-cell)>td.star-col{display:block;float:right;width:auto;padding:0;margin-left:10px}.table-wrap td:not([data-label]){justify-content:flex-end}.table-wrap td:not([data-label]):before{content:none}.table-wrap td.num{font-variant-numeric:tabular-nums;text-align:right}.table-wrap td{flex-wrap:wrap}.table-wrap td>input,.table-wrap td>select,.table-wrap td>textarea{flex:1 1 140px;min-width:0;width:auto}.table-wrap tbody td:first-child>input,.table-wrap tbody td:first-child>select,.table-wrap tbody td:first-child>textarea,.table-wrap tbody td.head-cell>input,.table-wrap tbody td.head-cell>select,.table-wrap tbody td.head-cell>textarea{width:100%;font-weight:400;font-size:16px}.table-wrap td>input.num{text-align:right}.lines-unit select,td select{min-width:0}}@media(max-width:380px){.main{padding-left:10px;padding-right:10px}.topbar-new{padding:8px 11px;font-size:.82rem}}
