:root{
  --bg:#f6efe6;--paper:#fffaf5;--paper2:#f0e2d3;--ink:#33271f;--muted:#806e61;
  --brand:#6d3f2a;--brand2:#b88462;--ice:#e9f5f5;--ok:#3f7d61;--danger:#a5463c;--line:#e4d2c2;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(140deg,var(--bg),#fbf8f4);color:var(--ink)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(420px,100%);background:rgba(255,250,245,.96);border:1px solid var(--line);padding:34px;border-radius:28px;box-shadow:0 24px 70px #6d3f2a1f}
.logo{font-family:Georgia,serif;letter-spacing:.04em}.logo.big{font-size:36px}.login-card p{color:var(--muted)}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--brand2);box-shadow:0 0 0 3px #b8846220}
label{display:block;font-size:12px;color:var(--muted);margin:12px 0 6px;font-weight:700}
.btn{border:0;border-radius:13px;padding:11px 15px;background:var(--brand);color:white;font-weight:800;cursor:pointer}
.btn.secondary{background:var(--paper2);color:var(--ink)}.btn.danger{background:var(--danger)}.btn.ok{background:var(--ok)}
.btn.small{padding:7px 10px;font-size:12px}.btn.block{width:100%;margin-top:16px}
.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}
.sidebar{background:#2f241e;color:#fff;padding:24px 16px;position:sticky;top:0;height:100vh}
.sidebar .logo{font-size:25px;margin:0 10px 24px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#d8c8bc;text-align:left;padding:12px 13px;border-radius:12px;cursor:pointer;font-weight:700}
.nav button:hover,.nav button.active{background:#ffffff12;color:white}.sidebar-foot{position:absolute;bottom:20px;left:16px;right:16px;color:#bba99c;font-size:12px}
.main{padding:25px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}.topbar h1{margin:0;font-size:28px}.topbar .user{display:flex;gap:10px;align-items:center}
.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,250,245,.96);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 30px #6d3f2a0d}
.stat .value{font-size:28px;font-weight:900;margin-top:6px}.muted{color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:11px;text-transform:uppercase}
.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--paper2);font-size:11px;font-weight:800}.badge.low{background:#f7d9d4;color:#7e2f28}.badge.ok{background:#dceee5;color:#2e664e}
.pos-layout{display:grid;grid-template-columns:1fr 390px;gap:16px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.product{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff;cursor:pointer}.product:hover{border-color:var(--brand2);transform:translateY(-1px)}.product strong{display:block}.price{font-weight:900;color:var(--brand);margin-top:8px}
.cart{position:sticky;top:20px;align-self:start}.cart-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.total{font-size:28px;font-weight:900;text-align:right;margin:18px 0}.row{display:flex;gap:10px;align-items:end}.row>*{flex:1}.row .fit{flex:0 0 auto}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar input{max-width:340px}
.modal-back{position:fixed;inset:0;background:#2a211bbf;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:24px;padding:22px}.modal h2{margin-top:0}
.flavors{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.flavor{border:1px solid var(--line);border-radius:12px;padding:10px;background:white;cursor:pointer}.flavor.selected{background:var(--brand);color:white;border-color:var(--brand)}
.alert{padding:12px 14px;border-radius:13px;background:#f7d9d4;color:#7e2f28;margin:10px 0}.success{background:#dceee5;color:#2e664e}
.kpi-bar{height:10px;background:var(--paper2);border-radius:20px;overflow:hidden}.kpi-bar span{display:block;height:100%;background:var(--brand)}
.receipt{max-width:430px;margin:auto;background:white;border:1px dashed #aaa;padding:24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.receipt h2{text-align:center}.receipt .line{border-top:1px dashed #999;margin:13px 0}.receipt .rrow{display:flex;justify-content:space-between;gap:10px}
@media(max-width:1000px){.app{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.sidebar .logo{font-size:0}.sidebar .logo:after{content:"❄️";font-size:28px}.nav button{font-size:0;text-align:center}.nav button:before{font-size:20px}.grid.stats{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:1fr}.cart{position:static}}
@media(max-width:680px){.app{display:block}.sidebar{position:fixed;z-index:15;left:0;right:0;bottom:0;top:auto;height:auto;display:flex;padding:8px;overflow:auto}.sidebar .logo,.sidebar-foot{display:none}.nav{display:flex}.nav button{font-size:11px;white-space:nowrap}.main{padding:18px 14px 90px}.grid.stats{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.topbar .user span{display:none}}
/* V4.1 admin polish */
button,.btn{transition:.16s ease}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn:active{transform:none}
.settingsWrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.settingsWrap>.card{margin:0}.settingsWrap .card h3{margin-top:0}.settingsSave{grid-column:1/-1;position:sticky;bottom:14px;display:flex;gap:10px;background:#fffaf5e8;backdrop-filter:blur(12px);border:1px solid var(--line);padding:12px;border-radius:18px;box-shadow:0 14px 34px #34261f18;z-index:5}.settingsSave .btn{flex:1;text-align:center;text-decoration:none}
.modal .btn,.toolbar .btn{display:inline-flex;align-items:center;justify-content:center}
.success{background:#dceee5;color:#2e664e}
input[type="color"]{height:46px;padding:5px}
@media(max-width:900px){.settingsWrap{grid-template-columns:1fr}.settingsSave{grid-column:1}}

.catalogHero{display:flex;justify-content:space-between;align-items:center;gap:16px}.tableScroll{overflow:auto}.tableScroll table{min-width:850px}@media(max-width:680px){.catalogHero{align-items:stretch;flex-direction:column}.catalogHero .btn{width:100%}}

/* V4.3 Central de pedidos */
.order-alert-center{position:fixed;right:18px;top:18px;z-index:80;display:flex;align-items:center;gap:12px;max-width:620px;background:#2f241e;color:white;border:2px solid #d7b28f;border-radius:20px;padding:13px 14px;box-shadow:0 18px 55px #0005;animation:orderPulse 1.2s infinite alternate}
.order-alert-icon{font-size:27px}.order-alert-copy{display:grid;min-width:180px}.order-alert-copy span{font-size:12px;color:#e8d8cc}
@keyframes orderPulse{from{box-shadow:0 16px 45px #0004}to{box-shadow:0 16px 55px #a5463c88}}
.orders-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.orders-head h3{margin:0}.order-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.order-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:0 10px 28px #6d3f2a0b}.order-card.order-new{border:2px solid #a5463c;background:#fff7f4}.order-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.order-number{font-size:18px;font-weight:900;margin-right:8px}.order-total{font-size:20px}.order-address{margin:10px 0;padding:9px;border-radius:10px;background:#f2e7dc}.order-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.order-card-actions a{text-decoration:none}
.status-new{background:#f7d9d4;color:#7e2f28}.status-accepted{background:#f6e9ba;color:#705c1b}.status-preparing{background:#e6def7;color:#59437e}.status-ready{background:#dceee5;color:#2e664e}
.detail-items{display:grid;gap:8px;margin:16px 0}.detail-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-item small{display:block;color:var(--muted);margin-top:3px}
.admin-print-ticket{display:none}
@media print{
  body.printing-ticket *{visibility:hidden!important}
  body.printing-ticket #adminPrintTicket,body.printing-ticket #adminPrintTicket *{visibility:visible!important}
  body.printing-ticket #adminPrintTicket{display:block!important;position:absolute;left:0;top:0;width:58mm;padding:3mm;color:#000;background:#fff;font-family:Arial,sans-serif;font-size:10px}
  #adminPrintTicket .t-center{text-align:center}#adminPrintTicket .t-brand{font-size:16px}#adminPrintTicket hr{border:0;border-top:1px dashed #000;margin:8px 0}
  #adminPrintTicket .t-item{position:relative;padding:5px 0}#adminPrintTicket .t-right{text-align:right;font-weight:700}#adminPrintTicket .t-flavors{font-size:9px;margin:3px 0}
  #adminPrintTicket .t-total{display:flex;justify-content:space-between;font-size:15px;font-weight:900}#adminPrintTicket .t-pay{text-align:right;font-size:9px}#adminPrintTicket .t-small{font-size:8px;margin-top:8px}
}
@media(max-width:760px){.order-board{grid-template-columns:1fr}.order-alert-center{left:10px;right:10px;top:10px;flex-wrap:wrap}.orders-head{align-items:stretch;flex-direction:column}}

.systemSafeCard{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:15px}.systemSafeCard>a,.systemSafeCard>small{grid-column:1/-1}.systemSafeCard small{font-size:10px;color:var(--muted);word-break:break-all}.systemStats{display:flex;gap:8px;flex-wrap:wrap}.systemStats b{background:#eef6f0;color:#2e664e;padding:7px 9px;border-radius:10px;font-size:11px}@media(max-width:700px){.systemSafeCard{grid-template-columns:1fr}}

/* V5.1 proveedores */
.supplierHeader{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.supplierHeader h3{margin:0}.supplierGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.supplierCard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}.supplierTop{display:flex;justify-content:space-between;gap:10px}.supplierTop>div{display:grid}.supplierTop span{font-size:11px;color:var(--muted)}.supplierBalance{font-size:11px;font-weight:900;padding:7px 9px;border-radius:10px;height:max-content}.supplierBalance.debt,.supplierBigBalance.debt{background:#f9dfdb;color:#842e26}.supplierBalance.ok,.supplierBigBalance.ok{background:#dceee5;color:#2e664e}.supplierNumbers{display:flex;gap:12px;margin:12px 0;font-size:11px}.supplierNumbers span{display:grid}.supplierActions{display:flex;gap:7px;flex-wrap:wrap}.supplierAccountHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.supplierBigBalance{display:grid;text-align:right;border-radius:14px;padding:10px 12px;font-size:10px}.supplierBigBalance b{font-size:20px}.supplierLedger{display:grid;gap:7px}.ledgerRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px}.ledgerRow>div{display:grid}.ledgerRow span{font-size:10px;color:var(--muted)}.remAddLine{display:grid;grid-template-columns:minmax(0,1fr) 100px 120px auto;gap:7px;margin:12px 0}.remLine{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.remLine>div{display:grid}.remLine span{font-size:10px;color:var(--muted)}.remTotal{text-align:right;font-size:16px;padding:13px 0}.remTotal b{font-size:21px;margin-left:10px}

/* V5.1 ticket térmico: sin elementos posicionados que puedan pisarse */
.admin-print-ticket{display:none}
@media print{
  @page{margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body.printing-ticket>*:not(#adminPrintTicket){display:none!important}
  body.printing-ticket #adminPrintTicket{display:block!important;width:58mm!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important}
  .thermal58{width:54mm!important;margin:0 auto!important;padding:3mm 2mm 5mm!important;box-sizing:border-box!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9.5px!important;line-height:1.28!important;color:#000!important;overflow:visible!important}
  .thermal58 *{box-sizing:border-box!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;position:static!important}
  .ticketHeader{text-align:center!important}.ticketBrand{font-size:15px!important;font-weight:900!important;margin-bottom:2px!important}.ticketOrder{font-size:13px!important;font-weight:900!important;margin-top:6px!important}
  .ticketRule{border-top:1px dashed #000!important;margin:7px 0!important;height:0!important}
  .ticketMeta{display:grid!important;gap:3px!important}.ticketMeta>div{display:grid!important;grid-template-columns:12mm minmax(0,1fr)!important;gap:2mm!important}.ticketMeta b{font-weight:900!important}
  .ticketItems{display:grid!important;gap:6px!important}.ticketItem{break-inside:avoid!important}.ticketItemHead{display:grid!important;grid-template-columns:minmax(0,1fr) 16mm!important;gap:2mm!important;align-items:start!important}.ticketItemHead b{text-align:right!important}.ticketFlavors{font-size:8.5px!important;margin-top:2px!important;padding-right:1mm!important}
  .ticketTotal{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2mm!important;font-size:14px!important;font-weight:900!important}.ticketPayments>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2mm!important;margin-top:2px!important}.ticketNotes{font-size:9px!important}.ticketFooter{text-align:center!important;font-weight:700!important;margin-top:5px!important}
}
@media(max-width:760px){.supplierGrid{grid-template-columns:1fr}.supplierHeader,.supplierAccountHead{align-items:stretch;flex-direction:column}.remAddLine{grid-template-columns:1fr 1fr}.remAddLine select{grid-column:1/-1}}

.payment-pending{background:#f6e6bc;color:#725a18}.payment-partial{background:#e5def5;color:#59437b}.payment-paid{background:#dceee5;color:#2e664e}
.paymentSummary{padding:9px 11px;border-radius:11px;margin:10px 0}.paymentSummary.pending{background:#fff3d8;color:#715816}.paymentSummary.partial{background:#eee8fa;color:#574176}.paymentSummary.paid{background:#e0f0e6;color:#2e664e}

.remitTypeTabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.remBuilder{margin:10px 0}.checkRow{display:flex!important;align-items:center;gap:8px!important;margin-top:10px}.checkRow input{width:auto!important}.remLinePro{grid-template-columns:auto minmax(0,1fr) auto auto!important}.remTypeBadge{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;align-self:center}.type-manual{background:#eee7df;color:#6c5848}.type-product{background:#dceee5;color:#2e664e}.type-flavor{background:#f2e2ec;color:#784b68}.remViewRow{grid-template-columns:minmax(0,1fr) auto!important}@media(max-width:600px){.remLinePro{grid-template-columns:auto 1fr auto!important}.remLinePro>b{grid-column:2}.remLinePro>button{grid-column:3;grid-row:1}}

.chatBox{max-height:340px;overflow:auto;display:grid;gap:8px;margin:12px 0;padding:8px;background:#f7f1eb;border-radius:14px}.chatMsg{max-width:86%;padding:10px 12px;border-radius:14px;background:white;border:1px solid var(--line)}.chatMsg.staff{margin-left:auto;background:#e8dfd5}.chatMsg.customer{margin-right:auto}.chatMsg b{display:block;font-size:11px}.chatMsg small{display:block;margin-top:5px;color:var(--muted);font-size:9px}

.ticketPaymentStatus{border:2px solid #000;padding:7px;margin:7px 0;display:grid;gap:5px}.ticketPaymentStatus>div{display:flex;justify-content:space-between;gap:8px}.ticketPaymentStatus strong{font-size:12px;text-align:right}

.proofAdminBox{margin:12px 0;padding:12px;border-radius:14px;border:1px solid var(--line);background:#f7f1eb}.proofAdminBox .row{margin-top:8px}.successText{font-size:11px;font-weight:700}

/* FIX MENU ADMIN PRODUCCION */
.sidebar{
    min-height:100vh !important;
    height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    position:sticky !important;
    top:0 !important;
    padding-bottom:70px !important;
    box-sizing:border-box !important;
}

.sidebar nav{
    padding-bottom:40px !important;
}

.sidebar .version,
.sidebar-version{
    position:static !important;
    display:block !important;
    margin:25px 16px 10px !important;
    font-size:11px !important;
}

@media (max-width:900px){
    .sidebar{
        min-height:100vh !important;
        height:100vh !important;
        overflow-y:auto !important;
    }
}
