/* Shared visual language. Preserve dense grids and each window's geometry. */
:root{--easv-green:var(--nuvile-primary);--easv-paper:var(--nuvile-paper);--easv-border:var(--nuvile-border);font-family:'Segoe UI',Arial,sans-serif}
body :is(button,input,select,textarea){font-family:'Segoe UI',Arial,sans-serif}
:is(.sales-window,.tx-window){border-radius:10px;box-shadow:0 12px 35px #0b3c4d20}
dialog:not(.output-modal){border-radius:10px;box-shadow:0 12px 35px #0b3c4d30}
dialog::backdrop{background:#0b3c4d66;backdrop-filter:blur(2px)}
:is(.sales-window,.tx-window)>:is(.window-title,.dialog-head){background:var(--easv-green)}
dialog>.dialog-head{height:auto;min-height:52px;padding:12px 20px;background:var(--easv-green);color:var(--nuvile-paper)}
dialog>.dialog-head strong{font-size:16px;font-weight:600}
:is(.sales-window,.tx-window,dialog) :is(button.outline,button.search-button){border-radius:5px;border-color:var(--nuvile-border);background:var(--nuvile-paper);color:var(--nuvile-muted)}
:is(.sales-window,.tx-window,dialog) button.primary{border-radius:5px;background:var(--nuvile-primary);color:var(--nuvile-paper)}
:is(.sales-window,.tx-window,dialog) :is(button.outline,button.search-button):hover:not(:disabled){background:var(--nuvile-soft);border-color:var(--nuvile-muted)}
:is(.sales-window,.tx-window,dialog) button.primary:hover:not(:disabled){background:var(--nuvile-primary)}
:is(.sales-window,.tx-window,dialog) button:focus-visible{outline:2px solid var(--nuvile-muted);outline-offset:2px}
:is(.sales-window,.tx-window,dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-radius:5px}
:is(.tx-card,.report-filters,.customer-card,.purchase-fiscal-summary){border-radius:8px}
.tx-nav button,.products-layout nav button{border-radius:6px}
/* Output cards retain their own selection appearance; no broad button reset. */
.output-modal>.dialog-head{min-height:58px;padding:14px 22px}
.output-modal>.dialog-head strong{font-size:17px}
@media(prefers-reduced-motion:no-preference){button.outline,button.primary{transition:background-color .12s,border-color .12s}}
