/* Invoice pages: the viewport stays fixed; content scrolls inside its panels. */
.invoice-pane-select{display:none;margin:0;padding:0;border:0}
.invoice-pane-select legend{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
@media screen{
  html,body{height:100%;min-height:0;overflow:hidden}
  body{overscroll-behavior:none}
  .page[data-invoice-viewport]{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;padding:clamp(8px,2vh,24px) 0;gap:clamp(6px,1.4vh,14px);overflow:hidden}
  [data-invoice-viewport]>.brand-row{flex:0 0 auto;margin:0;min-width:0}
  [data-invoice-viewport]>.intro{flex:0 1 auto;min-height:0;max-height:20vh;max-height:20dvh;margin:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
  [data-invoice-viewport] .intro h1,[data-invoice-viewport]>.intro>div>h1{font-size:clamp(23px,4.4vh,39px);margin-bottom:6px}
  [data-invoice-viewport] .intro .eyebrow{margin-bottom:5px}
  [data-invoice-viewport]>.layout{flex:1 1 0;min-height:0;min-width:0;align-items:stretch;grid-template-rows:minmax(0,1fr);overflow:hidden}
  [data-invoice-viewport] .layout>.form-shell{display:flex;flex-direction:column;min-height:0;min-width:0}
  [data-invoice-viewport] .form-top,[data-invoice-viewport] .steps,[data-invoice-viewport] .form-bottom{flex:0 0 auto;min-width:0}
  [data-invoice-viewport] .steps{max-height:15vh;max-height:15dvh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
  [data-invoice-viewport] .form-shell>.step-content{flex:1 1 0;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
  [data-invoice-viewport] .form-bottom{flex-wrap:nowrap;gap:8px;padding:10px 14px}
  [data-invoice-viewport] .form-bottom .form-status{flex:1 1 0;min-width:0;max-height:44px;margin:0;order:0;overflow:auto;scrollbar-width:thin}
  [data-invoice-viewport] .form-bottom .button{flex:0 0 auto;padding:9px 11px}
  [data-invoice-viewport] .layout>.invoice-column{display:block;position:static;min-height:0;min-width:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
  [data-invoice-viewport] .invoice{overflow:visible}
  [data-invoice-viewport] .invoice>.invoice-print{position:sticky;bottom:0;z-index:2;background:#f8f7f3;box-shadow:0 -8px 12px #f8f7f3}
  [data-invoice-viewport]>.footer-choice,[data-invoice-viewport]>.review-result,[data-invoice-viewport]>.footer-note,[data-invoice-viewport]>.choice-footer{flex:0 1 auto;min-height:0;max-height:9vh;max-height:9dvh;margin:0;padding-top:6px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
  [data-invoice-viewport="payment"] .layout>.panel{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%}
  [data-invoice-viewport="payment"] .panel-head{flex:0 0 auto}
  [data-invoice-viewport="payment"] .payment-content,[data-invoice-viewport="payment"] .receipt{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
  [data-invoice-viewport="payment"] .summary{min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
  [data-invoice-viewport="payment"]>.status-panel{flex:1 1 0;min-height:0;margin:0;overflow:auto}
  [data-invoice-viewport="payment"]:has(#paymentLayout[hidden])>.invoice-pane-select{display:none}
  [data-invoice-viewport="payment"] .simulate{position:sticky;bottom:0;z-index:1}
  [data-invoice-viewport="catalogue"]>h1{flex:0 1 auto;min-height:0;max-height:16vh;max-height:16dvh;font-size:clamp(23px,4.4vh,39px);margin:0;overflow:auto;scrollbar-width:thin}
  [data-invoice-viewport="catalogue"]>.eyebrow{flex:0 0 auto;margin:0}
  [data-invoice-viewport="catalogue"]>.tabs{flex:0 0 auto;min-height:0;max-height:16vh;margin:0;overflow:auto;scrollbar-width:thin}
  [data-invoice-viewport="catalogue"]>#proposal{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
  [data-invoice-viewport="catalogue"] .proposal-head{position:sticky;top:0;z-index:2;background:var(--bg,#111216)}
  @media(max-width:800px){
    .invoice-pane-select{display:flex;flex:0 0 auto;gap:6px;min-width:0}
    .invoice-pane-select label{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;padding:7px 9px;border:1px solid #ffffff18;border-radius:8px;background:#ffffff03;color:#a5acb8;font-size:10px;cursor:pointer;line-height:1.3;text-align:center}
    .invoice-pane-select input{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
    .invoice-pane-select label:has(input:checked){border-color:#d6b98760;background:#d6b9870b;color:#d6b987}
    .invoice-pane-select label:has(input:focus-visible){outline:2px solid #d6b987;outline-offset:2px}
    .invoice-pane-select [lang="en"]{display:none}
    html:lang(en) .invoice-pane-select [lang="fr"]{display:none}
    html:lang(en) .invoice-pane-select [lang="en"]{display:inline}
    [data-invoice-viewport]>.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
    [data-invoice-viewport]:has(.invoice-pane-select input[value="form"]:checked) .layout>.invoice-column{display:none}
    [data-invoice-viewport]:has(.invoice-pane-select input[value="paper"]:checked) .layout>.form-shell{display:none}
    [data-invoice-viewport="payment"]:has(.invoice-pane-select input[value="form"]:checked) .layout>.summary{display:none}
    [data-invoice-viewport="payment"]:has(.invoice-pane-select input[value="paper"]:checked) .layout>.panel{display:none}
    [data-invoice-viewport] .form-bottom .button{font-size:10px}
    [data-invoice-viewport] .form-bottom .form-status{font-size:9px}
  }
  @media(max-height:560px){
    [data-invoice-viewport]>.brand-row img{width:24px;height:24px}
    [data-invoice-viewport]>.intro{max-height:19vh;max-height:19dvh}
    [data-invoice-viewport] .intro h1,[data-invoice-viewport]>.intro>div>h1{font-size:22px;margin-bottom:4px}
    [data-invoice-viewport] .form-top,[data-invoice-viewport="payment"] .panel-head{padding:8px 14px}
    [data-invoice-viewport] .steps{padding:6px 10px;gap:4px}
    [data-invoice-viewport] .step{padding:5px 3px;gap:4px}
    [data-invoice-viewport] .form-bottom{padding:7px 10px}
  }
  @media(max-width:350px){
    [data-invoice-viewport]>.brand-row{flex-wrap:wrap;gap:6px}
  }
  @media(max-height:420px){
    [data-invoice-viewport] .layout>.form-shell{display:block;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
    [data-invoice-viewport] .form-shell>.step-content{overflow:visible}
    [data-invoice-viewport] .form-bottom{position:sticky;bottom:0;z-index:2;background:#1b1d22}
    [data-invoice-viewport="payment"] .layout>.panel{display:block;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
    [data-invoice-viewport="payment"] .payment-content,[data-invoice-viewport="payment"] .receipt{overflow:visible}
  }
}
