:root{--bg:#f7f7f5;--surface:#fff;--text:#1d2321;--muted:#5f6a65;--faint:#8a938f;--line:#e2e5e2;--line-strong:#cfd4d1;--accent:#0b5d4b;--accent-ink:#fff;--accent-soft:#eaf2ef;--danger:#a3261d;--danger-soft:#fbeeed;--warn:#8a5a00;--warn-soft:#fdf6e6;--ok:#1f6b3a;--ok-soft:#edf6f0;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4{margin:0 0 12px;font-weight:600;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 12px}a{color:var(--accent)}small{font-size:.85rem}code{overflow-wrap:anywhere;background:#f0f2f0;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:24px;min-height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:10px;font-size:1.05rem;font-weight:600;display:flex}.brand-mark{border-radius:6px;width:26px;height:26px}.back{width:34px;height:34px;color:var(--text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;padding:0;display:inline-flex}.back:hover{background:var(--bg)}.cloud{color:var(--faint);background:0 0;border:none;align-items:center;margin-left:2px;padding:4px;display:inline-flex;position:relative}.cloud.pending{color:var(--warn)}.cloud.pending:after{content:"";background:var(--warn);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:2px}.tabs{align-self:stretch;gap:4px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;padding:0 12px;font-size:.95rem;display:flex}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-icon{display:none}@media (width<=720px){.topbar{padding:0 16px}.tabs{z-index:20;grid-template-columns:repeat(var(--tabs,5), 1fr);background:var(--surface);border-top:1px solid var(--line);padding:4px 0 calc(4px + env(safe-area-inset-bottom));gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.tabs button{border-bottom:none;flex-direction:column;gap:2px;min-width:0;padding:6px 0;font-size:.7rem}.tabs button.active{background:0 0;font-weight:600}.tab-icon{display:inline-flex}.app{padding-bottom:68px}}.content{flex-direction:column;flex:1;gap:16px;width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 40px;display:flex}@media (width<=720px){.content{gap:12px;padding:16px 12px 24px}}.app-footer{text-align:center;color:var(--faint);padding:16px;font-size:.8rem}@media (width<=720px){.app-footer{display:none}}.card,.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}@media (width<=720px){.card,.section{padding:16px}}.welcome{padding:8px 4px 0}.welcome p{color:var(--muted)}.hint{color:var(--muted);font-size:.9rem}small.hint{margin-top:4px;display:block}.muted{color:var(--muted)}.field-label{color:var(--text);font-size:.9rem;font-weight:500;display:block}.panel{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;margin:12px 0;padding:16px;display:flex}.panel>span{color:var(--muted);font-size:.92rem}.panel.ok{background:var(--ok-soft);border-color:#cfe3d6}.panel.ok>span{color:#34533f}.advanced{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.advanced summary,details>summary{cursor:pointer;color:var(--muted);font-size:.92rem}details[open]>summary{margin-bottom:12px}.advanced-block{margin-bottom:16px}.steps{margin:0 0 12px;padding-left:20px}.steps li{margin-bottom:8px}.form{flex-direction:column;gap:14px;display:flex}.form h2{margin-bottom:0}label{flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;display:flex}label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:400}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;width:100%;min-width:0;padding:10px 12px;font-size:1rem;font-weight:400}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input.invalid{border-color:var(--danger)}textarea{resize:vertical}fieldset{border:none;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}legend{margin-bottom:8px;padding:0;font-size:.95rem;font-weight:600}.form fieldset+fieldset,.section fieldset+fieldset{border-top:1px solid var(--line);padding-top:16px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=520px){.grid2{grid-template-columns:1fr}}button,.button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.95rem;font-weight:500;line-height:1.3;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--faint)}button:disabled{opacity:.55;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover,.button.primary:hover{background:#094c3d}button.danger,.button.danger{color:var(--danger)}button.wide,.button.wide{width:100%;padding:12px 16px}button.link,label.link,.link{color:var(--accent);cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0;display:inline}button.link.muted,.link.muted{color:var(--muted)}button.link.danger{color:var(--danger)}label.button{flex-direction:row;font-weight:500}button.icon{padding:6px 10px}.row-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-links{gap:16px;margin-top:2px;display:flex}.button.whatsapp{color:#fff;background:#1f8f4e;border-color:#1f8f4e}.error{color:var(--danger);margin:0;font-size:.92rem}.error-text{color:var(--danger)}.success{color:var(--ok);margin:0;font-size:.95rem}.ok-text{color:var(--ok);font-size:.9rem}.notice{border-radius:var(--radius);cursor:pointer;border:1px solid;margin:0;padding:12px 16px}.notice.success{background:var(--ok-soft);border-color:#cfe3d6}.notice.error{background:var(--danger-soft);border-color:#efcdca}.banner{border-radius:var(--radius);background:var(--warn-soft);color:#5c4300;border:1px solid #efdfb8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 16px;font-size:.92rem;display:flex}.tag{background:var(--ok-soft);color:var(--ok);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem;font-weight:500;display:inline-block}.tag.bad{background:var(--danger-soft);color:var(--danger)}.bad{color:var(--danger)}.login{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:400px;min-height:100vh;margin:0 auto;padding:48px 24px;display:flex}.login-logo{border-radius:14px;width:64px;height:64px;margin-bottom:8px}.login h1{margin:0}.login-tagline{color:var(--muted);margin-bottom:24px}.google-button{width:100%;padding:12px 16px;font-size:1rem}.google-button svg{width:20px;height:20px}.login-points{text-align:left;color:var(--muted);flex-direction:column;gap:10px;margin:28px 0 0;padding:0;font-size:.92rem;list-style:none;display:flex}.login-points li{padding-left:16px;position:relative}.login-points li:before{content:"";background:var(--line-strong);border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.login-privacy{color:var(--muted);margin-top:24px;font-size:.85rem}.kind-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kind-choice label{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;gap:2px;padding:14px}.kind-choice label.selected{border-color:var(--accent);background:var(--accent-soft)}.kind-choice input{opacity:0;pointer-events:none;position:absolute}.kind-choice strong{font-size:1rem}.kind-choice span{color:var(--muted);font-size:.85rem;font-weight:400}.backup-state{border-radius:var(--radius);background:var(--ok-soft);color:#34533f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;padding:12px 14px;font-size:.95rem;display:flex}.backup-state.pending{background:var(--warn-soft);color:#5c4300}.sub-status{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;padding:0 4px;font-size:.9rem;display:flex}.sub-status.soon{color:var(--warn)}.sub-actions{gap:16px;display:flex}.code-form{flex-wrap:wrap;gap:8px;width:100%;display:flex}.code-form input{flex:200px}.code-form .error{flex-basis:100%}.gate{flex-direction:column;gap:8px;display:flex}.settings{flex-wrap:wrap;align-items:center;gap:16px 32px;padding:14px 20px;display:flex}.setting{align-items:center;gap:12px;display:flex}.setting-label{color:var(--muted);font-size:.85rem}@media (width<=720px){.settings{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.setting{justify-content:space-between}}.segmented{border:1px solid var(--line-strong);border-radius:6px;display:inline-flex;overflow:hidden}.segmented button{color:var(--muted);border:none;border-radius:0;padding:6px 14px;font-size:.9rem}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button.on{background:var(--accent);color:#fff}.logo-row{align-items:center;gap:12px;font-size:.9rem;display:flex}.logo-thumb{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:6px;width:36px;height:36px}.logo-thumb.empty{background:repeating-linear-gradient(45deg,#f2f3f1,#f2f3f1 4px,#fff 4px 8px);display:inline-block}.swatches{align-items:center;gap:8px;display:flex}.swatch{width:24px;height:24px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--text)}.swatch.custom{background:conic-gradient(#d33,#e9b400,#2a9d4b,#2b6cb0,#8e3bb5,#d33);position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.mode-switch{border-bottom:1px solid var(--line);gap:4px;display:flex}.mode-switch button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 14px}.mode-switch button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.create{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;gap:16px;display:grid}@media (width<=880px){.create{grid-template-columns:minmax(0,1fr)}}.preview{position:sticky;top:72px}.preview h3{color:var(--muted);margin-bottom:8px;font-size:.85rem;font-weight:500}.phone{border:1px solid var(--line-strong);background:var(--bg);border-radius:18px;max-height:78vh;padding:10px;overflow-y:auto}.tag-choice{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:999px;padding:5px 12px;font-size:.88rem;font-weight:400}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.photo-field{align-items:center;gap:14px;display:flex}.photo-field img,.photo-empty{object-fit:cover;border:1px solid var(--line);border-radius:6px;flex:none;width:64px;height:64px}.photo-empty{background:repeating-linear-gradient(45deg,#f2f3f1,#f2f3f1 4px,#fff 4px 8px)}.quality{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.quality .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.quality-excellent,.quality-bon{color:var(--ok)}.quality-moyen{color:var(--warn)}.quality-trop{color:var(--danger)}.buttons-editor{flex-direction:column;gap:10px;display:flex}.button-row{align-items:flex-start;gap:8px;display:flex}.button-row-fields{flex:1;grid-template-columns:1fr 1.4fr;gap:6px;min-width:0;display:grid}.button-row-fields small,.button-row-fields .attach{grid-column:1/-1}.button-row-actions{gap:4px;display:flex}@media (width<=560px){.button-row{flex-wrap:wrap}.button-row-fields{flex-basis:100%;grid-template-columns:1fr}}.presets{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;display:flex}.form label.attach{color:var(--muted);font-size:.85rem;font-weight:400}.qr-result{flex-wrap:wrap;align-items:center;gap:20px;margin:12px 0 16px;display:flex}.qr-image{border:1px solid var(--line);background:#fff;border-radius:6px;width:220px;max-width:100%;padding:8px}.qr-image svg{width:100%;height:auto;display:block}.qr-actions{flex-wrap:wrap;gap:8px;display:flex}.choices{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.choice{text-align:left;background:var(--surface);border:none;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.choice+.choice{border-top:1px solid var(--line)}.choice:hover{background:var(--bg)}.choice b{margin-bottom:2px;font-weight:600;display:block}.choice small{color:var(--muted);font-weight:400;line-height:1.4}.choice-arrow{color:var(--faint);order:2;font-size:1.4rem}.file-link{color:var(--accent);cursor:pointer;flex-direction:row}.people,.lots{flex-direction:column;gap:10px;margin:0 0 4px;padding:0;list-style:none;display:flex}.people li{align-items:center;gap:10px;display:flex}.person-photo{border:1px dashed var(--line-strong);cursor:pointer;width:52px;height:52px;color:var(--faint);border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:400;display:grid;overflow:hidden}.person-photo img{object-fit:cover;width:100%;height:100%}.person-fields{flex:1;gap:6px;min-width:0;display:grid}.lots>li{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.bl-line{grid-template-columns:2fr 1fr 1.5fr auto;align-items:center;gap:6px;display:grid}@media (width<=560px){.bl-line{grid-template-columns:1fr 1fr}}.bulk-preview{color:var(--muted);margin:0;padding-left:20px}.participants-editor{margin:12px 0}.history,.plain-list,.live-list,.shops{margin:12px 0;padding:0;list-style:none}.history>li,.plain-list>li,.live-list>li{border-top:1px solid var(--line);padding:14px 0}.history>li:first-child,.plain-list>li:first-child,.live-list>li:first-child{border-top:none}.history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.history-head small{color:var(--muted);display:block}.history-actions{flex-wrap:wrap;gap:6px;display:flex}.history-actions button,.history-actions .button{padding:6px 12px;font-size:.88rem}.live-row{border-left:3px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex;padding-left:12px!important}.live-row small{color:var(--muted);display:block}.live-row p{margin:4px 0}.tone-bad{border-left-color:var(--danger)!important}.tone-warn{border-left-color:var(--warn)!important}.tone-ok{border-left-color:var(--ok)!important}.tone-info{border-left-color:var(--accent)!important}.recall-help{background:var(--danger-soft);border-radius:var(--radius);border:1px solid #efcdca;margin:12px 0;padding:16px}.recall-help h3{margin-top:0}.shops li{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:0 0 12px;display:grid}.stats div{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{margin:0;font-size:1.4rem;font-weight:600}.company-row{text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:0;display:flex}.company-row small{color:var(--muted);font-weight:400}.company-detail{flex-direction:column;gap:10px;margin-top:10px;display:flex}.company-detail small{color:var(--muted)}.activate select{width:auto}.request-head{align-items:center;gap:10px;display:flex}.request-head img{border:1px solid var(--line);object-fit:contain;border-radius:6px;width:40px;height:40px}.request-head small{color:var(--muted);display:block}.links{overflow-wrap:anywhere;margin:8px 0;padding-left:18px;font-size:.9rem}.quote{border-left:3px solid var(--line-strong);color:var(--muted);padding-left:10px}.result-box{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.scan-page{justify-content:center;min-height:100vh;padding:24px 16px;display:flex}@media (width<=520px){.scan-page{padding:0}}.scan{--brand:#0b5d4b;color:#1d2321;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--radius);background:#fff;align-self:flex-start;width:100%;max-width:520px;overflow:hidden}@media (width<=520px){.scan{border-left:none;border-right:none;border-radius:0;min-height:100vh}}.phone .scan{min-height:0}.scan-header{align-items:center;gap:14px;padding:20px 20px 16px;display:flex}.scan-logo{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:8px;flex:none;width:56px;height:56px}.scan-logo-initials{background:var(--brand);border-color:var(--brand);color:#fff;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex}.scan-kind{color:var(--muted);letter-spacing:.02em;margin:0;font-size:.78rem}.scan-org{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.verified-mark{vertical-align:-3px;color:#1d7f4c;background:0 0;border:none;margin-left:6px;padding:0;display:inline-flex}.verified-line{color:#1d7f4c;margin-top:2px;font-size:.82rem;font-weight:500;display:block}.verified-help{color:var(--muted);margin-top:6px;font-size:.85rem;font-weight:400;display:block}.trust{background:var(--bg);border-left:3px solid;border-radius:6px;flex-direction:column;gap:2px;margin:0 20px 12px;padding:12px 14px;font-size:.92rem;display:flex}.trust-bad{background:var(--danger-soft);border-color:var(--danger);color:#6f1a14}.trust-warn{background:var(--warn-soft);border-color:var(--warn);color:#5c4300}.trust-ok{background:var(--ok-soft);border-color:var(--ok);color:#1d4a2c}.trust-info{border-color:var(--accent);color:#26332e;background:#f1f4f3}.trust .link,.live-link{color:inherit;font-weight:600}.trust.live .live-text{white-space:pre-line}.trust small{opacity:.8}.scan-body{border-top:1px solid var(--line);padding:4px 20px 20px}.scan-cancelled{opacity:.5;text-decoration:line-through}.scan-sentence{margin:16px 0;font-size:1.05rem}.scan-title{margin:16px 0 8px;font-size:1.3rem}.scan-desc{color:#4a524e}.scan-photo{object-fit:cover;background:#f2f3f1;width:calc(100% + 40px);max-height:320px;margin:-4px -20px 0;display:block}.scan-person{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:120px;height:120px;margin:20px auto 0;display:block}.scan-price{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 12px;display:flex}.scan-price strong{font-size:1.3rem}.scan-price span{color:var(--muted)}.scan-tags{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.scan-tags span{border:1px solid var(--line-strong);color:#3c4642;border-radius:999px;padding:2px 10px;font-size:.82rem}.scan dl{margin:0}.scan-row{border-top:1px solid #eef0ee;justify-content:space-between;gap:12px;padding:9px 0;font-size:.95rem;display:flex}.scan-row dt{color:var(--muted)}.scan-row dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.scan-block{margin-top:12px;font-size:.95rem}.scan-block p{color:#4a524e;margin:4px 0 0}.scan-quote{border-left:3px solid var(--brand);color:#3c4642;margin:16px 0 0;padding:2px 0 2px 14px;font-style:italic}.scan-quote footer{color:var(--muted);margin-top:6px;font-size:.85rem;font-style:normal}.scan-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.92rem}.scan-table th,.scan-table td{text-align:left;border-bottom:1px solid #eef0ee;padding:8px 4px}.scan-table th{color:var(--muted);font-weight:500}.participant-check,.delivery-confirm{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:20px;padding-top:16px;display:flex}.participant-check .hint,.delivery-confirm .hint,.participant-check p,.delivery-confirm p{margin:0}.fingerprint{color:var(--muted);cursor:pointer;margin-top:6px;font-size:.85rem;font-weight:400;display:block}.fingerprint input{display:none}.fingerprint .ok{color:var(--ok)}.fingerprint .bad{color:var(--danger)}.scan-buttons{flex-direction:column;gap:8px;padding:0 20px 20px;display:flex}.scan-button{text-align:center;border:1px solid var(--brand);color:var(--brand);background:#fff;border-radius:6px;padding:12px;font-weight:500;text-decoration:none;display:block}.scan-buttons>div:first-child .scan-button,.scan-button.wa{background:var(--brand);color:#fff}.scan-button.wa{background:#1f8f4e;border-color:#1f8f4e}.scan-button.ghost{border-color:var(--line-strong);color:var(--muted)}.scan-note{color:var(--muted);margin:0 20px 12px;font-size:.88rem}.scan-footer{border-top:1px solid var(--line);color:var(--faint);padding:12px 20px;font-size:.78rem}.scan-footer p{margin:0}.scan-error{padding:24px}
