/* Signature et finitions communes. Aucun libellé ou état métier supplémentaire. */
.brand-modern-wordmark,.brand-tuning-wordmark{display:none}

@media screen{
  html[data-bennys-theme] body.app-body .sidebar{scrollbar-gutter:stable}
  /* Un seul emplacement : changer de thème ne déplace plus le menu. */
  html[data-bennys-theme] body.app-body .sidebar>.brand-row{
    box-sizing:border-box;flex:0 0 auto;width:100%;max-width:100%;
    height:calc(70px * var(--garage-scale));min-height:calc(70px * var(--garage-scale));
    padding:0 6px;margin:0;gap:10px;justify-content:center;
  }
  html[data-bennys-theme] body.app-body .sidebar>.brand-row .brand-wordmark{
    flex:0 1 auto;width:calc(208px * var(--garage-scale));max-width:100%;
    height:calc(70px * var(--garage-scale));max-height:100%;object-fit:contain;object-position:center;
  }
  html[data-bennys-theme="classic"] body:is(.app-body,.login-body) .brand-row>.brand-badge,
  html[data-bennys-theme="classic"] body:is(.app-body,.login-body) .brand-row>.brand-standard-copy{display:none}
  html[data-bennys-theme="classic"] body:is(.app-body,.login-body) .brand-modern-wordmark{display:block}
  html[data-bennys-theme="neon"] body:is(.app-body,.login-body) .brand-neon-wordmark{
    mix-blend-mode:screen;filter:drop-shadow(0 0 5px rgba(70,232,255,.22));
  }
  html[data-bennys-theme="tuning"] body:is(.app-body,.login-body) .brand-row>.brand-badge,
  html[data-bennys-theme="tuning"] body:is(.app-body,.login-body) .brand-row>.brand-standard-copy{display:none}
  html[data-bennys-theme="tuning"] body:is(.app-body,.login-body) .brand-tuning-wordmark{display:block}
  html[data-bennys-theme="tuning"] body.app-body .brand-tuning-wordmark{filter:drop-shadow(0 3px 3px rgba(0,0,0,.38))}
  html[data-bennys-theme] body.login-body .brand-row{justify-content:center;min-height:110px;margin:0 auto 20px}
  html[data-bennys-theme] body.login-body .brand-row>.brand-wordmark{width:280px;max-width:100%;height:100px;max-height:110px;object-fit:contain}

  /* Les textes de navigation gardent une place stable et un focus entier. */
  html[data-bennys-theme] body.app-body .side-nav a{position:relative;isolation:isolate;padding-right:calc(26px * var(--garage-scale))}
  html[data-bennys-theme] body.app-body .side-nav a::after{
    content:"";position:absolute;right:12px;top:50%;width:5px;height:5px;
    margin-top:-2.5px;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;
  }
  html[data-bennys-theme] body.app-body .side-nav a.active::after{opacity:1}
  html[data-bennys-theme] body.app-body .side-nav a:focus-visible{outline-offset:-3px}
  html[data-bennys-theme] body.app-body .main .workspace-tabs button{position:relative;isolation:isolate}
  html[data-bennys-theme] body.app-body .main .workspace-tabs button[aria-selected="true"]::after{
    content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;
    border-radius:3px;background:var(--ui-accent);pointer-events:none;
  }
  html[data-bennys-theme] body.app-body .main .workspace-tabs button:focus-visible{outline-offset:-3px}
  html[data-bennys-theme] body.app-body :is(.main,dialog) :is(input,select,textarea):focus-visible{
    outline:2px solid var(--ui-accent);outline-offset:2px;
  }
  html[data-bennys-theme] body.app-body :is(.main,dialog) .btn{transition:border-color 160ms ease,box-shadow 160ms ease,background-color 160ms ease}
  html[data-bennys-theme] body.app-body :is(.main,dialog) .btn:not(:disabled):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 3px 10px rgba(0,0,0,.18)}
  html[data-bennys-theme] body.app-body .site-theme-switcher-options button:focus-visible{outline-offset:-3px}
  html[data-bennys-theme] body.app-body .main .garage-config-tile{transition:border-color 180ms ease,box-shadow 180ms ease}
  html[data-bennys-theme] body.app-body .main .garage-config-tile:focus-visible{outline-offset:3px}

  /* Sans cadran, les indicateurs suivent la hauteur de leur contenu. */
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis{
    grid-auto-rows:auto;
  }
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis>article{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:calc(178px * var(--garage-scale));padding:calc(20px * var(--garage-scale)) calc(14px * var(--garage-scale)) calc(32px * var(--garage-scale));
    gap:calc(8px * var(--garage-scale));text-align:center;
  }
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis>article>strong{
    margin:0;max-width:100%;overflow-wrap:anywhere;text-wrap:balance;
  }
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis>article:first-child>strong{
    font-size:calc(24px * var(--garage-scale));line-height:1.25;
  }
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis>article>small{
    display:block;max-width:28ch;
  }
  html:is([data-bennys-theme="classic"],[data-bennys-theme="neon"]) body.app-body .main .employee-kpis>article>.pay-state{
    width:fit-content;max-width:100%;box-sizing:border-box;margin:2px 0 0;white-space:normal;
  }
  html[data-bennys-theme="neon"] body.app-body .main .employee-kpis>article::before{bottom:12px}
  html[data-bennys-theme="neon"] body.app-body .main .employee-kpis>article::after{bottom:8px}

  /* Les cartes Tuning sans compteur composent aussi leur contenu au centre. */
  html[data-bennys-theme="tuning"] body.app-body .main .employee-kpis>.tuning-aux-card{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:calc(8px * var(--garage-scale));text-align:center;
  }
  html[data-bennys-theme="tuning"] body.app-body .main .employee-kpis>.tuning-aux-card>strong{
    margin:0;max-width:100%;text-wrap:balance;overflow-wrap:anywhere;
  }
  html[data-bennys-theme="tuning"] body.app-body .main .employee-kpis>.tuning-aux-card:first-child>strong{
    font-size:calc(24px * var(--garage-scale));line-height:1.25;
  }
  html[data-bennys-theme="tuning"] body.app-body .main .employee-kpis>.tuning-aux-card>small{max-width:100%}
  html[data-bennys-theme="tuning"] body.app-body .main .employee-kpis>.tuning-aux-card>.tuning-aux-part{
    position:static;inset:auto;flex:0 0 auto;align-self:center;margin:calc(8px * var(--garage-scale)) 0 0;
  }

  /* Le modèle ne doit pas être comprimé par son bouton de sélection. */
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-model-combobox{
    grid-template-rows:auto auto;gap:7px;
  }
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-model-combobox>label{
    display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;
    font-size:calc(14px * var(--garage-scale));line-height:1.5;min-height:0;
  }
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-vehicle-required{
    display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap;
    padding:calc(2px * var(--garage-scale)) calc(8px * var(--garage-scale));
    border:1px solid var(--ui-accent);border-radius:999px;
    background:var(--ui-accent);color:var(--ui-bg);
    font-size:calc(12px * var(--garage-scale));font-weight:800;line-height:1.25;
    font-style:normal;letter-spacing:.04em;text-transform:uppercase;
  }
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-vehicle-required[hidden]{display:none}
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-model-combobox>input,
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-choose-vehicle{
    box-sizing:border-box;height:calc(46px * var(--garage-scale));min-height:calc(46px * var(--garage-scale));
  }
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-choose-vehicle{
    margin:0;align-self:end;
  }
  html[data-bennys-theme] body.app-body .invoice-workspace .garage-vehicle-indicator{
    font-size:calc(12px * var(--garage-scale));line-height:1.5;
  }

  /* Modern : verre chaud et détails discrets, avec la typographie historique. */
  html[data-bennys-theme="classic"] body.app-body .side-nav a.active::after{color:#ffb56b;box-shadow:0 0 8px rgba(255,151,72,.4)}
  html[data-bennys-theme="classic"] body.app-body .workspace-tabs button[aria-selected="true"]{box-shadow:inset 0 1px 0 rgba(255,197,136,.12)}
  html[data-bennys-theme="classic"] body.app-body .main .garage-config-tile:hover{box-shadow:inset 0 1px 0 rgba(255,200,137,.1),0 7px 22px rgba(0,0,0,.2)}
  html[data-bennys-theme="classic"] body.app-body dialog{border-top-color:rgba(255,190,115,.45);box-shadow:0 28px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,200,137,.08)}

  /* Néon : petits tubes lumineux, halos et verre, plutôt qu'un cadre généralisé. */
  html[data-bennys-theme="neon"] body.app-body .side-nav a.active{
    box-shadow:inset 0 1px 0 rgba(175,246,255,.12),-3px 0 12px rgba(77,228,255,.13);
  }
  html[data-bennys-theme="neon"] body.app-body .side-nav a.active .nav-icon{
    color:#e3feff;filter:drop-shadow(0 0 4px #62dfff) drop-shadow(0 0 8px rgba(80,207,255,.4));
  }
  html[data-bennys-theme="neon"] body.app-body .side-nav a.active::after{
    width:3px;height:18px;margin-top:-9px;border-radius:3px;background:#edffff;
    box-shadow:0 0 3px #8bf6ff,0 0 9px #53cfff,0 0 17px rgba(108,105,255,.65);
  }
  html[data-bennys-theme="neon"] body.app-body .main .workspace-tabs button[aria-selected="true"]{
    background:linear-gradient(120deg,rgba(35,145,189,.17),rgba(125,53,180,.23));color:#c9fbff;text-shadow:0 0 9px rgba(82,218,255,.4);
  }
  html[data-bennys-theme="neon"] body.app-body .main .workspace-tabs button[aria-selected="true"]::after{
    background:linear-gradient(90deg,#d9ffff,#8bf6ff 55%,#eda3ff);
    box-shadow:0 0 4px #6ae8ff,0 0 11px rgba(106,183,255,.65);
  }
  html[data-bennys-theme="neon"] body.app-body .week-chip.active{
    background:linear-gradient(130deg,rgba(38,138,184,.3),rgba(108,45,156,.32));
    box-shadow:inset 0 -2px 0 #a5f8ff,0 3px 14px rgba(43,197,255,.12);
  }
  html[data-bennys-theme="neon"] body.app-body .main .garage-config-tile:hover{
    box-shadow:inset 0 1px 0 rgba(181,246,255,.18),0 0 20px rgba(81,201,255,.12);
  }
  html[data-bennys-theme="neon"] body.app-body .main #invoice-total{
    color:#edffff;text-shadow:0 0 2px #d2ffff,0 0 8px rgba(100,235,255,.65),0 0 23px rgba(49,196,255,.35);
  }
  html[data-bennys-theme="neon"] body.app-body dialog{border-top-color:#92efff;box-shadow:0 28px 90px rgba(0,0,0,.6),0 -5px 26px rgba(70,209,255,.13)}
  html[data-bennys-theme="neon"] body.app-body dialog :is(.garage-dialog-head,.invoice-catalog-header,.configuration-modal-head,.sale-editor-header,.bank-editor-header){
    background:radial-gradient(ellipse at 0 0,rgba(72,202,255,.13),transparent 65%),linear-gradient(125deg,#171334,#22113a);
    border-bottom-color:rgba(113,218,255,.3);
  }

  /* Tuning : pièces usinées, repères de course et vis fraisées. */
  html[data-bennys-theme="tuning"] .file-drop{
    border-color:rgba(182,210,99,.38);
    background:linear-gradient(135deg,rgba(112,146,45,.12),rgba(43,60,19,.06)),rgba(5,12,1,.44);
  }
  html[data-bennys-theme="tuning"] input[type="file"]{--tuning-upload-fill:linear-gradient(180deg,#e4ff83,#b6dc3c)}
  html[data-bennys-theme="tuning"] input[type="file"]:not(:disabled):hover{--tuning-upload-fill:linear-gradient(180deg,#efffb5,#c9f64a)}
  html[data-bennys-theme="tuning"] input[type="file"]::file-selector-button{
    color:#151d08;border:1px solid #e5ff9a;border-radius:4px;background:var(--tuning-upload-fill);
    font:inherit;font-weight:700;box-shadow:inset 0 1px 0 #f3ffd0,0 2px 0 #4a5d18;
  }
  html[data-bennys-theme="tuning"] input[type="file"]::-webkit-file-upload-button{
    color:#151d08;border:1px solid #e5ff9a;border-radius:4px;background:var(--tuning-upload-fill);
    font:inherit;font-weight:700;box-shadow:inset 0 1px 0 #f3ffd0,0 2px 0 #4a5d18;
  }
  html[data-bennys-theme="tuning"] body.app-body .side-nav a.active::after{
    width:7px;height:7px;margin-top:-4px;border-radius:0;background:none;
    border-top:2px solid #d6ff51;border-right:2px solid #d6ff51;transform:rotate(45deg);
  }
  html[data-bennys-theme="tuning"] body.app-body .main .workspace-tabs button[aria-selected="true"]::after{
    height:3px;border-radius:0;background:repeating-linear-gradient(115deg,#d6ff51 0 8px,transparent 8px 12px);
  }
  html[data-bennys-theme="tuning"] body.app-body .week-chip.active{
    background:linear-gradient(120deg,rgba(99,135,25,.66),rgba(20,31,9,.97));
    box-shadow:inset 0 -2px 0 #d6ff51,inset 0 1px 0 rgba(239,255,184,.24);
  }
  html[data-bennys-theme="tuning"] body.app-body .main :is(.work-layout>.panel,.configuration-hero,.garage-config-landing,.invoice-service-picker){position:relative}
  html[data-bennys-theme="tuning"] body.app-body .main :is(.work-layout>.panel,.configuration-hero,.garage-config-landing,.invoice-service-picker)::before{
    content:"";position:absolute;pointer-events:none;inset:9px 9px auto;height:7px;opacity:.7;
    background:linear-gradient(135deg,transparent calc(50% - .5px),#111b09 calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)) left/7px 7px no-repeat,
      linear-gradient(135deg,transparent calc(50% - .5px),#111b09 calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)) right/7px 7px no-repeat,
      radial-gradient(circle,#9ba88d 0 2px,#46533b 2.5px 3px,transparent 3.5px) left/7px 7px no-repeat,
      radial-gradient(circle,#9ba88d 0 2px,#46533b 2.5px 3px,transparent 3.5px) right/7px 7px no-repeat;
  }
  html[data-bennys-theme="tuning"] body.app-body .main .garage-config-tile:hover{
    box-shadow:inset 0 1px 0 rgba(236,255,185,.22),0 5px 18px rgba(0,0,0,.32);
  }
  html[data-bennys-theme="tuning"] body.app-body dialog :is(.garage-dialog-head,.invoice-catalog-header,.configuration-modal-head,.sale-editor-header,.bank-editor-header){
    background:repeating-linear-gradient(120deg,rgba(221,240,182,.025) 0 2px,transparent 2px 7px),linear-gradient(125deg,#303a25,#111b08);
    box-shadow:inset 0 3px 0 #b7d75d;
  }
}

@media screen and (min-width:801px) and (max-width:2399px){
  html[data-bennys-theme] body.app-body .invoice-workspace .invoice-section>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-bennys-theme] body.app-body .invoice-workspace .form-grid>.garage-invoice-vehicle{grid-column:1/-1}
}

@media screen and (max-width:800px){
  html[data-bennys-theme] body.app-body .sidebar>.brand-row{
    width:calc(100% - 142px);max-width:calc(100% - 142px);height:60px;min-height:60px;padding:0;justify-content:flex-start;
  }
  html[data-bennys-theme] body.app-body .sidebar>.brand-row .brand-wordmark{width:172px;height:60px;max-height:60px}
  html[data-bennys-theme] body.app-body .sidebar>.brand-row h1{font-size:20px;white-space:nowrap}
  html[data-bennys-theme] body.app-body .mobile-nav-toggle:not([hidden]){top:24px;min-height:40px;min-width:64px}
}
@media(prefers-reduced-motion:reduce){
  html[data-bennys-theme] body.app-body :is(.main,dialog) .btn,
  html[data-bennys-theme] body.app-body .main .garage-config-tile{transition:none}
}
@media print{
  .brand-modern-wordmark,.brand-tuning-wordmark{display:none!important}
}
