/* POS Restaurante V2.3.10 - Fondo contrastado y contenedores resaltados
   Se carga al final para mejorar contraste sin alterar la logica del sistema. */
:root{
  --hc-bg:#dce3ea;
  --hc-surface:#ffffff;
  --hc-surface-soft:#f4f7fa;
  --hc-text:#0f172a;
  --hc-muted:#475569;
  --hc-muted-2:#5b6877;
  --hc-border:#b9c5d1;
  --hc-border-soft:#c4ced8;
  --hc-primary:#075fb7;
  --hc-primary-dark:#064b90;
  --hc-primary-soft:#e9f2fb;
  --hc-success:#147a3f;
  --hc-success-dark:#0f5d30;
  --hc-success-soft:#e6f6ec;
  --hc-danger:#b42318;
  --hc-danger-dark:#8f1c13;
  --hc-danger-soft:#fdeceb;
  --hc-warning:#8a5600;
  --hc-warning-soft:#fff3d6;
  --hc-dark:#111c2a;
  --hc-disabled-bg:#d7dee6;
  --hc-disabled-text:#465466;
  --hc-focus:rgba(7,95,183,.22);
}

html{color-scheme:light}
body{
  background:var(--hc-bg)!important;
  color:var(--hc-text)!important;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body,button,input,select,textarea{color:var(--hc-text)}

/* V2.3.10: mayor separacion entre fondo y superficies */
main,.page,.app-main,.dashboard-page,.admin-page,.settings-page,.reports-page,.invoice-page,.menu-page{
  background:transparent!important;
}
.content,.page-content,.main-content,.workspace,.pos-shell,.admin-shell,.settings-shell,.report-shell,.invoice-shell{
  background:transparent!important;
}
.catalog-panel,.order-panel,.pending-section,.admin-card,.stat-card,.module-card,
.dashboard-clock,.report-table-card,.status-panel,.invoice-card,
.order-summary-box,.login-card,.kitchen-card{
  border-color:#bcc7d2!important;
  box-shadow:0 8px 22px rgba(15,23,42,.12)!important;
}
/* Grandes zonas que antes se confundian con el fondo */
.catalog-panel,.order-panel,.pending-section,.admin-card,.report-table-card,.invoice-card{
  background:#fff!important;
}
button,input,select,textarea{font-weight:500}
a{color:var(--hc-primary)}
p,small,.field-help{color:var(--hc-muted)!important}

/* Barra superior */
.topbar{
  background:var(--hc-dark)!important;
  color:#fff!important;
  border-bottom:1px solid #26384c;
  box-shadow:0 3px 12px rgba(15,23,42,.22)!important;
}
.topbar strong{color:#fff!important;font-weight:800}
.topbar small{color:#e2e8f0!important;font-weight:500}
.topbar .ghost,.topbar .nav-link{
  color:#fff!important;
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.topbar .ghost:hover,.topbar .nav-link:hover{background:rgba(255,255,255,.2)!important}
.network-badge{background:#157a40!important;color:#fff!important;font-weight:800}
.network-badge.offline{background:#b42318!important}.sync-badge{color:#fff!important;background:#334155!important}

/* Tarjetas, paneles y contenedores */
.catalog-panel,.order-panel,.pending-section,.admin-card,.stat-card,.module-card,
.dashboard-clock,.report-table-card,.status-panel,.invoice-card,
.order-summary-box,.login-card,.kitchen-card{
  background:var(--hc-surface)!important;
  border:1px solid var(--hc-border-soft)!important;
  box-shadow:0 7px 20px rgba(15,23,42,.11)!important;
}
.admin-card h1,.admin-card h2,.section-heading h2,.panel-title h2,
.dashboard-welcome h1,.settings-hero h1,.report-toolbar h1,
.invoice-heading h1,.section-title h2{color:var(--hc-text)!important}
.dashboard-welcome p,.settings-hero p,.report-toolbar p,.section-heading p{color:var(--hc-muted)!important}
.eyebrow,.invoice-eyebrow{color:var(--hc-primary)!important;font-weight:900!important}

/* Formularios */
input,select,textarea,
.admin-card input,.admin-card select,.admin-card textarea,.section-heading input,
.settings-form input,.settings-form select,.settings-form textarea,
.order-controls select,.order-controls textarea,.search-row input,
.field input,.field select,.modal-label input{
  background:#fff!important;
  color:var(--hc-text)!important;
  border:1.5px solid var(--hc-border)!important;
  border-radius:10px;
}
input::placeholder,textarea::placeholder{color:#667587!important;opacity:1!important}
input:hover,select:hover,textarea:hover{border-color:#8797a8!important}
input:focus,select:focus,textarea:focus,.pin-input:focus{
  outline:none!important;
  border-color:var(--hc-primary)!important;
  box-shadow:0 0 0 3px var(--hc-focus)!important;
}
label,.admin-card label,.settings-form label,.modal-label,.field>span{
  color:#334155!important;
  font-weight:650!important;
}
select:disabled,input:disabled,textarea:disabled{
  background:#e8edf2!important;
  color:#48576a!important;
  opacity:1!important;
}

/* Botones */
.primary,.pending-card>button,.invoice-submit{
  background:var(--hc-primary)!important;
  color:#fff!important;
  border:1px solid var(--hc-primary-dark)!important;
  font-weight:800!important;
  box-shadow:0 2px 4px rgba(7,95,183,.18);
}
.primary:hover:not(:disabled),.pending-card>button:hover:not(:disabled),.invoice-submit:hover:not(:disabled){background:var(--hc-primary-dark)!important}
.secondary,.link-btn,.invoice-cancel{
  background:#e5ebf1!important;
  color:#172235!important;
  border:1px solid #c4cfda!important;
  font-weight:700!important;
}
.secondary:hover,.invoice-cancel:hover{background:#d8e1ea!important}
.link-btn{color:var(--hc-primary)!important;background:transparent!important;border-color:transparent!important}
.link-btn.danger{color:var(--hc-danger)!important}
.danger-btn{background:var(--hc-danger)!important;border:1px solid var(--hc-danger-dark)!important;font-weight:800!important}
.success-btn{background:var(--hc-success)!important;border:1px solid var(--hc-success-dark)!important;font-weight:800!important}
button:disabled,.primary:disabled,.invoice-submit:disabled,.pending-card>button:disabled{
  opacity:1!important;
  background:var(--hc-disabled-bg)!important;
  color:var(--hc-disabled-text)!important;
  border-color:#b7c1cc!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}
button:focus-visible,a:focus-visible,.category-btn:focus-visible,.product-card:focus-visible,.customer-type-card:focus-within{
  outline:3px solid rgba(7,95,183,.28)!important;
  outline-offset:2px!important;
}

/* POS / catalogo */
.cash-strip{background:#f8fafc!important;color:#1f2937!important;border-bottom-color:var(--hc-border)!important;font-weight:600}
.cash-strip .link-btn{font-weight:850!important}
.category-btn{border-color:var(--hc-border)!important;color:#253247!important;background:#fff!important;font-weight:700!important}
.category-btn.active{background:var(--hc-dark)!important;color:#fff!important;border-color:var(--hc-dark)!important}
.product-card{border:1.5px solid #c9d3dd!important;color:var(--hc-text)!important;background:#fff!important}
.product-card:hover{border-color:var(--hc-primary)!important;box-shadow:0 5px 14px rgba(7,95,183,.12)!important}
.product-card strong{color:var(--hc-text)!important;font-weight:800!important}.product-card span{color:var(--hc-muted)!important}.product-card b{color:var(--hc-primary)!important}
.product-card:disabled{opacity:.64!important;background:#edf1f4!important;color:#526172!important}
.empty{color:#526172!important;background:#f2f5f8!important;border:1px dashed #c5d0db}
.cart-row small,.pending-card span{color:var(--hc-muted)!important}.qty button{background:#dfe7ef!important;color:#142033!important;border:1px solid #c2ced9!important}
.order-total{border-color:#d4dce5!important}.order-total strong{color:#0b1728!important}
.pending-card{border-color:#cbd5df!important;background:#fff!important}.pending-total{color:#0f172a!important}

/* Productos / admin */
.admin-product{border-color:#c8d3de!important;background:#fff!important}
.admin-product span{color:var(--hc-muted)!important}
.admin-product.inactive{opacity:.78!important;background:#e9eef3!important}
.admin-product.inactive strong{color:#334155!important}
.quick-create{border-color:#d5dee7!important}
.availability-box{background:#f4f7fa!important;border-color:#bdc9d5!important}
.availability-head strong{color:#172235!important}.availability-head small,.availability-hint{color:var(--hc-muted)!important}
.everyday-check{border-color:#b9c5d1!important;color:#233145!important}
.weekday-picker span{border-color:#b9c5d1!important;color:#334155!important;font-weight:800!important}
.weekday-picker input:checked+span{background:var(--hc-primary)!important;color:#fff!important;border-color:var(--hc-primary-dark)!important}
.days-summary{color:var(--hc-primary)!important;font-weight:750!important}

/* Dashboard / reportes / usuarios */
.stat-card span,.module-card p,.recent-row span,.user-row small{color:var(--hc-muted)!important}
.stat-card strong,.module-card h3,.recent-row strong,.user-row strong{color:var(--hc-text)!important}
.module-card{color:var(--hc-text)!important}.module-icon{background:#e5eef8!important;color:var(--hc-primary)!important}
.data-table,.report-table-card table{color:var(--hc-text)!important}.data-table th,.report-table-card th{background:#e8edf3!important;color:#1e293b!important;font-weight:800!important;border-color:#cbd5df!important}
.data-table td,.report-table-card td{color:#243244!important;border-color:#d5dee7!important}.data-table tbody tr:nth-child(even),.report-table-card tbody tr:nth-child(even){background:#f7f9fb!important}
.table-empty{color:var(--hc-muted)!important}
.status-pill{background:#fff0c7!important;color:#6b4700!important;border:1px solid #e8cc78!important;font-weight:800!important}.status-pill.ok{background:#e3f6e9!important;color:#125c31!important;border-color:#b8dfc5!important}
.user-avatar{background:#dfeaf5!important;color:#164e80!important;font-weight:900!important}

/* Cocina */
.kitchen-page{background:var(--hc-bg)!important}.kitchen-card header{background:#f3f6f9!important}.kitchen-card header span{color:var(--hc-muted)!important}.kitchen-card time{background:#e3e9ef!important;color:#1f2937!important}.kitchen-items{color:#111827!important}.order-note{background:#fff1c9!important;color:#5c4300!important;border:1px solid #e7cf83!important}.kitchen-card footer button{background:#1769a6!important}.kitchen-card footer button.ready{background:var(--hc-success)!important}

/* Alertas */
.warning-box,.fiscal-warning{
  background:var(--hc-warning-soft)!important;
  color:#634200!important;
  border:1px solid #e6c66c!important;
}
.warning-box *,.fiscal-warning strong,.fiscal-warning p{color:#634200!important}
.final-simple-panel{background:var(--hc-success-soft)!important;border-color:#acd8ba!important}.final-simple-panel strong{color:#105e30!important}.final-simple-panel p,.final-simple-panel small{color:#315d42!important}
.fiscal-status{background:#eef2f6!important;border-color:#c4d0dc!important}.fiscal-status strong{color:#172235!important}.fiscal-status span{color:#4a5a6b!important}
.fiscal-status.ok{background:#e6f6ec!important;border-color:#b4ddc1!important}.fiscal-status.warn{background:#fff3d6!important;border-color:#e4c56b!important}.fiscal-status.error{background:#fdeceb!important;border-color:#e8aaa4!important}
.fiscal-status.warn strong,.fiscal-status.warn span{color:#684600!important}.fiscal-status.error strong,.fiscal-status.error span{color:#7b2018!important}

/* Factura V2.3.8 */
.invoice-heading p{color:var(--hc-muted)!important}.order-summary-box span{color:#556579!important}.order-summary-box strong{color:#172235!important}.order-summary-box small{color:#5b6877!important}
.order-total-box{background:var(--hc-dark)!important;border-color:var(--hc-dark)!important}.order-total-box span,.order-total-box strong{color:#fff!important}
.section-title>span{background:#dcebf8!important;color:#0756a4!important}.section-title p{color:var(--hc-muted)!important}
.customer-type-card{border-color:#bbc7d2!important;background:#fff!important}.customer-type-card:hover{border-color:#6f9dc6!important;background:#f6faff!important}.customer-type-card.selected{border-color:var(--hc-primary)!important;background:#e9f3fc!important;box-shadow:0 0 0 3px rgba(7,95,183,.12)!important}
.type-copy strong{color:#172235!important}.type-copy small{color:#526172!important}.type-check{background:#d6dee7!important}.customer-type-card.selected .type-check{background:var(--hc-primary)!important}
.settings-link{color:var(--hc-primary)!important;border:1px solid #c0ccd7!important;background:#fff!important}
.required-mark{color:var(--hc-danger)!important}

/* Modales de cobro/caja */
#paymentModal .modal-card,#cashGate .modal-card,#cashCloseModal .modal-card{border:1px solid #cbd5df!important;color:var(--hc-text)!important}
#paymentModal .modal-x{background:#dde5ed!important;color:#1e293b!important;border:1px solid #c5d0db!important}
#paymentModal .payment-balance{background:#eaf0f5!important;border:1px solid #c8d3de!important}.payment-balance span{color:#3f4f61!important}.payment-balance strong{color:#101b2b!important}
#paymentModal .method-label{color:#334155!important}.pay-method,#paymentModal .pay-method{border-color:#b8c5d1!important;color:#26364a!important}.pay-method.active,#paymentModal .pay-method.active{border-color:var(--hc-primary)!important;background:#e7f2fc!important;color:#074f97!important}
.change-box,#paymentModal .change-box{background:#e4f5ea!important;border:1px solid #b2ddc0!important}.change-box span{color:#275d3b!important}.change-box strong{color:#0e6833!important}
.payment-message{color:#435366!important}.payment-message.error{color:#9c2118!important;font-weight:650!important}

/* Login */
.login-page{background:linear-gradient(135deg,#edf2f7,#dce5ee)!important}.login-card p{color:#4c5b6b!important}.pin-input{border-color:#aebdca!important;color:#0f172a!important}.login-error{color:#9f2118!important;font-weight:650}

/* Toast */
.toast{background:#172235!important;color:#fff!important;border:1px solid #334155!important}.toast.error{background:#8f1c13!important}

@media(max-width:620px){
  body{font-size:15px}
  .topbar small{font-size:12px}
  input,select,textarea{font-size:16px!important} /* evita zoom automatico en iOS y mejora lectura */
  .secondary,.primary,.ghost,.invoice-cancel,.invoice-submit{min-height:44px}
}
