/* Page 3 of the owner's charter; font allocation approved 2026-10-13. */
@font-face{font-family:Inter;src:url('/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
/* Metrics from the bundled Inter and Windows Arial fonts, aligned by x-height. */
@font-face{font-family:'Inter Fallback';src:local('Arial');size-adjust:105.273%;ascent-override:92.021%;descent-override:22.912%;line-gap-override:0%}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/JetBrainsMono-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--vr-font-ui:Inter,'Inter Fallback',Arial,sans-serif;--vr-font-tech:'JetBrains Mono',Consolas,'Courier New',monospace;--vr-ink:#0F172A;--vr-accent:#1E3A8A;--vr-action:#F97316;--vr-stock:#16A34A;--vr-card:#F8FAFC;--vr-border:#CBD5E1;--vr-surface:#fff;--vr-body-leading:1.5;--vr-heading-leading:1.25;--vr-control-leading:1.4}
html body,html body *{font-family:var(--vr-font-ui)!important}
html body .vh-header,html body .vh-primary{font-family:var(--vr-font-ui)!important}
html body{color:var(--vr-ink);line-height:var(--vr-body-leading)}
html body :is(h1,h2,h3,h4){line-height:var(--vr-heading-leading);overflow-wrap:break-word}
html body :is(input,select,textarea,button){line-height:var(--vr-control-leading)}
html body :is(input:not([type='checkbox']):not([type='radio']),select,textarea){font-size:16px;border-color:var(--vr-border);color:var(--vr-ink)}
html body :is(code,kbd,samp,.vr-tech,.vr-tech *,[data-technical-code],#publicReference,#publicVariant,#pdSku,#pdVariant,.pd-sizes select,#publicFeatures dd){font-family:var(--vr-font-tech)!important;font-variant-ligatures:none;font-feature-settings:'zero' 1,'liga' 0,'calt' 0;overflow-wrap:anywhere}
html body :is(.public-price,.vr-price-pair){font-variant-numeric:tabular-nums;color:var(--vr-ink)}
html body :is(.vh-header,.vh-header a,.vh-header .vh-tools>button){color:var(--vr-ink)!important}
html body :is(.public-card,.vh-projects article,.technical-filters){background:var(--vr-card);border-color:var(--vr-border)}
html body :is(.public-availability,.public-reference,#publicCount,.kicker,.eyebrow){color:var(--vr-ink)}
html body :is(.vh-footer){background:var(--vr-ink)}
html body :is(button,.public-primary,.vh-primary){min-height:48px;min-width:48px;box-sizing:border-box;line-height:var(--vr-control-leading)}
html body :is(main button,main .public-primary,main .vh-primary){background:var(--vr-accent);color:var(--vr-surface)!important;border-color:var(--vr-accent)}
/* Orange needs navy text: white text on this exact charter orange fails contrast. */
html body :is(#projectAdd,#publicQuote,#pdAdd,.vh-primary,button[type='submit'],#purchase,.co-submit){background:var(--vr-action)!important;color:var(--vr-ink)!important;border-color:var(--vr-action)!important;font-weight:700}
html body :is(.secondary,#searchSuggestions button){background:var(--vr-surface)!important;color:var(--vr-accent)!important;border:1px solid var(--vr-accent)}
html body :is(.stock-available,[data-stock-status='available']){background:var(--vr-stock);color:var(--vr-ink)}
html body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--vr-accent);outline-offset:3px}
html body :is(#publicVariant,#pdVariant,.pd-sizes select){min-height:48px;min-width:48px;max-width:100%}
@media(max-width:650px){html body .vr-tech{word-break:normal;overflow-wrap:anywhere}html body :is(.public-primary,.vh-primary){white-space:normal}}
html body #publicCatalogue button{background:var(--vr-accent);color:var(--vr-surface)!important;border-color:var(--vr-accent)}
html body #publicCatalogue #searchSuggestions button{background:var(--vr-surface);color:var(--vr-accent)!important}
html body{color:var(--vr-ink)!important}
html body :is(#publicCatalogue input,#publicCatalogue select,#publicCatalogue textarea,.public-card h2 a){color:var(--vr-ink)!important}
html body :is(.vh-page h1,.vh-page h2,.vh-page h3){line-height:var(--vr-heading-leading)}
html body :is(#basketPanel td strong,#searchResults strong,#products strong,.co-item code,.pd-reference){font-family:var(--vr-font-tech)!important;font-variant-ligatures:none;font-feature-settings:'zero' 1,'liga' 0,'calt' 0;overflow-wrap:anywhere}
html body .pd-dot.pd-in{background:var(--vr-stock)}
html body .stock-status.in-stock{background:var(--vr-stock);color:var(--vr-ink)}
html body #publicCatalogue :is(input,select,textarea){border-color:var(--vr-border)}
html body :is(#codeForm #code,input[name='ean'],input[name='sku'],input[name='barcode']){font-family:var(--vr-font-tech)!important;font-variant-ligatures:none;font-feature-settings:'zero' 1,'liga' 0,'calt' 0}

/* Fonds de pages blancs — choix validé par le propriétaire. */
html,html body,html body main{background:#fff!important;background-image:none!important}
html body{--vr-card:#fff;--vr-surface:#fff}
html body :is(.readiness,.readiness-stats span,.account-benefits,.account-card,.account-card-body,.public-card,.technical-filters,.vh-projects article){background:#fff!important;background-image:none!important}
html body.vr-study :is(section,article,.workbook-tabs){background:#fff!important;background-image:none!important}

/* Tableau de gestion des articles : présentation compacte type tableur. */
html body #admin .admin-sheet-scroll{width:100%;max-height:70vh;overflow:auto;border:1px solid #cbd5e1;background:#fff}
html body #admin .admin-sheet{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:13px}
html body #admin .admin-sheet :is(td,th){padding:8px 10px;border-right:1px solid #dbe2ea;border-bottom:1px solid #dbe2ea;vertical-align:middle;background:#fff;color:#172b46}
html body #admin .admin-sheet thead th{position:sticky;top:0;z-index:2;text-align:left;font-weight:700;border-bottom:2px solid #94a3b8;white-space:nowrap}
html body #admin .admin-sheet tbody th{width:46px;text-align:center;font-weight:400}
html body #admin .admin-sheet td:nth-child(2){min-width:240px;width:36%}
html body #admin .admin-sheet-codes{max-width:300px;overflow-wrap:anywhere;font-size:12px}
html body #admin .admin-sheet-number{text-align:right;width:72px;font-variant-numeric:tabular-nums}
html body #admin .admin-sheet-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}
html body #admin .admin-sheet-actions button{min-height:36px;padding:6px 12px;font-size:12px}
html body #admin .admin-sheet-count{font-size:13px;margin:8px 0}
html body #admin .admin-sheet tr:focus-within td{outline-offset:-2px}
@media(max-width:700px){html body #admin .admin-sheet-actions button{min-height:44px}}

/* Densité tableur et typographie uniforme, y compris les codes techniques. */
html body #admin .admin-sheet,html body #admin .admin-sheet *{font-family:var(--vr-font-ui)!important;font-size:13px!important;font-weight:400!important;line-height:1.25!important}
html body #admin .admin-sheet :is(th,td){padding:4px 10px;height:36px}
html body #admin .admin-sheet thead th{height:36px}
html body #admin .admin-sheet-actions{gap:12px}
html body #admin .admin-sheet-actions :is(button,a){min-height:28px!important;height:28px;min-width:0;padding:3px 8px;margin:0;display:inline-flex;align-items:center;box-sizing:border-box}
html body #admin .admin-sheet-codes{font-family:var(--vr-font-ui)!important}
@media(pointer:coarse){html body #admin .admin-sheet-actions :is(button,a){min-height:44px!important;height:44px}html body #admin .admin-sheet :is(th,td){height:48px}}

/* Espace administrateur : noir et texte blanc, sans modifier le catalogue client. */
html body.admin-dark-account,html body.admin-dark-account main,html body #admin{background:#121212!important;color:#f5f5f5!important;color-scheme:dark}
html body #admin{padding:20px;border:1px solid #363636;border-radius:8px}
html body #admin :is(details,summary,section,article,form,.admin-sheet-scroll,.admincatalogtools,.request),html body.admin-dark-account #accountPage :is(section,.account-card,.account-card-body,.account-benefits,.account-notice,h2){background:#191919!important;background-image:none!important;border-color:#3b3b3b!important}
html body #admin *,html body.admin-dark-account #accountPage *{color:#f5f5f5!important;border-color:#414141!important}
html body #admin :is(input,select,textarea,button,.secondary,.primary),html body.admin-dark-account #accountPage :is(input,select,textarea,button,.account-secondary,.account-primary){background:#252525!important;color:#fff!important;border:1px solid #626262!important}
html body #admin input::placeholder{color:#c2c2c2!important;opacity:1}
html body #admin .admin-sheet :is(td,th){background:#171717!important;color:#f5f5f5!important;border-color:#383838!important}
html body #admin .admin-sheet thead th{background:#252525!important}
html body #admin .admin-sheet tbody tr:hover :is(td,th){background:#282828!important}
html body #admin :is(a,button,input,select,textarea):focus-visible,html body.admin-dark-account #accountPage :focus-visible{outline:2px solid #fff!important;outline-offset:2px}
html body.admin-dark-account #modal{background:#191919;color:#f5f5f5;color-scheme:dark}
html body.admin-dark-account #modal *{color:#f5f5f5!important;border-color:#626262!important}
html body.admin-dark-account #modal :is(input,select,textarea,button){background:#252525!important}

html body .vh-header .vh-logo{display:flex!important;align-items:center;gap:10px;min-width:0}
html body .vh-header .vh-home-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:9px;background:#eeeae2;color:#202020}
html body .vh-header .vh-logo img{width:calc(100% - 50px)!important;min-width:0;object-fit:contain}
html body .vh-header .vh-logo:hover .vh-home-icon{background:#ded9cf}

