:root{--ui-bg:#f4f5ef;--ui-surface:#fffefa;--ui-soft:#f8f9f4;--ui-ink:#1f2b1d;--ui-muted:#697164;--ui-line:#dfe4da;--ui-line2:#ebeee7;--ui-primary:#627e46;--ui-primary2:#536f3c;--ui-primary-soft:#eaf2df;--ui-danger:#a54840;--ui-danger-soft:#f8e5e1;--ui-warning:#8a6517;--ui-warning-soft:#fff1c9;--ui-focus:0 0 0 3px rgba(111,143,80,.2)}
html,body{background:var(--ui-bg)!important;color:var(--ui-ink);font-family:"DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}:where(button,input,select,textarea,a):focus-visible{outline:2px solid transparent!important;box-shadow:var(--ui-focus)!important}button,.btn,.nav-item,.link-btn{transition:.15s ease}.muted,.hint,small{color:var(--ui-muted)}.eyebrow{color:var(--ui-primary2)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase}h1,h2,h3,h4{color:var(--ui-ink);letter-spacing:-.025em}
/* Login */
.login-shell{min-height:100dvh;padding:24px!important;background:var(--ui-bg)!important}.login-card{width:min(430px,100%)!important;padding:34px!important;border:1px solid var(--ui-line)!important;border-radius:24px!important;background:var(--ui-surface)!important;box-shadow:0 18px 48px rgba(42,56,37,.09)!important}.login-card h1{font-size:34px!important}.login-card .stack{gap:15px!important;margin-top:24px!important}
/* Navegación */
.app-shell{grid-template-columns:238px minmax(0,1fr)!important}.sidebar{width:238px!important;padding:18px 14px!important;background:#263222!important;border:0!important;color:#eef3e9!important}.brand-row{padding:4px 5px 17px!important;margin-bottom:8px!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.brand-row strong{color:#fff!important}.brand-row span{color:#bfc9b7!important}.brand-mark.small{background:#dce9c9!important;color:#3e5630!important}.nav-item{position:relative;min-height:43px!important;padding:10px 11px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#cbd3c5!important;font-size:13px!important;font-weight:650!important}.nav-item:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}.nav-item.active{background:#eef5e5!important;color:#355029!important}.nav-item.active:before{content:"";position:absolute;left:-7px;top:10px;bottom:10px;width:3px;border-radius:3px;background:#b9d592}.sidebar-footer{padding:15px 6px 2px!important;border-top:1px solid rgba(255,255,255,.1)!important}.sidebar-footer span{color:#fff!important}.sidebar-footer small{color:#aeb9a7!important}.sidebar-footer .link-btn{color:#d9e3d3!important}
.workspace{min-width:0!important;padding:24px 30px 46px!important;background:var(--ui-bg)!important}.topbar{position:sticky!important;top:0!important;z-index:14!important;margin:-8px -10px 22px!important;padding:12px 10px!important;background:rgba(244,245,239,.92)!important;border-bottom:1px solid rgba(213,220,208,.7)!important;backdrop-filter:blur(14px)}.topbar h2{font-size:24px!important}.sync-pill{padding:7px 10px!important;border:1px solid var(--ui-line)!important;border-radius:999px!important;background:rgba(255,255,255,.7)!important;color:#526049!important;font-size:11px!important;font-weight:700!important}
/* Controles */
.btn{min-height:42px!important;padding:9px 14px!important;border-radius:11px!important;font-size:12px!important;font-weight:750!important;box-shadow:none!important}.btn.primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}.btn.primary:hover{background:var(--ui-primary2)!important}.btn.secondary{background:var(--ui-primary-soft)!important;border:1px solid #cdddba!important;color:#486238!important}.btn.ghost{background:transparent!important;border:1px solid var(--ui-line)!important;color:#4f5b4b!important}.btn.danger{background:var(--ui-danger)!important;color:#fff!important}.remove,.category-delete{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#9a4943!important}.remove:hover,.category-delete:hover{background:var(--ui-danger-soft)!important}label{color:#4e584b;font-size:12px!important;font-weight:650!important}input,select,textarea{min-height:44px!important;border:1px solid #8b9785!important;border-radius:11px!important;background:#fff!important;color:var(--ui-ink)!important;box-shadow:none!important}input:focus,select:focus,textarea:focus{border-color:var(--ui-primary)!important;box-shadow:var(--ui-focus)!important}textarea{min-height:92px!important;resize:vertical}
/* Paneles */
.panel{min-width:0!important;padding:20px!important;border:1px solid var(--ui-line)!important;border-radius:18px!important;background:var(--ui-surface)!important;box-shadow:none!important}.panel-head{gap:14px!important;margin-bottom:17px!important}.panel-head h3{font-size:18px!important}.content-grid{gap:18px!important}
/* Resumen: información plana, no cajas */
#view-dashboard .metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin-bottom:21px!important;border-block:1px solid var(--ui-line)!important}#view-dashboard .metric{min-height:108px!important;padding:17px 20px!important;border:0!important;border-right:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}#view-dashboard .metric:last-child{border-right:0!important}#view-dashboard .metric strong{font-size:27px!important;color:var(--ui-ink)!important}#view-dashboard .metric>span:not(.metric-icon){font-size:11px!important;line-height:1.35!important}.metric-icon{background:var(--ui-primary-soft)!important;color:var(--ui-primary2)!important}#view-dashboard .panel{padding:18px 0!important;border:0!important;border-top:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important}#view-dashboard .content-grid>.panel:first-child{padding-right:18px!important}#view-dashboard .content-grid>.panel:last-child{padding-left:18px!important}.mini-row,.stable-alert{padding:11px 2px!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}.store-statistics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--ui-line2)!important}.store-stat{padding:12px 10px!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}.store-stat:nth-child(odd){border-right:1px solid var(--ui-line2)!important}.store-stat strong{font-size:19px!important;color:var(--ui-ink)!important}
/* Venta */
.pos-layout{grid-template-columns:minmax(0,1.45fr) minmax(360px,.82fr)!important;gap:18px!important;align-items:start!important}.cart-panel{position:sticky!important;top:86px!important;max-height:calc(100dvh - 108px)!important;overflow:auto!important}.search-row input{min-height:48px!important;font-size:15px!important}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.product-card{padding:10px!important;border:1px solid var(--ui-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}.product-card:hover:not(:disabled){border-color:#b9c8ae!important;box-shadow:0 8px 22px rgba(53,70,47,.08)!important;transform:translateY(-1px)}.product-card .product-media{height:138px!important;border-radius:11px!important;background:#f2f4ee!important}.product-card strong{font-size:13px!important;line-height:1.25!important}.product-card>span:last-child{font-size:17px!important;font-weight:800!important;color:#3e5732!important}.sale-stock-badge{top:8px!important;right:8px!important;font-size:9.5px!important;line-height:1.2!important;white-space:normal!important}.product-card.unavailable{opacity:.66!important}.cart-row{padding:13px 0!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.cart-row:first-child{border-top:1px solid var(--ui-line2)!important}.cart-quantity input{min-height:40px!important;width:64px!important;text-align:center!important}.totals>div{padding:7px 0!important;border-bottom:1px solid var(--ui-line2)!important}.totals .grand{padding-top:12px!important;border-bottom:0!important}.totals .grand strong{font-size:23px!important}.change-calculator{padding:14px!important;border:1px solid #dce5d3!important;border-radius:14px!important;background:#f4f8ef!important}#checkout-btn{min-height:50px!important;font-size:14px!important}
/* Inventario y tablas */
#view-inventory .panel-head{padding-bottom:14px!important;border-bottom:1px solid var(--ui-line2)!important}.inventory-health{gap:0!important;margin:0 0 16px!important;border-bottom:1px solid var(--ui-line)!important}.inventory-health .health-card{padding:12px 14px!important;border:0!important;border-right:1px solid var(--ui-line)!important;background:transparent!important}.inventory-health .health-card:last-child{border-right:0!important}.inventory-health .health-card strong{font-size:22px!important}.table-wrap{border:0!important;border-block:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}table{border-collapse:separate!important;border-spacing:0!important}thead th{position:sticky;top:0;z-index:2;padding:10px!important;background:#f7f8f3!important;border-bottom:1px solid var(--ui-line)!important;color:#667061!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase!important}tbody td{padding:11px 10px!important;border-bottom:1px solid var(--ui-line2)!important;font-size:11px!important}tbody tr:hover td{background:#fbfcf8!important}.badge{padding:5px 7px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:800!important}.table-actions{display:flex!important;gap:5px!important;justify-content:flex-end!important;flex-wrap:wrap!important}.table-actions button{min-height:34px!important;padding:6px 9px!important;border:1px solid var(--ui-line)!important;border-radius:9px!important;background:#fff!important;color:#4f5b4b!important;font-size:10px!important;font-weight:750!important}.table-actions .buy-action,.table-actions .lot-action{background:var(--ui-primary-soft)!important;border-color:#cdddbc!important;color:#496438!important}.table-actions .danger-action{background:transparent!important;border-color:#ecd0cc!important;color:#98463f!important}
/* Lotes */
#product-dialog .product-lots-editor{margin-top:16px!important;padding:16px!important;border:0!important;border-top:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important}#product-dialog .product-lot-card{border:1px solid var(--ui-line)!important;border-radius:13px!important;background:#fff!important}.product-lot-title{background:#f7f8f4!important}.product-lot-entry input{min-height:40px!important}#inventory-lot-dialog{width:min(940px,calc(100vw - 32px))!important;max-width:940px!important;border:0!important;border-radius:20px!important;background:var(--ui-surface)!important;box-shadow:0 28px 80px rgba(24,34,21,.22)!important}#inventory-lot-dialog::backdrop,dialog::backdrop{background:rgba(25,34,22,.44)!important;backdrop-filter:blur(3px)}#inventory-lot-dialog .lot-inventory-row{grid-template-columns:minmax(115px,1fr) 150px 96px minmax(260px,1.25fr)!important;gap:10px!important;padding:13px 0!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}.lot-inventory-move{background:#f6f8f3!important;border-radius:11px!important}
/* Diálogos/formularios */
dialog{border:0!important;background:var(--ui-surface)!important;box-shadow:0 28px 80px rgba(25,35,22,.22)!important}.dialog-form{padding:22px!important}.dialog-form>.panel-head{position:sticky!important;top:-22px!important;z-index:4!important;margin:-22px -22px 18px!important;padding:18px 22px 14px!important;border-bottom:1px solid var(--ui-line)!important;background:rgba(255,254,250,.96)!important;backdrop-filter:blur(10px)}#product-dialog{width:min(900px,calc(100vw - 32px))!important;max-width:900px!important;border-radius:21px!important}.image-upload-box{border:1px solid var(--ui-line)!important;border-radius:15px!important;background:#fafbf7!important}.dialog-actions{position:sticky!important;bottom:-22px!important;z-index:4!important;margin:20px -22px -22px!important;padding:12px 22px 18px!important;border-top:1px solid var(--ui-line)!important;background:rgba(255,254,250,.96)!important;backdrop-filter:blur(10px)}
/* Proveedores/categorías */
.suppliers-list,.categories-list{gap:0!important;border-top:1px solid var(--ui-line)!important}.supplier-card{grid-template-columns:52px minmax(0,1fr) auto!important;padding:13px 2px!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}.supplier-visible-note{margin-top:7px!important;padding:7px 0!important;border:0!important;border-top:1px dashed var(--ui-line)!important;border-radius:0!important;background:transparent!important;font-size:10.5px!important}.supplier-comparison-help{padding:9px 0!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important;font-size:10.5px!important}.category-row{grid-template-columns:46px minmax(130px,1fr) 100px 50px minmax(150px,auto) auto 36px!important;gap:9px!important;padding:12px 2px!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}.category-row input{min-height:40px!important;font-size:11px!important}.category-create-card{position:sticky!important;top:88px!important}
/* Conteo, compras, reportes */
.stocktake-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:16px 0!important;border-block:1px solid var(--ui-line)!important}.stocktake-stat{padding:12px 14px!important;border:0!important;border-right:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important}.stocktake-stat:last-child{border-right:0!important}.stocktake-input{text-align:center!important;font-size:15px!important;font-weight:750!important}.check-list{gap:0!important;border-top:1px solid var(--ui-line)!important}.check-row{padding:12px 2px!important;border:0!important;border-bottom:1px solid var(--ui-line2)!important;border-radius:0!important;background:transparent!important}#view-reports .content-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.report-card{min-height:180px!important;display:flex!important;flex-direction:column!important}.report-card .btn{margin-top:auto!important;align-self:flex-start!important}
/* Mensajes y decisiones previas */
#toast.toast{top:max(12px,env(safe-area-inset-top))!important;left:50%!important;right:auto!important;bottom:auto!important;width:min(520px,calc(100vw - 24px))!important;border-radius:15px!important;transform:translate(-50%,-145%)!important}#toast.toast.show{transform:translate(-50%,0)!important}#network-banner.network-banner:not([hidden]){top:max(12px,env(safe-area-inset-top))!important;left:50%!important;width:min(570px,calc(100vw - 24px))!important;transform:translateX(-50%)!important;border-radius:14px!important}button[data-view="invoices"],#view-invoices,#sale-discount,#sale-discount.closest-hidden-fallback,.milo-hidden-discount{display:none!important}
@media(max-width:1180px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pos-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.8fr)!important}}
@media(max-width:900px){.app-shell{grid-template-columns:210px minmax(0,1fr)!important}.sidebar{width:210px!important}.workspace{padding:20px 16px 40px!important}.pos-layout{grid-template-columns:1fr!important}.cart-panel{position:static!important;max-height:none!important}#view-dashboard .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#view-dashboard .metric:nth-child(2){border-right:0!important}#view-dashboard .metric:nth-child(-n+2){border-bottom:1px solid var(--ui-line)!important}#view-reports .content-grid{grid-template-columns:1fr!important}.category-create-card{position:static!important}}
@media(max-width:700px){html,body{overflow-x:hidden}.app-shell:not([hidden]){display:block!important}.workspace{padding:10px 9px calc(30px + env(safe-area-inset-bottom))!important}.sidebar{width:min(86vw,330px)!important}.topbar{margin:-2px -2px 13px!important;padding:9px 3px!important}.topbar h2{font-size:20px!important}.topbar .eyebrow{display:none!important}.panel{padding:14px!important;border-radius:15px!important}.actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.actions>*{width:100%!important}#view-dashboard .content-grid{grid-template-columns:1fr!important;gap:7px!important}#view-dashboard .content-grid>.panel{padding:14px 0!important}#view-dashboard .content-grid>.panel:first-child,#view-dashboard .content-grid>.panel:last-child{padding-inline:0!important}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.product-card .product-media{height:112px!important}.cart-row{grid-template-columns:minmax(0,1fr) 70px minmax(68px,auto) 42px!important;gap:7px!important}.cart-row>div{grid-column:1/-1!important}.cart-panel #checkout-btn{position:sticky!important;bottom:calc(7px + env(safe-area-inset-bottom))!important;z-index:3!important}.inventory-health{grid-template-columns:1fr 1fr!important}.mobile-cards{overflow:visible!important;border:0!important}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block!important;width:100%!important}.mobile-card-table thead{display:none!important}.mobile-card-table tr{margin:0!important;padding:11px 0!important;border:0!important;border-bottom:1px solid var(--ui-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.mobile-card-table td{display:grid!important;grid-template-columns:100px minmax(0,1fr)!important;gap:9px!important;padding:7px 0!important;border-bottom:1px solid var(--ui-line2)!important;text-align:right!important}.mobile-card-table td:first-child{display:block!important;text-align:left!important}.mobile-card-table .table-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.mobile-card-table .table-actions button{width:100%!important}.stocktake-summary{grid-template-columns:1fr 1fr!important}.categories-layout,.suppliers-layout{grid-template-columns:1fr!important}.category-row{grid-template-columns:46px minmax(0,1fr) 74px 44px!important}.category-row .category-media-actions{grid-column:2/5!important}.supplier-card{grid-template-columns:50px minmax(0,1fr)!important}.supplier-card-actions{grid-column:1/-1!important}#inventory-lot-dialog,dialog{width:100dvw!important;max-width:100dvw!important;max-height:94dvh!important;margin:auto 0 0!important;border-radius:22px 22px 0 0!important}.lot-inventory-row{grid-template-columns:1fr!important}.dialog-form{padding:17px 13px calc(17px + env(safe-area-inset-bottom))!important}.dialog-form>.panel-head{top:-17px!important;margin:-17px -13px 15px!important;padding:16px 13px 12px!important}.dialog-actions{margin:18px -13px -17px!important;padding:10px 13px calc(13px + env(safe-area-inset-bottom))!important}}
@media(max-width:390px){.product-grid,.store-statistics{grid-template-columns:1fr!important}.store-stat:nth-child(odd){border-right:0!important}.mobile-card-table td{grid-template-columns:88px minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
