@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter/InterVariable.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter/InterVariable-Italic.woff2') format('woff2')}
/* Tools : thèmes, structure et composants partagés. */
:root{color-scheme:light;--accent:#ca2026;--accent-hover:#ad191e;--accent-soft:#f9e8e9;--text:#0e1a2e;--muted:#74859f;--background:#f6f7f9;--surface:#fff;--surface-alt:#fafafa;--border:#e4e4e7;--purple:#6558ff;--danger:#ed008c;--shadow:none;--radius:14px;--sidebar:226px}
[data-theme=sombre]{color-scheme:dark;--accent:#f05258;--accent-hover:#ff6c71;--accent-soft:#40262c;--text:#edf1f8;--muted:#9caac0;--background:#141923;--surface:#1b2230;--surface-alt:#242d3c;--border:#343e50;--shadow:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;font-optical-sizing:auto;font-size:14px;color:var(--text);background:var(--background)}body{line-height:1.45}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.25;letter-spacing:-.55px}h2{font-size:15px;font-weight:700;margin-bottom:8px}h3{font-size:14px;margin-bottom:8px}p+p{margin-top:10px}strong{font-weight:600}hr{border:0;border-top:1px solid var(--border);margin:20px 0}img{max-width:100%}.icon{width:19px;height:19px;vertical-align:middle;flex:none}.muted{color:var(--muted)}.small,small{font-size:12px}.center{text-align:center}.hidden,[hidden]{display:none!important}.nowrap{white-space:nowrap}.truncate{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--surface);padding:12px;z-index:100}.skip-link:focus{top:10px}
.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);transition:width .18s}.brand{height:51px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);color:var(--text);font-weight:800;font-size:25px;letter-spacing:-1px}.brand:hover{text-decoration:none}.sidebar nav{padding:0 10px;overflow:auto}.nav-label{margin:17px 0 6px;font-size:11px;letter-spacing:.65px;text-transform:uppercase;color:var(--muted)}.nav-link{display:flex;align-items:center;gap:11px;min-height:37px;padding:8px 10px;color:var(--text);border-radius:8px;margin:1px 0;white-space:nowrap}.nav-link:hover{background:var(--surface-alt);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-collapse{margin-top:auto;border:0;border-top:1px solid var(--border);background:none;display:flex;align-items:center;gap:11px;color:var(--muted);padding:15px}.app-shell{margin-left:var(--sidebar);min-height:100vh;transition:margin-left .18s}.topbar{height:51px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:30}.main-content{padding:24px;max-width:2400px;margin:0 auto}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar-end{justify-content:flex-end}.toolbar-between{justify-content:space-between}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted)}.avatar{width:32px;height:32px;background:var(--purple);border-radius:50%;color:white;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;list-style:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-menu{position:relative}.profile-dropdown{position:absolute;right:0;top:44px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #0002;border-radius:10px;padding:12px;min-width:230px}.profile-dropdown>strong{display:block;padding:8px}.profile-dropdown a,.profile-dropdown button{display:flex;align-items:center;gap:10px;padding:10px 8px;color:var(--text);width:100%;border:0;background:none;text-align:left;border-radius:6px}.profile-dropdown a:hover,.profile-dropdown button:hover{background:var(--surface-alt);text-decoration:none}.mobile-menu{display:none}.sidebar-folded{--sidebar:66px}.sidebar-folded .brand{font-size:15px;padding:0 10px}.sidebar-folded .nav-link span,.sidebar-folded .nav-label,.sidebar-folded .sidebar-collapse span{display:none}.sidebar-folded .sidebar nav{padding-top:15px}.sidebar-folded .nav-link{justify-content:center;padding:11px 0}.sidebar-folded .sidebar-collapse{justify-content:center}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading p{color:var(--muted);margin-top:3px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-body{padding:16px}.card-body>p.muted{margin-bottom:16px}.grid-2,.grid-3{display:grid;gap:14px;align-items:start}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{margin-bottom:15px;min-width:0}.field>label{display:block;margin-bottom:5px;font-weight:600}.field input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.field select,.field textarea,input[type=url],input[type=email],input[type=password],input[type=text],input[type=number],textarea,select{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:9px 11px;min-height:37px}.field input:disabled{background:var(--surface-alt);color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input[type=color]{width:32px;height:28px;padding:1px;border:1px solid var(--border);background:var(--surface)}.field .small{margin-top:6px}.check-field{display:flex!important;align-items:center;gap:8px;font-weight:400!important}.check-field input{flex:none}.btn{border:1px solid transparent;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;min-height:36px;font-size:13px;font-weight:600;white-space:nowrap}.btn:hover{text-decoration:none}.btn .icon{width:15px;height:15px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.btn-secondary:hover{background:var(--surface-alt)}.btn-danger{color:var(--danger);border-color:#ee99c5;background:var(--surface)}.btn-sm{font-size:12px;padding:5px 10px;min-height:29px}.btn-purple{background:var(--purple);color:#fff}.btn-pink{background:var(--danger);color:#fff}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.55px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:7px;overflow:hidden}.segmented button{padding:8px 13px;border:0;background:none;color:var(--muted);font-size:12px;font-weight:600}.segmented button.active{background:var(--accent);color:#fff}.range-field{display:flex;align-items:center;gap:15px;margin:13px 0}.range-field span{width:44px}.range-field input{flex:1;min-width:0}.range-field output{width:30px;text-align:right}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:245px;padding:32px;text-align:center;cursor:pointer;margin-top:16px}.dropzone.dragover,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone strong{color:var(--accent);font-size:15px}.dropzone p{color:var(--muted);font-size:13px}.dropzone-icon{display:flex;align-items:center;justify-content:center;background:var(--accent-soft);border-radius:15px;width:53px;height:53px;color:var(--accent);margin-bottom:3px}.dropzone-icon .icon{width:25px;height:25px}.dropzone-compact{min-height:92px;padding:15px;margin:0 0 18px}.outil-historique{margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-size:11px;font-weight:600;letter-spacing:.45px;color:var(--muted);background:var(--surface-alt);text-transform:uppercase;padding:10px 15px;white-space:nowrap}td{padding:12px 15px;border-top:1px solid var(--border);vertical-align:middle}td:last-child,th:last-child{text-align:right}.empty-cell{text-align:center!important;color:var(--muted);padding:28px}.badge{display:inline-flex;align-items:center;white-space:nowrap;background:var(--surface-alt);color:var(--muted);font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.badge-success,.badge-qr{background:#effacb;color:#568000}.badge-compresseur,.badge-markdown{background:#f9e5e7;color:#c92127}.badge-youtube,.badge-liens{background:#fce5f2;color:#e80088}.badge-screenshot{background:#eeebff;color:#6558ff}.badge-leads{background:#fff8c5;color:#a18000}.badge-danger{background:#fce5f2;color:#e80088}.empty-state{padding:38px 15px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted)}.empty-state .icon{width:28px;height:28px}.save-bar{padding:20px 0}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--border);margin:20px 0 16px}.tabs button,.tabs a{background:none;border:0;border-bottom:2px solid transparent;padding:12px 16px;color:var(--muted)}.tabs .active,.tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent)}.notifications{position:fixed;right:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:min(420px,90vw)}.toast{border:1px solid var(--border);border-left:4px solid #648b1c;padding:14px 18px;background:var(--surface);color:var(--text);border-radius:8px;box-shadow:0 5px 25px #0002}.toast-error{border-left-color:var(--accent)}dialog{border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);max-width:520px;width:calc(100% - 32px);padding:24px}dialog::backdrop{background:#06101c80}dialog p{margin:10px 0 18px}
.stats-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat-card{padding:13px 15px;color:var(--text);display:flex;flex-direction:column;gap:3px}.stat-card:hover{text-decoration:none;border-color:var(--accent)}.stat-label{font-size:12px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}.stat-card>strong{font-size:25px;line-height:1.15}.dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block}.dot-qr{background:#8fe300}.dot-youtube,.dot-liens{background:#ed008c}.dot-screenshot{background:#6558ff}.dot-leads{background:#ffdf13}.usage-chart{height:170px;display:flex;gap:4px;align-items:flex-end;margin:20px 0 6px;border-bottom:1px solid var(--border)}.chart-bar{flex:1;height:var(--height);background:var(--accent);opacity:.74;border-radius:3px 3px 0 0;min-width:2px}.chart-bar.today{opacity:1}.chart-empty{margin-top:14px}.recent-file{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:12px 0;color:var(--text)}.recent-file:last-child{border-bottom:0}.recent-file>div{min-width:0}.recent-file strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.recent-file span.small{display:block}.link-form-grid{display:grid;grid-template-columns:1fr 1.65fr .6fr auto;gap:12px;align-items:end}.link-form-grid>.btn{margin-bottom:15px}
.auth-page{display:flex;min-height:100vh;background:#fff;color:#0e1a2e}.auth-left{width:50%;display:flex;align-items:center;justify-content:center;padding:60px}.auth-container{width:400px;max-width:100%}.auth-logo,.auth-container>.brand{font-size:30px;font-weight:800;letter-spacing:-1px;color:#0e1a2e;display:block;margin-bottom:27px}.auth-title{font-size:25px;margin-bottom:3px}.auth-subtitle{color:#74859f;margin-bottom:22px}.auth-form .field{margin-bottom:16px}.auth-form .btn-primary{width:100%;margin-top:12px;min-height:41px}.auth-art{width:50%;position:relative;overflow:hidden;background:linear-gradient(142deg,#dd4143 0%,#c51f24 55%,#a7191c 100%)}.orbit{width:220px;height:220px;border:1px dashed #ffffff4d;border-radius:50%;position:absolute;left:31%;top:1%}.float-icon{position:absolute;display:grid;place-items:center;width:54px;height:54px;color:white;background:#ffffff29;border-radius:15px;box-shadow:0 15px 40px #7e131719}.float-icon .icon{width:22px;height:22px}.f1{left:38%;top:7%}.f2{left:68%;top:42%}.f3{left:93%;top:66%}.f4{left:36%;top:77%}.f5{left:65%;top:97%}.otp-inputs{display:flex;gap:8px;margin:20px 0 15px}.otp-inputs input{width:49px!important;min-width:0;height:56px;text-align:center;font-size:23px;border:1px solid var(--border);border-radius:9px}.auth-back{display:block;margin-bottom:15px;color:var(--muted)}.auth-error,.alert-error{background:#fce7e8;color:#aa171f;padding:12px;border:1px solid #f2b5b9;border-radius:7px;margin:12px 0}.profil-photo{width:74px;height:74px;object-fit:cover;background:var(--purple);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:25px;overflow:hidden}.profil-photo img{width:100%;height:100%;object-fit:cover}.security-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.security-row:last-child{border-bottom:0}.security-row strong{display:block}.security-row .small{display:block}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-family:monospace;background:var(--surface-alt);padding:15px;border-radius:8px}.profil-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.swatches{gap:8px}.swatch{width:28px;height:28px;border:2px solid var(--border);border-radius:7px;background:var(--swatch);padding:0}.swatch.active{border-color:var(--accent)}.qr-preview{display:flex;align-items:center;justify-content:center;min-height:305px;margin:8px 0 12px}.qr-preview svg,.qr-preview canvas{max-width:280px;max-height:280px;width:100%;height:auto;border:1px solid var(--border);border-radius:10px;padding:12px;background:white}.qr-preview-card{align-self:start}.saved-files{display:flex;flex-direction:column;gap:0}.saved-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--border)}.saved-file:first-child{border-top:0}.saved-file-name{word-break:break-word}.screenshot-grid{display:grid;grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:14px;align-items:start}.screenshot-canvas-wrap{background:var(--surface-alt);padding:12px;border:1px solid var(--border);border-radius:10px;text-align:center;min-height:250px;display:flex;align-items:center;justify-content:center}.screenshot-canvas-wrap canvas{max-width:100%;height:auto;display:block}.markdown-content{max-width:820px;padding:35px 30px;margin:auto;overflow-wrap:anywhere;font-size:15px;line-height:1.7}.markdown-content h1{font-size:26px}.markdown-content h1,.markdown-content h2{padding-bottom:8px;border-bottom:1px solid var(--border);margin:24px 0 12px}.markdown-content h2{font-size:21px}.markdown-content h3{margin-top:20px;font-size:18px}.markdown-content p{margin:12px 0}.markdown-content table{margin:20px 0}.markdown-content th,.markdown-content td{border:1px solid var(--border);text-transform:none;text-align:left;font-size:14px;letter-spacing:0}.markdown-content pre{background:#272c37;color:#e6edf7;border-radius:9px;overflow:auto;padding:19px;font-size:13px}.markdown-content code{font-family:Consolas,monospace}.markdown-content :not(pre)>code{background:var(--surface-alt);padding:2px 5px;border-radius:4px}.markdown-content blockquote{border-left:3px solid var(--accent);padding-left:15px;margin:20px 0;color:var(--muted)}.markdown-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background:var(--surface-alt);border-bottom:1px solid var(--border);text-align:center}.markdown-dots{display:flex;gap:6px;justify-content:center;margin:10px}.markdown-dots button{border:0;border-radius:50%;width:9px;height:9px;padding:0;background:var(--border)}.markdown-dots button.active{background:var(--accent)}.youtube-resultats{margin-top:17px}.youtube-image{width:100%;border-radius:8px}.article-toolbar{padding:10px 15px;background:var(--surface-alt);border-bottom:1px solid var(--border)}.article-content{padding:20px;line-height:1.75}.article-content h1{font-size:26px}.article-content h2{font-size:21px;margin-top:23px}.article-content p{margin:12px 0}.article-content ul{padding-left:22px}.leads-filtres{margin:15px 0}.progress{height:5px;background:var(--border);border-radius:5px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}
@media(min-width:1800px){.main-content{padding:26px 24px}.stat-card{min-height:96px}.stats-grid{gap:12px}}
@media(max-width:1300px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.link-form-grid{grid-template-columns:1fr 1.5fr}.main-content{padding:20px}.grid-3{gap:14px}}
@media(max-width:1000px){.dashboard-panels,.screenshot-grid{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.auth-left{padding:35px}.grid-2{gap:14px}.page-heading{flex-wrap:wrap}.stat-label{font-size:11px}.qr-preview{min-height:250px}}
@media(max-width:760px){:root,.sidebar-folded{--sidebar:0px}.sidebar{width:226px;transform:translateX(-100%);transition:transform .2s}.menu-open .sidebar{transform:translateX(0);box-shadow:10px 0 40px #0003}.sidebar-folded .nav-link span,.sidebar-folded .nav-label,.sidebar-folded .sidebar-collapse span{display:initial}.sidebar-folded .nav-link{justify-content:flex-start;padding:8px 10px}.sidebar-folded .brand{font-size:25px;padding:0 20px}.sidebar-collapse{display:none}.mobile-menu{display:inline-flex}.main-content{padding:19px 14px}.topbar{padding:0 14px}.grid-2,.profil-grille{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid .stat-card:last-child{grid-column:1/-1}.card-body{padding:16px}.page-heading h1{font-size:21px}.auth-left{width:100%;padding:35px 24px}.auth-art{display:none}.auth-container{width:400px}.link-form-grid{grid-template-columns:1fr}.link-form-grid>.btn{margin-top:0}.dropzone{min-height:210px;padding:25px 12px}.markdown-content{padding:22px 18px}.markdown-content h1{font-size:23px}.security-row{align-items:flex-start}.toolbar{gap:7px}.range-field{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Ajustements des formulaires et des outils. */
/* Logos PNG originaux : le viewBox retire uniquement leurs marges transparentes. */
.tools-logo{display:block;width:148px;max-width:100%;aspect-ratio:620/152;flex:none}
.sidebar .tools-logo{width:103.6px}
.tools-logo svg{display:block;width:100%;height:100%;overflow:hidden}
.tools-logo .logo-sombre,.tools-logo .logo-compact{display:none}
[data-theme=sombre] .tools-logo .logo-clair{display:none}
[data-theme=sombre] .tools-logo .logo-sombre{display:block}
.tools-logo.auth-logo{width:180px}
@media(min-width:761px){.sidebar-folded .brand{justify-content:center;padding:0 10px}.sidebar-folded .brand .tools-logo{width:32px;aspect-ratio:1}.sidebar-folded .brand .tools-logo svg{display:none}.sidebar-folded .brand .logo-compact{display:block;width:100%;height:100%}}
.choice-group .btn{border-radius:999px;color:var(--muted);font-weight:400}
.choice-group .btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.form-message{color:var(--accent);background:var(--accent-soft);padding:11px 13px;border-radius:7px;margin:12px 0}
.checkbox-label{display:flex;align-items:center;gap:7px;font-size:13px}
.btn-text{border:0;background:none;color:var(--accent);padding:10px 0}
.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.totp-secret{display:block;overflow-wrap:anywhere;margin:12px 0;padding:12px;background:var(--surface-alt)}
.totp-qr{display:flex;justify-content:center;padding:15px}.totp-qr canvas,.totp-qr svg{max-width:240px}
.profil-avatar-form{margin:2px 0 22px;gap:16px}.profil-avatar-form p{margin-top:8px;font-size:12px}
.profil-grille{align-items:start}
.profil-colonne{display:flex;flex-direction:column;gap:16px;min-width:0}
.profil-grille .grid-3{grid-template-columns:1fr}
.profil-grille .security-row{flex-wrap:wrap}
.profil-grille .btn{max-width:100%;white-space:normal}
.security-row+.toolbar{margin-top:14px}
.badge-accent{background:var(--accent-soft);color:var(--accent)}
.card-header{padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface-alt)}
.source-text{white-space:pre-wrap;max-height:360px;overflow:auto;padding:15px;line-height:1.7}
.generated-image{display:block;width:100%;margin-top:20px;border-radius:8px}.youtube-results{align-items:start}
.tools-dialog{max-width:680px}.input-action{display:flex;align-items:center;gap:8px}.input-action input{min-width:0;flex:1}
.qr-preview img{max-width:280px;max-height:280px;width:100%;object-fit:contain;background:white;border:1px solid var(--border);border-radius:9px;padding:12px}
.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#e477ab}.hljs-string,.hljs-attr{color:#a9d18e}.hljs-number,.hljs-built_in{color:#e0bb80}.hljs-comment{color:#93a4bb}.hljs-title,.hljs-function{color:#9dc7f5}
.auth-form input:disabled{opacity:.6}.field input:disabled{background:var(--surface-alt)!important;color:var(--muted)!important}
@media(max-width:760px){.input-action{flex-wrap:wrap}.input-action .btn{width:100%}.tools-dialog{padding:18px}.qr-preview img{max-width:240px}}
/* Alignements des pages de contenu. */
.liens-base{color:var(--accent)}
.liens-table .lien-destination{display:block;min-width:180px;max-width:480px;white-space:normal;overflow-wrap:anywhere}
.liens-table .liens-actions{flex-wrap:nowrap;justify-content:flex-end}
.liens-table .liens-actions .btn{white-space:nowrap}
.main-content>section.card+section.card{margin-top:16px}
#youtube-workspace>.card,#youtube-workspace>section.card,#youtube-workspace>.youtube-results{margin-top:16px}
#youtube-progress:not(:empty),#leads-progress:not(:empty){margin:14px 0}
.card-header.toolbar{justify-content:space-between}.card-header h2{margin:0}
#youtube-extract-form .toolbar,#youtube-title-form .toolbar{flex-wrap:nowrap}
#youtube-extract-form input:not([type=checkbox]),#youtube-title-form input{flex:1;width:auto;min-width:0}
#leads-search-form .toolbar{align-items:flex-end}#leads-search-form .field{flex:1}#leads-search-form button{margin-bottom:15px}
#leads-list-select{min-width:230px}
.article-body{line-height:1.75;font-size:15px;overflow-wrap:anywhere}.article-body h1{font-size:26px;margin:0 0 20px;border-bottom:1px solid var(--border);padding-bottom:12px}.article-body h2{font-size:21px;margin:22px 0 12px;border-bottom:1px solid var(--border);padding-bottom:8px}.article-body h3{font-size:18px;margin-top:20px}.article-body p{margin:12px 0}.article-body table{margin:20px 0}
@media(max-width:760px){#youtube-extract-form .toolbar,#youtube-title-form .toolbar{flex-wrap:wrap}#youtube-extract-form input:not([type=checkbox]),#youtube-title-form input{flex-basis:100%}#youtube-extract-form button{width:100%}#leads-search-form .field{flex-basis:100%}}

/* Palette des outils : couleurs franches pour les surfaces, encres adaptées pour les textes. */
.app-page,.app-page [data-outil],.app-page [data-couleur],.app-page .badge{
    --couleur:#2e67ff;--encre:#2454d6;--sur-couleur:#fff;
    --accent:var(--encre);--accent-soft:color-mix(in srgb,var(--couleur) 10%,var(--surface));
    --accent-hover:color-mix(in srgb,var(--couleur) 85%,#000);
    --couleur-cadre:color-mix(in srgb,var(--couleur) 32%,var(--border));
    --purple:#615fff;--danger:#e60076;
}
.app-page[data-page=compresseur],.app-page [data-outil=compresseur],.app-page .badge-compresseur{--couleur:hsl(24.6 95% 53.1%);--encre:#9a3d03;--sur-couleur:#fff}
.compression-status{margin:18px 0;padding:8px 12px;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:13px}
.compression-status:empty{display:none}
#compression-resultats{margin-top:32px}
.app-page[data-page=qr],.app-page [data-outil=qr],.app-page [data-couleur=vert],.app-page .badge-qr,.app-page .badge-success{--couleur:#9ae600;--encre:#3d6500;--sur-couleur:#0e1a2e}
.app-page[data-page=leads],.app-page [data-outil=leads],.app-page [data-couleur=jaune],.app-page .badge-leads{--couleur:#ffdf20;--encre:#735c00;--sur-couleur:#0e1a2e}
.app-page[data-page=screenshot],.app-page[data-page=reglages],.app-page [data-outil=screenshot],.app-page [data-couleur=violet],.app-page .badge-screenshot{--couleur:#615fff;--encre:#4b47d1}
.app-page[data-page=youtube],.app-page[data-page=liens],.app-page [data-outil=youtube],.app-page [data-outil=liens],.app-page [data-couleur=rose],.app-page .badge-youtube,.app-page .badge-liens,.app-page .badge-danger{--couleur:#e60076;--encre:#ac0058}
[data-theme=sombre] .app-page,[data-theme=sombre] .app-page [data-outil],[data-theme=sombre] .app-page [data-couleur],[data-theme=sombre] .app-page .badge{--encre:color-mix(in srgb,var(--couleur) 62%,#fff);--accent-soft:color-mix(in srgb,var(--couleur) 14%,var(--surface))}
.app-page .nav-link .icon{color:var(--encre)}
.app-page .nav-link:hover{background:var(--accent-soft)}
.app-page .nav-link.active{box-shadow:inset 3px 0 var(--couleur);font-weight:600}
.app-page .card{border-color:var(--border)}
.app-page .card h2{color:var(--text)}
.app-page .stat-card{background:var(--surface)}
.app-page .stat-card:hover{border-color:var(--couleur);background:var(--accent-soft)}
.app-page .stat-label{color:var(--encre)}
.app-page .dot{background:var(--couleur)}
.app-page .badge{background:var(--accent-soft);color:var(--encre)}
.app-page .badge.compression-gain{background:var(--couleur);color:#fff}
.app-page .btn-primary,.app-page .segmented button.active{background:var(--couleur);color:var(--sur-couleur)}
.app-page .btn-primary:hover,.app-page .segmented button.active:hover{background:var(--accent-hover)}
.app-page .btn-secondary{border-color:var(--couleur-cadre);background:var(--accent-soft);color:var(--encre)}
.app-page .btn-secondary:hover{border-color:var(--couleur);background:color-mix(in srgb,var(--couleur) 18%,var(--surface))}
.app-page .btn-purple{background:#615fff;color:#fff}.app-page .btn-purple:hover{background:#4b47d1}
.app-page .btn-pink{background:#e60076;color:#fff}.app-page .btn-pink:hover{background:#ac0058}
.app-page .btn-danger{color:#ac0058;border-color:color-mix(in srgb,#e60076 38%,var(--border));background:color-mix(in srgb,#e60076 7%,var(--surface))}
.app-page .btn-danger:hover{background:color-mix(in srgb,#e60076 15%,var(--surface))}
[data-theme=sombre] .app-page .btn-danger{color:#ff83bc}
.app-page .choice-group .btn.active{background:var(--accent-soft);border-color:var(--encre);color:var(--encre)}
.app-page .tabs .active,.app-page .tabs [aria-selected=true]{background:var(--accent-soft);border-radius:7px 7px 0 0}
.app-page .card-header,.app-page .markdown-bar,.app-page .article-toolbar,.app-page th{background:var(--surface-alt);border-color:var(--border);color:var(--text)}
.app-page .dropzone{border-color:var(--border);background:var(--surface)}
.app-page .dropzone:hover,.app-page .dropzone.dragover{border-color:var(--encre);background:var(--accent-soft)}
.app-page .dropzone-icon{background:var(--couleur);color:var(--sur-couleur)}
.app-page .screenshot-canvas-wrap{background:var(--accent-soft);border-color:var(--couleur-cadre)}
.app-page .qr-preview :is(img,svg,canvas){border-color:var(--couleur-cadre)}
.app-page .progress>span,.app-page .markdown-dots button.active{background:var(--couleur)}
.app-page .chart-bar{background:#2e67ff}.app-page .chart-bar:nth-child(5n+2){background:#9ae600}.app-page .chart-bar:nth-child(5n+3){background:#ffdf20}.app-page .chart-bar:nth-child(5n+4){background:#615fff}.app-page .chart-bar:nth-child(5n){background:#e60076}
.app-page input[type=file]::file-selector-button{font:inherit;border:1px solid var(--couleur-cadre);border-radius:7px;background:var(--accent-soft);color:var(--encre);padding:8px 12px;margin-right:10px;cursor:pointer}
.app-page .toast{border-left-color:#9ae600}.app-page .toast-error{border-left-color:#e60076}
.app-page .alert-error,.app-page .auth-error{background:color-mix(in srgb,#e60076 10%,var(--surface));border-color:color-mix(in srgb,#e60076 35%,var(--border));color:#ac0058}
[data-theme=sombre] .app-page .alert-error,[data-theme=sombre] .app-page .auth-error{color:#ff83bc}

/* Largeur des contenus et adaptation des grilles. */
.app-page .main-content{container:contenu / inline-size}
.markdown-bar>.center{flex:1;min-width:0;overflow-wrap:anywhere}
.markdown-bar>.icon-btn{flex-shrink:0}
.markdown-content table,.article-body table{display:block;max-width:100%;overflow-x:auto}
/* Chaque marge occupe 10 % de la zone disponible après la sidebar. */
@media(min-width:1001px){.app-page .main-content{max-width:none;margin-inline:10%;padding-inline:0}}
/* Les grilles répondent à leur largeur utile, même sur un grand écran. */
@container contenu (max-width:1100px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container contenu (max-width:900px){.screenshot-grid{grid-template-columns:minmax(0,1fr)}.grid-3{grid-template-columns:minmax(0,1fr)}}
@container contenu (max-width:760px){
    .grid-2,.dashboard-panels,.profil-grille,.link-form-grid{grid-template-columns:minmax(0,1fr)}
    .page-heading,.input-action{flex-wrap:wrap}
    .input-action .btn{width:100%}
    .link-form-grid>.btn{margin-bottom:0}
    .card-header.toolbar{align-items:flex-start}
    #youtube-extract-form .toolbar,#youtube-title-form .toolbar{flex-wrap:wrap}
    #youtube-extract-form input:not([type=checkbox]),#youtube-title-form input{flex-basis:100%}
    #youtube-extract-form button{width:100%}
    #leads-search-form .field{flex-basis:100%}
}
@container contenu (max-width:650px){
    .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .stats-grid .stat-card:last-child{grid-column:1/-1}
    .main-content .btn{max-width:100%;white-space:normal}
    .saved-file{flex-wrap:wrap}.saved-file>div{min-width:0;overflow-wrap:anywhere}.saved-file-name{min-width:0}
}

/* Compressor : dépôt à gauche (45 %), réglages à droite (50 %), intervalle de 5 %. */
.compression-workspace{display:grid;grid-template-columns:minmax(0,45%) minmax(0,50%);column-gap:5%;margin-bottom:18px}
.compression-workspace>.card,.compression-workspace>.dropzone{margin:0;min-width:0}
.compression-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;overflow-wrap:anywhere}
.compression-upload .btn{margin-top:8px;max-width:100%;white-space:normal}
.compression-options{container:reglages-compression / inline-size}
.compression-general{margin-bottom:20px}
.compression-general .check-field{margin:4px 0 10px}
.compression-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.compression-settings-grid>div{min-width:0}
.compression-quality{grid-column:1/-1;margin-bottom:18px}
/* Curseurs fins : piste orange de 4 px et poignée blanche discrète. */
#compresseur input[type=range]{--piste-active:var(--couleur);--piste-inactive:#f4f4f5;appearance:none;-webkit-appearance:none;height:20px;padding:0;background:transparent;border:0;cursor:pointer}
#compresseur input[type=range]::-webkit-slider-runnable-track{height:4px;border:0;border-radius:999px;background:linear-gradient(to right,var(--piste-active) 0 var(--progression,69.697%),var(--piste-inactive) var(--progression,69.697%) 100%)}
#compresseur input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:1px solid #a1a1aa;border-radius:50%;background:#fff;box-shadow:none}
#compresseur input[type=range]::-moz-range-track{height:4px;border:0;border-radius:999px;background:var(--piste-inactive)}
#compresseur input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--piste-active)}
#compresseur input[type=range]::-moz-range-thumb{width:10px;height:10px;border:1px solid #a1a1aa;border-radius:50%;background:#fff;box-shadow:none}
[data-theme=sombre] #compresseur input[type=range]{--piste-active:var(--couleur);--piste-inactive:#343e50}
@container reglages-compression (max-width:550px){.compression-settings-grid{grid-template-columns:minmax(0,1fr)}}
@container contenu (max-width:760px){.compression-workspace{grid-template-columns:minmax(0,1fr);gap:18px}.compression-upload{min-height:260px}}

/* Cartes : surface neutre, bordure fine et zone d’action séparée. */
.card-footer{padding:16px;background:var(--surface-alt);border-top:1px solid var(--border)}
.card-body>.card-footer,.card-body>form>.card-footer{margin:16px -16px -16px}
.card-footer .btn{max-width:100%;white-space:normal}
.security-row:has(+.card-footer){border-bottom:0}
.auth-card .auth-title{font-size:22px}
.auth-card .auth-subtitle{margin-bottom:20px}
.auth-card .card-footer .btn-primary{margin-top:0}
.auth-card .otp-inputs input{flex:1;width:0!important}
.auth-back{display:inline-flex;align-items:center;gap:6px}
.auth-back .icon{width:15px;height:15px}

/* QR Code : choix en cartes et import de logo compact. */
.qr-colors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.qr-choice-field{padding:0;border:0;margin-inline:0;min-inline-size:0}
.qr-choice-field>legend{padding:0}
.qr-choice-cards{display:flex;flex-wrap:wrap;gap:8px}
.qr-choice-card{flex:1 1 110px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 16px;align-content:start;align-items:start;gap:6px 8px;padding:10px;min-height:74px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}
.qr-choice-title{font-size:13px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.qr-choice-description{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.4}
.qr-choice-card:hover{border-color:color-mix(in srgb,var(--text) 35%,var(--border))}
.qr-choice-card:has(input:checked){border-color:color-mix(in srgb,var(--text) 35%,var(--border));background:color-mix(in srgb,var(--text) 5%,var(--surface))}
.qr-choice-card:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}
:is(#outil-qr,#outil-screenshot) .qr-choice-card input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:0;flex:none;margin:0;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);outline:0;cursor:pointer}
:is(#outil-qr,#outil-screenshot) .qr-choice-card input[type=radio]:checked{border:5px solid var(--text)}
.qr-logo-upload{align-items:center}
#outil-qr #qr-logo{flex:1 1 180px;width:auto;min-width:0;min-height:34px;padding:6px 10px;line-height:20px;font-size:13px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}
#outil-qr #qr-logo::file-selector-button{font:inherit;font-weight:500;line-height:inherit;border:0;border-radius:0;background:transparent;color:var(--text);padding:0;margin-right:6px;cursor:pointer}
#outil-qr .qr-logo-upload>.btn{min-height:34px}
.qr-logo-upload+small{display:block;margin-top:8px}

/* QR : champs de même hauteur et pastilles de couleur sans contrôle natif. */
#outil-qr{--hauteur-champ:40px}
#outil-qr :is(#qr-titre,#qr-url,#qr-dimension,#qr-logo,#qr-logo-retirer,#qr-formulaire button[type=submit]){height:var(--hauteur-champ);min-height:var(--hauteur-champ)}
#outil-qr #qr-logo{padding-block:9px}
.qr-color-trigger{position:relative;overflow:hidden;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 50%/8px 8px}
.qr-color-trigger::before{content:"";position:absolute;inset:0;background:var(--swatch);border-radius:inherit}
.qr-color-trigger[aria-expanded=true]{border-color:var(--text);outline:2px solid var(--border);outline-offset:2px}

/* Sélecteur intégré : saturation, teinte, opacité et saisie numérique. */
.color-picker{position:fixed;z-index:100;width:288px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px #0003}
.color-picker-saturation{position:relative;height:160px;overflow:hidden;border-radius:8px;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--hue-color,#00f);touch-action:none;cursor:crosshair;outline-offset:3px}
.color-picker-saturation:focus-visible{outline:2px solid var(--text)}
.color-picker-cursor{position:absolute;left:var(--saturation,50%);top:var(--luminosite,50%);width:15px;height:15px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0005;pointer-events:none}
.color-picker-slider{display:block;margin-top:12px;line-height:0}
.color-picker input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:18px;padding:0;margin:0;background:transparent;border:0;cursor:pointer}
.color-picker input[type=range]::-webkit-slider-runnable-track{height:8px;border:0;border-radius:999px;background:var(--picker-track)}
.color-picker input[type=range]::-moz-range-track{height:8px;border:0;border-radius:999px;background:var(--picker-track)}
.color-picker .color-picker-hue{--picker-track:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.color-picker .color-picker-alpha{--picker-track:linear-gradient(to right,transparent,var(--picker-color,#00f)),repeating-conic-gradient(#d4d4d8 0% 25%,#fff 0% 50%) 50%/8px 8px}
.color-picker input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;margin-top:-3.5px;border:1px solid #a1a1aa;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}
.color-picker input[type=range]::-moz-range-thumb{width:13px;height:13px;border:1px solid #a1a1aa;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}
.color-picker-values{display:grid;grid-template-columns:32px 60px minmax(0,1fr) 50px;gap:6px;align-items:center;margin-top:12px}
.color-picker-values:has(.color-picker-eyedropper[hidden]){grid-template-columns:60px minmax(0,1fr) 50px}
.color-picker .color-picker-eyedropper{width:32px;height:32px;border-radius:8px}
.color-picker .color-picker-eyedropper .icon{width:16px;height:16px}
.color-picker :is(input:not([type=range]),select){width:100%;min-width:0;height:32px;min-height:32px;padding:5px 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;line-height:20px}
.color-picker select{padding-inline:5px 2px}
.color-picker-opacity{position:relative;min-width:0}
.color-picker .color-picker-opacity input{appearance:textfield;-moz-appearance:textfield;padding-right:17px}
.color-picker-opacity input::-webkit-inner-spin-button,.color-picker-opacity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.color-picker-opacity>span{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:12px;pointer-events:none}
.color-picker-error{font-size:12px;color:var(--danger);line-height:1.4;margin-top:8px}
.color-picker-error:empty{display:none}
.color-picker input[aria-invalid=true]{border-color:var(--danger)}

/* Markdown : actions et édition locale dans la carte du document. */
#markdown-collage,.markdown-reader{margin-top:18px}
.markdown-actions{padding:12px 16px;border-bottom:1px solid var(--border)}
.markdown-editor{padding:20px 30px 30px}
.markdown-editor>.field{margin-bottom:0}

/* Leads : commandes alignées et pagination des entreprises déjà enregistrées. */
.app-page[data-page=leads] .leads-toolbar{align-items:flex-end;gap:10px}
.app-page[data-page=leads] #leads-search-form .input-action>.btn,.app-page[data-page=leads] #leads-search-form .input-action>input{margin-bottom:0;height:40px;min-height:40px}
.app-page[data-page=leads] .leads-toolbar>.field{margin:0;flex:1 1 260px;max-width:440px}
.app-page[data-page=leads] .leads-toolbar>.btn,.app-page[data-page=leads] .leads-toolbar>.field select,.app-page[data-page=leads] .leads-toolbar>.field input{height:40px;min-height:40px;margin:0}
.app-page[data-page=leads] #leads-list-select{min-width:0}
.app-page[data-page=leads] #leads-rename-form{margin-top:18px}
.app-page[data-page=leads] #leads-selection-count{margin:12px 0 8px}
.app-page[data-page=leads] .leads-row-actions{flex-wrap:nowrap}
.app-page[data-page=leads] .leads-attribution{margin:0;padding:0 16px 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.app-page[data-page=leads] .leads-attribution a{color:var(--text);font-weight:600}
.app-page[data-page=leads] .leads-activity{margin-top:4px;font-size:12px;color:var(--muted)}
.app-page[data-page=leads] .leads-rating{white-space:nowrap;min-width:82px}
.app-page[data-page=leads] .leads-rating>span{display:block;margin-top:3px}
.app-page[data-page=leads] .leads-email-status{display:block;max-width:220px;white-space:normal;margin:4px 0}
.app-page[data-page=leads] .leads-email-report{margin:0 16px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:13px;line-height:1.5}
.app-page[data-page=leads] .leads-email-report summary{cursor:pointer;font-weight:600}
.app-page[data-page=leads] button:disabled{cursor:not-allowed}
.app-page[data-page=leads] button[aria-busy=true]{cursor:wait}
.leads-enrichment-progress{margin:0 16px 16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt);overflow-wrap:anywhere}
.leads-enrichment-progress .toolbar{margin-bottom:10px}
.leads-enrichment-progress progress{display:block;width:100%;height:8px;margin:0 0 10px;border:0;border-radius:999px;overflow:hidden;appearance:none;background:var(--border);color:var(--couleur)}
.leads-enrichment-progress progress::-webkit-progress-bar{background:var(--border);border-radius:999px}
.leads-enrichment-progress progress::-webkit-progress-value{background:var(--couleur);border-radius:999px}
.leads-enrichment-progress progress::-moz-progress-bar{background:var(--couleur);border-radius:999px}
.leads-enrichment-progress[data-etat=termine]{border-color:#65a30d}
.leads-enrichment-progress[data-etat=erreur]{border-color:var(--danger)}
.leads-enrichment-progress[data-etat=arrete]{border-color:var(--couleur)}
#leads-search-progress{margin:20px 0}
.leads-categories{position:relative}
.card.leads-search-card{overflow:visible}
.leads-category-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:5px 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
.leads-category-control:focus-within{outline:2px solid var(--couleur);outline-offset:1px}
#leads-categories #leads-query{flex:1 1 180px;width:100%;min-width:0;border:0;box-shadow:none;padding:3px;min-height:28px;height:28px;background:transparent;outline:0}
.leads-category-tags{display:contents}
.leads-category-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt);font-size:12px;overflow-wrap:anywhere}
#leads-search-form .leads-category-tag button{display:inline-flex;flex-shrink:0;margin:0;padding:1px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.leads-category-tag .icon{width:13px;height:13px}
.leads-category-panel{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:60;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #0002}
.leads-category-panel[hidden]{display:none}
#leads-category-options{max-height:260px;overflow:auto}
#leads-category-options [role=option]{padding:8px;border-radius:6px;cursor:pointer;overflow-wrap:anywhere}
#leads-category-options [role=option]:hover,#leads-category-options [aria-selected=true]{background:var(--surface-alt);color:var(--text)}
#leads-category-status{margin:8px;font-size:12px}
.youtube-image-column{display:grid;gap:18px;min-width:0}
/* Interrupteurs natifs : clavier, labels et états de formulaire restent disponibles. */
input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;vertical-align:middle;flex:0 0 34px;width:34px;min-width:34px;height:20px;min-height:20px;padding:0;border:1px solid var(--border);border-radius:999px;background:#d4d4d4;cursor:pointer;transition:background .15s}
input[type=checkbox]::before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0002;transition:transform .15s}
input[type=checkbox]:checked{background:#111;border-color:#111}
input[type=checkbox]:checked::before{transform:translateX(14px)}
input[type=checkbox]:indeterminate{background:#737373;border-color:#737373}
input[type=checkbox]:indeterminate::before{transform:translateX(7px)}
input[type=checkbox]:focus-visible{outline:2px solid var(--couleur,var(--accent));outline-offset:3px}
input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}
[data-theme=sombre] input[type=checkbox]:checked{background:#f5f5f5;border-color:#f5f5f5}
[data-theme=sombre] input[type=checkbox]:checked::before{background:#171717}
@media(prefers-reduced-motion:reduce){input[type=checkbox],input[type=checkbox]::before{transition:none}}
/* La sélection des lignes Leads utilise des cases, y compris son état partiel. */
#leads-table input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;position:static;flex:0 0 16px;width:16px;min-width:16px;height:16px;min-height:16px;padding:0;border:initial;border-radius:0;background:initial;transition:none;accent-color:var(--couleur,var(--accent))}
#leads-table input[type=checkbox]::before{display:none}
.leads-sort-heading{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.leads-sort{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.leads-sort .icon{width:14px;height:14px;flex-shrink:0;opacity:.5}
.leads-sort.active,.leads-sort:hover:not(:disabled){color:var(--couleur-texte,var(--text))}
.leads-sort.active .icon{opacity:1}
.leads-sort:focus-visible{outline:2px solid var(--couleur);outline-offset:3px;border-radius:3px}
.app-page[data-page=leads] .leads-email-report ul{margin:10px 0 0;padding-left:20px;overflow-wrap:anywhere}
.app-page[data-page=leads] #leads-table td{overflow-wrap:anywhere}
.app-page[data-page=leads] #leads-results>.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.app-page[data-page=leads] #leads-table{min-width:1480px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(1){width:44px;min-width:44px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(2){min-width:190px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(3){min-width:160px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(4){min-width:120px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(5){min-width:160px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(6){min-width:200px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(7){min-width:90px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(8){min-width:130px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(9){min-width:126px}
.app-page[data-page=leads] #leads-table :is(th,td):nth-child(10){min-width:160px}
.app-page[data-page=leads] .leads-table-footer{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border)}
.app-page[data-page=leads] .leads-pagination{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.app-page[data-page=leads] .leads-pagination .btn{height:36px;min-height:36px;background:transparent;border:1px solid transparent;color:var(--text);font-weight:500;box-shadow:none}
.app-page[data-page=leads] .leads-pagination .leads-page{min-width:36px;padding:6px 10px}
.app-page[data-page=leads] .leads-pagination .leads-page.active{border-color:var(--border);border-radius:9px;background:var(--surface);opacity:1}
.app-page[data-page=leads] .leads-pagination .btn:not(:disabled):hover{background:var(--surface-alt);border-color:var(--border)}
.app-page[data-page=leads] .leads-pagination .leads-page-navigation{padding:6px 9px}
.app-page[data-page=leads] .leads-page-gap{padding:0 7px;color:var(--muted)}
.app-page[data-page=leads] .leads-edit-dialog{max-width:860px;max-height:90dvh;overflow-y:auto;padding:8px}
.app-page[data-page=leads] .leads-field-feedback{display:block;min-height:1.3em;margin-top:5px;color:#357100;font-size:12px}
.app-page[data-page=leads] .leads-field-feedback.invalid{color:#c3233d}
.app-page[data-page=leads] #lead-notes-form input[aria-invalid=true]{border-color:#c3233d}
.app-page[data-page=leads] #lead-notes-form input.leads-field-valid{border-color:#61962a}
[data-theme=sombre] .app-page[data-page=leads] .leads-field-feedback{color:#a5d878}
[data-theme=sombre] .app-page[data-page=leads] .leads-field-feedback.invalid{color:#ff8b9d}
@media(max-width:760px){.app-page[data-page=leads] .leads-toolbar>.field{flex-basis:100%;max-width:none}.app-page[data-page=leads] .leads-toolbar>.btn{flex:1 1 auto}.app-page[data-page=leads] .leads-table-footer{justify-content:center}.app-page[data-page=leads] .leads-edit-dialog .grid-2{grid-template-columns:1fr}.app-page[data-page=leads] .leads-pagination{gap:2px}.app-page[data-page=leads] .leads-pagination .leads-page-navigation{padding:6px 3px}.app-page[data-page=leads] .leads-pagination .leads-page{min-width:32px;padding:6px}}
#markdown-source,#markdown-texte{font-family:Consolas,"Liberation Mono",monospace;font-size:14px;tab-size:4}
#markdown-source{display:block;min-height:clamp(280px,55vh,650px);line-height:1.7}
@container contenu (max-width:600px){.markdown-editor{padding:16px}.markdown-actions{gap:8px}.markdown-actions>.btn{flex:1}}

/* YouTube : progression indéterminée et scores compacts des deux textes. */
.youtube-progress{display:grid;gap:8px;min-height:28px;font-size:12px}
.youtube-progress-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--border)}
.youtube-progress-bar{display:block;width:35%;height:100%;border-radius:inherit;background:var(--accent);animation:youtube-loading 1.4s ease-in-out infinite}
.youtube-model{margin-top:8px;overflow-wrap:anywhere}
#youtube-extract-form .field{margin-bottom:0}#youtube-extract-form .youtube-style-option{margin-bottom:15px}
.youtube-score-actions{margin-top:16px}
.youtube-score-card,.youtube-score-badge{--score-ink:var(--text);--score-background:var(--surface-alt);--score-border:var(--border);border:1px solid var(--score-border);background:var(--score-background);color:var(--score-ink);font-size:13px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.youtube-score-card{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:16px;padding:12px 14px;border-radius:9px}
.youtube-score-card .icon{width:18px;height:18px}
.youtube-copy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%}
.youtube-score-badge{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:7px;font-size:12px}
:is(.youtube-score-card,.youtube-score-badge).score-clean{--score-ink:#166534;--score-background:#f0fdf4;--score-border:#bbf7d0}
:is(.youtube-score-card,.youtube-score-badge).score-mild{--score-ink:#854d0e;--score-background:#fffbeb;--score-border:#fde68a}
:is(.youtube-score-card,.youtube-score-badge).score-obvious{--score-ink:#9a3412;--score-background:#fff7ed;--score-border:#fed7aa}
:is(.youtube-score-card,.youtube-score-badge).score-raw{--score-ink:#991b1b;--score-background:#fef2f2;--score-border:#fecaca}
:is(.youtube-score-card,.youtube-score-badge).score-stale{--score-ink:#52525b;--score-background:#fafafa;--score-border:#d4d4d8}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge){--score-background:color-mix(in srgb,var(--score-ink) 8%,var(--surface));--score-border:color-mix(in srgb,var(--score-ink) 28%,var(--surface))}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge).score-clean{--score-ink:#86efac}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge).score-mild{--score-ink:#fde68a}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge).score-obvious{--score-ink:#fdba74}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge).score-raw{--score-ink:#fca5a5}
[data-theme=sombre] :is(.youtube-score-card,.youtube-score-badge).score-stale{--score-ink:#d4d4d8}
@keyframes youtube-loading{from{transform:translateX(-110%)}to{transform:translateX(320%)}}
@media(prefers-reduced-motion:reduce){.youtube-progress-bar{animation:none;transform:translateX(90%)}}
.youtube-image-result{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);min-width:0}
.youtube-image-result-heading{align-items:flex-start}
.youtube-image-result-heading h3{margin:4px 0 0;flex:1 1 150px}
.youtube-image-result .generated-image{height:auto;margin-top:12px}
.youtube-image-secondary-actions:has(button:not([hidden])){margin-top:12px}
.app-page[data-page=youtube] .youtube-video-images{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);min-width:0}
.app-page[data-page=youtube] .youtube-video-images>h3{margin:0 0 16px}
.app-page[data-page=youtube] #youtube-thumbnails-form .field{margin-bottom:8px}
.app-page[data-page=youtube] #youtube-thumbnails-help{margin-bottom:12px;line-height:1.5}
.app-page[data-page=youtube] .youtube-thumbnails-note{margin-top:12px;line-height:1.5}
.app-page[data-page=youtube] .youtube-thumbnails-warning{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-alt);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.app-page[data-page=youtube] .youtube-thumbnails-results{display:grid;gap:18px}
.app-page[data-page=youtube] .youtube-thumbnail-result{min-width:0;margin-top:18px}
.app-page[data-page=youtube] .youtube-thumbnail-result h4{margin:4px 0 0;flex:1 1 150px;font-size:14px}
.app-page[data-page=youtube] .youtube-thumbnail-result .generated-image{width:auto;max-width:100%;height:auto;margin-top:12px}
.app-page[data-page=youtube] .youtube-thumbnail-dimensions{margin-top:8px}
