﻿/* ============================================================ */
/* ESTILOS PREMIUM TOUCH POS: CALCULADORA Y TECLADO VIRTUAL     */
/* ============================================================ */
.pos-calculator-card {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99999;
  width: 310px;
  background: rgba(15, 23, 42, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(56, 189, 248, 0.3);
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 15px rgba(56, 189, 248, 0.15);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  user-select: none;
  touch-action: none;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.pos-calculator-card:active {
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 20px rgba(56, 189, 248, 0.25);
}
.pos-calc-header {
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: grab;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.pos-calc-header:active {
  cursor: grabbing;
}
.pos-calc-title {
  font-size: 12px;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pos-calc-title .grip-icon {
  font-size: 14px;
  color: #64748b;
}
.pos-calc-close {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  width: 28px;
  height: 28px;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.pos-calc-close:hover, .pos-calc-close:active {
  background: #ef4444;
  color: #fff;
}

.pos-calc-body {
  padding: 14px;
}
.pos-calc-screen {
  background: #020617;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.8);
  text-align: right;
}
.pos-calc-history {
  min-height: 16px;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  font-family: 'JetBrains Mono', monospace, sans-serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pos-calc-input {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  color: #38bdf8;
  font-size: 28px;
  font-weight: 800;
  text-align: right;
  font-family: 'JetBrains Mono', monospace, sans-serif;
  letter-spacing: 0.5px;
  box-sizing: border-box;
}

.pos-calc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.pos-calc-memory{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px}
.pos-calc-memory .btn-calc{height:34px;font-size:12px}
.btn-memory{background:#172554;color:#bfdbfe;border-color:#1d4ed8}
.btn-memory:hover{background:#1d4ed8;color:#fff}
.pos-calc-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:10px}
.pos-calc-actions .btn-calc{height:42px;font-size:11px;letter-spacing:.5px}
.btn-history{background:#334155;color:#e2e8f0}
.btn-history:hover{background:#475569}
.btn-print{background:#0f766e;color:#fff;border-color:#115e59}
.btn-print:hover{background:#115e59}
.pos-calc-history-list{max-height:86px;overflow-y:auto;margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:7px;color:#cbd5e1;font:11px 'JetBrains Mono',monospace}
.pos-calc-history-list div{display:flex;justify-content:space-between;gap:12px;padding:3px 2px}
.pos-calc-history-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-calc-history-list strong{color:#5eead4;white-space:nowrap}
.btn-calc {
  height: 52px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.08s ease, filter 0.15s ease;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
.btn-calc:active {
  transform: scale(0.93);
}
.btn-num {
  background: #334155;
  color: #f8fafc;
}
.btn-num:hover { background: #475569; }
.btn-op {
  background: #1e293b;
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.2);
  font-size: 20px;
}
.btn-op:hover { background: #0284c7; color: #fff; }
.btn-danger {
  background: rgba(220, 38, 38, 0.2);
  color: #f87171;
  border-color: rgba(220, 38, 38, 0.4);
}
.btn-danger:hover { background: #dc2626; color: #fff; }
.btn-warn {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.4);
}
.btn-warn:hover { background: #f59e0b; color: #fff; }
.btn-equal {
  grid-row: span 2;
  height: 100%;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #fff;
  font-size: 24px;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4);
}
.btn-equal:hover { filter: brightness(1.15); }
.btn-zero {
  grid-column: span 2;
}

/* TECLADO VIRTUAL ELEGANTE */
#virtual-keyboard {
  background: rgba(15, 23, 42, 0.97) !important;
  backdrop-filter: blur(20px) !important;
  border-top: 2px solid #38bdf8 !important;
  box-shadow: 0 -10px 40px rgba(0,0,0,0.8) !important;
  padding: 12px !important;
}
#virtual-keyboard .kb-toolbar {
  background: #0f172a !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  margin-bottom: 10px !important;
  color: #38bdf8 !important;
}
#virtual-keyboard .kb-row button {
  background: #1e293b !important;
  color: #f8fafc !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3) !important;
  transition: transform 0.08s ease !important;
}
#virtual-keyboard .kb-row button:active {
  transform: scale(0.92) !important;
  background: #38bdf8 !important;
  color: #0f172a !important;
}
#virtual-keyboard .kb-enter {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #fff !important;
}
#virtual-keyboard .kb-off {
  background: #ef4444 !important;
  color: #fff !important;
}
</style>
