/* The application stays within the viewport; each list owns its scrolling. */
html{height:100%;overflow:hidden}body{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}body>header,body>nav{flex:none}body>header{padding:10px 22px}body>nav{flex-wrap:nowrap;overflow:auto;padding:8px 22px}nav button{white-space:nowrap;flex-shrink:0}
main{width:100%;max-width:1500px;flex:1;min-height:0;overflow:hidden;padding:14px 22px;display:flex;flex-direction:column}.page.active{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;gap:10px}.page>.toolbar{margin:0;flex:none}.page>h2{margin:0}.page>.section{margin-top:0}h2{font-size:19px}.panel{padding:16px}.section{margin-top:12px}
.page>.scroll,.page>.panel.scroll{flex:1;min-height:0;max-height:none;margin-top:0}.scroll{scrollbar-width:none;overflow:auto;min-height:0}.scroll::-webkit-scrollbar{display:none}.page>.history-filters{margin:0;flex:none}.history-footer{margin-top:0;flex:none}.history-summary{margin:0}.page>.panel:not(.scroll){flex-shrink:0}
#dashboard #metrics{gap:10px;flex:none}#dashboard .card{padding:14px 16px}#dashboard .card strong{font-size:25px;margin-top:6px}#dashboard .cols{flex:1;min-height:0;gap:14px;margin:0}#dashboard .cols>.panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}#ranking,#alerts{flex:1;min-height:0;max-height:none;overflow:auto}#dashboard>p{font-size:10px;margin:0;flex:none}
#pos .pos-session{margin:0;flex:none}#pos>.cols{flex:1;min-height:0;height:auto;margin:0;overflow:hidden}#pos>.cols>.panel{min-height:0;overflow:hidden}#pos #results{min-height:0;max-height:none;flex:1}#pos>.cols>.panel>.scroll{min-height:0;max-height:none;flex:1}#pos .panel>h2{flex:none}#pos .checkout-total{flex:none}.product{padding:8px 0}
#sales #salesFilters{flex:none}#sales .history-summary{max-width:100%}#sales>.panel.scroll{padding:8px}#products .product-actions{display:flex;gap:6px;flex-wrap:nowrap}#products .product-actions button{font-size:12px;padding:7px 10px}#products table{min-width:770px}#products .history-filters{margin:0}
#registerCurrent{min-height:0;flex:1;overflow:auto;scrollbar-width:none}#register>.section{display:flex;flex-direction:column;min-height:90px;flex:0 1 30%;gap:8px}#register>.section>h2{margin:0}#register>.section .history-filters{margin:0}#cutHistory{min-height:0;max-height:none;flex:1}#register .movement-list{max-height:120px}#register .cash-metrics .card{padding:10px}#register .cash-metrics strong{font-size:21px}
#backup>.panel{min-height:0;overflow:auto;flex:1}.page>.panel:not(.scroll){max-height:55%;overflow:auto;scrollbar-width:none}#entries>.panel:not(.scroll),#expenses>.panel:not(.scroll){padding:12px 16px}#entries .section,#expenses .section{margin-top:10px}
.promo-badge{display:inline-block;background:#153e36;color:#80edc5;border-radius:5px;padding:3px 6px;font-size:11px;margin-top:3px}#productDialog{width:min(680px,calc(100% - 24px));max-height:90dvh;scrollbar-width:none}#productDialog form>.toolbar{margin-bottom:10px}.product-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-fields .field{min-width:0}.product-fields input{width:100%}.promotion-fields{border:1px solid #36506b;border-radius:12px;margin:16px 0 0;padding:14px}.promotion-fields legend{font-size:13px;color:#7ee5c2}.promotion-fields .product-fields{margin-top:12px}.promotion-fields .reader-toggle{justify-content:flex-start}.field input:read-only{opacity:.65}.discount-box{padding:12px;background:#0b192c;border:1px solid #29465e;border-radius:10px;margin:12px 0}.discount-box summary{cursor:pointer;color:#83e8db;font-size:13px}.discount-box[open]>summary{margin-bottom:12px}.discount-box .field{min-width:0;margin-top:8px}.discount-box .row>.field{flex:1}.payment-breakdown{display:grid;gap:8px;font-size:13px;margin:12px 0}.payment-breakdown>div{display:flex;justify-content:space-between;gap:12px}#paymentDialog{max-height:94dvh;padding:22px}#paymentDialog .payment-hero{padding:14px;margin:10px 0}#paymentDialog .payment-hero .big{font-size:34px}#paymentDialog .dialog-actions{margin-top:12px}#paymentDialog .dialog-error:empty{display:none}#paymentFields .section{margin-top:10px}.dialog-error{margin:8px 0}
@media(max-height:720px) and (min-width:701px){main{padding:10px 18px;gap:8px}header small{font-size:11px}h1{font-size:19px}#dashboard .card{padding:10px 14px}#dashboard .card strong{font-size:22px}#dashboard .card label{font-size:12px}.panel{padding:12px}#dashboard h2{font-size:17px}#register .cash-metrics strong{font-size:18px}}
@media(max-width:950px){#dashboard .cols{grid-template-columns:1.1fr .9fr}#dashboard #metrics{grid-template-columns:repeat(4,minmax(0,1fr))}#dashboard .card{padding:10px}#dashboard .card label{font-size:11px}#dashboard .card strong{font-size:20px}}
@media(max-width:700px){body>header{padding:10px 12px}body>nav{padding:7px 12px}main{padding:10px}.page.active{gap:8px}#dashboard #metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#dashboard .card{padding:8px 10px}#dashboard .card strong{font-size:18px;margin-top:3px}#dashboard .cols{grid-template-columns:1fr 1fr;gap:8px}#dashboard .cols .panel{padding:10px}#dashboard h2{font-size:15px}#dashboard>p{display:none}#pos>.cols{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px}#pos>.cols>.panel{padding:10px}#pos .panel h2{font-size:16px;margin-bottom:6px}#pos .hint{margin:4px 0;font-size:10px}#pos input{padding:8px}#pos .product{padding:6px 0}#pos .big{font-size:24px}#pos .section{margin-top:6px}#pos .product small{font-size:10px}.history-filters{gap:6px}.history-filters input,.history-filters select{padding:7px;font-size:12px}.history-filters .field{min-width:100px}.history-filters .search-field{flex-basis:100%}.history-filters .field label{font-size:10px}.history-filters button{font-size:11px;padding:7px}.history-summary{font-size:11px}.toolbar h2{font-size:17px}.toolbar button{font-size:12px;padding:8px}#entries>.panel:not(.scroll),#expenses>.panel:not(.scroll){max-height:42%;padding:10px}.product-fields{gap:9px}#register .cash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#register>.section{flex-basis:35%}#productDialog{padding:16px}}
@media print{html,body{height:auto;overflow:visible;display:block}body>#printArea{overflow:visible}}
