
  /* ============================================================
     TEMA (DARK MODE) — los acentos se inyectan desde CONFIG.tema.
     Los neutros (fondo, paneles, texto) viven aqui abajo.
     ============================================================ */
  :root{
    --primario:#6366f1; --primario-2:#4f46e5; --acento:#22d3ee;
    --ok:#22c55e; --alerta:#ef4444; --warn:#f59e0b;
    --bg:#0a0f1d; --bg-2:#0e1525; --panel:#161f33; --panel-2:#111a2b;
    --texto:#eef2f9; --texto-2:#8b97ab; --borde:#26324c;
    --sidebar:#0c1322; --sidebar-2:#1a2540; --sidebar-txt:#aab6cc;
    --radio:16px; --radio-sm:11px;
    --sombra:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.30);
    --sombra-sm:0 2px 8px rgba(0,0,0,.25);
    --glow:0 0 0 1px rgba(99,102,241,.15),0 8px 30px rgba(99,102,241,.18);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%;margin:0;padding:0}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--texto); -webkit-font-smoothing:antialiased;
    height:100vh; overflow:hidden;
    background:
      radial-gradient(1200px 600px at 80% -10%, rgba(99,102,241,.10), transparent 60%),
      radial-gradient(900px 500px at -10% 110%, rgba(34,211,238,.07), transparent 55%),
      var(--bg);
  }
  #login-screen{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;}
  #main-app{display:flex;width:100%;height:100vh;overflow:hidden;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  input,select{font-family:inherit}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:var(--borde);border-radius:20px}
  ::-webkit-scrollbar-thumb:hover{background:#33425f}

  /* ===== SIDEBAR ===== */
  .sidebar{
    width:240px; color:var(--sidebar-txt);
    display:flex; flex-direction:column; flex-shrink:0; padding:18px 14px;
    border-right:1px solid var(--borde);
    background:linear-gradient(180deg,var(--sidebar),#0a1120);
  }
  .brand{display:flex;align-items:center;gap:12px;padding:8px 10px 22px}
  .brand .logo{
    width:46px;height:46px;border-radius:13px;flex-shrink:0;
    background:linear-gradient(135deg,var(--primario),var(--acento));
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-weight:800;font-size:18px;letter-spacing:.5px;
    background-size:cover;background-position:center;
    box-shadow:0 6px 18px rgba(99,102,241,.4);
  }
  .brand .bname{font-weight:700;color:#fff;font-size:15.5px;line-height:1.2}
  .brand .bsub{font-size:11px;color:var(--sidebar-txt);opacity:.7;margin-top:2px}
  .nav{display:flex;flex-direction:column;gap:4px;margin-top:6px}
  .nav button{
    display:flex;align-items:center;gap:12px;width:100%;text-align:left;
    color:var(--sidebar-txt);padding:12px 13px;border-radius:11px;font-size:14px;font-weight:500;
    transition:background .15s,color .15s,transform .1s;position:relative;
  }
  .nav button svg{width:19px;height:19px;flex-shrink:0;opacity:.85}
  .nav button:hover{background:var(--sidebar-2);color:#fff}
  .nav button:active{transform:scale(.98)}
  .nav button.active{background:linear-gradient(135deg,var(--primario),var(--primario-2));color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.35)}
  .nav button.active svg{opacity:1}
  .sidebar .syncbox{margin-top:auto;padding:10px 12px;border:1px solid var(--borde);border-radius:12px;background:rgba(255,255,255,.02);font-size:11.5px;line-height:1.5}
  .sidebar .syncbox .row{display:flex;align-items:center;gap:8px}
  .sidebar .syncbox .dot{width:8px;height:8px;border-radius:50%;background:var(--texto-2);flex-shrink:0}
  .sidebar .syncbox.on .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}
  .sidebar .syncbox.err .dot{background:var(--warn);box-shadow:0 0 8px var(--warn)}
  .sidebar .foot{padding:12px 10px 4px;font-size:10.5px;color:var(--sidebar-txt);opacity:.5;line-height:1.4}

  /* ===== MAIN ===== */
  .main{flex:1;display:flex;flex-direction:column;overflow:hidden}
  .topbar{
    height:64px;background:rgba(22,31,51,.7);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--borde);
    display:flex;align-items:center;gap:16px;padding:0 24px;flex-shrink:0;
  }
  .topbar h1{font-size:18.5px;font-weight:700;letter-spacing:-.2px}
  .topbar .spacer{margin-left:auto}
  .topbar .clock{font-size:13px;color:var(--texto-2);font-variant-numeric:tabular-nums;text-transform:capitalize}
  .topbar .cajero{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border:1px solid var(--borde);border-radius:999px;background:var(--panel-2)}
  .topbar .cajero .av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primario),var(--acento));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
  .topbar .cajero .nm{font-size:12.5px;font-weight:600}
  .view{flex:1;overflow:auto;padding:24px}

  /* ===== POS ===== */
  .pos-grid{display:grid;grid-template-columns:1fr 392px;gap:22px;height:100%}
  .catalog{display:flex;flex-direction:column;min-width:0}
  .cat-tools{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
  .search{
    flex:1;min-width:180px;display:flex;align-items:center;gap:8px;background:var(--panel);
    border:1px solid var(--borde);border-radius:12px;padding:0 13px;transition:border-color .15s,box-shadow .15s;
  }
  .search:focus-within{border-color:var(--primario);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
  .search input{border:none;outline:none;padding:12px 0;font-size:14px;width:100%;background:transparent;color:var(--texto)}
  .search svg{width:17px;height:17px;color:var(--texto-2)}
  .chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px}
  .chip{
    white-space:nowrap;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;
    background:var(--panel);border:1px solid var(--borde);color:var(--texto-2);transition:.15s;
  }
  .chip:hover{color:var(--texto);border-color:#3a496b}
  .chip.active{background:linear-gradient(135deg,var(--primario),var(--primario-2));color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(99,102,241,.3)}
  .products{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;align-content:start;
    overflow:auto;padding-right:4px;
  }
  .pcard{
    background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--borde);border-radius:var(--radio);
    padding:14px;cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s;
    display:flex;flex-direction:column;gap:10px;position:relative;
  }
  .pcard:hover{transform:translateY(-3px);box-shadow:var(--glow);border-color:var(--primario)}
  .pcard:active{transform:translateY(-1px)}
  .pcard .thumb{
    height:82px;border-radius:12px;background:radial-gradient(circle at 50% 35%,#1c2840,var(--panel-2));
    display:flex;align-items:center;justify-content:center;font-size:34px;
    background-size:cover;background-position:center;
  }
  .pcard .pname{font-size:13.5px;font-weight:600;line-height:1.25}
  .pcard .pcat{font-size:11px;color:var(--texto-2)}
  .pcard .psku{font-size:10px;color:var(--texto-2);opacity:.8;font-variant-numeric:tabular-nums;margin-top:-4px}
  .pcard .prow{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}
  .pcard .pprice{font-weight:800;font-size:16px;color:#fff}
  .pcard .pstock{font-size:11px;color:var(--texto-2)}
  .pcard.sinstock{opacity:.45;pointer-events:none;filter:grayscale(.4)}
  .pcard .badge-low{position:absolute;top:9px;right:9px;background:var(--warn);color:#0b1120;font-size:10px;font-weight:800;padding:3px 8px;border-radius:7px}
  .pcard .badge-out{position:absolute;top:9px;right:9px;background:var(--alerta);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:7px}

  /* ===== CARRITO ===== */
  .cart{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--borde);border-radius:var(--radio);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sombra)}
  .cart .chead{padding:17px 18px;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:10px}
  .cart .chead h2{font-size:16px;font-weight:700;flex:1}
  .cart .chead .clear{font-size:12px;color:var(--alerta);font-weight:600;padding:5px 10px;border-radius:8px}
  .cart .chead .clear:hover{background:rgba(239,68,68,.12)}
  .cart .items{flex:1;overflow:auto;padding:8px 10px}
  .cart-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--texto-2);gap:12px;text-align:center;padding:30px}
  .cart-empty svg{width:48px;height:48px;opacity:.25}
  .citem{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:11px;transition:background .12s}
  .citem:hover{background:var(--panel-2)}
  .citem .ci-name{flex:1;min-width:0}
  .citem .ci-name .n{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .citem .ci-name .p{font-size:12px;color:var(--texto-2)}
  .qty{display:flex;align-items:center;gap:8px}
  .qty button{width:27px;height:27px;border-radius:8px;background:var(--panel);border:1px solid var(--borde);font-size:15px;font-weight:700;color:var(--texto);line-height:1;transition:.12s}
  .qty button:hover{background:var(--primario);color:#fff;border-color:var(--primario)}
  .qty span{min-width:20px;text-align:center;font-weight:700;font-size:14px}
  .ci-total{font-weight:700;font-size:14px;min-width:64px;text-align:right}
  .cfoot{border-top:1px solid var(--borde);padding:16px 18px;background:var(--panel-2)}
  .crow{display:flex;justify-content:space-between;font-size:13.5px;color:var(--texto-2);margin-bottom:7px}
  .crow.total{font-size:22px;font-weight:800;color:var(--texto);margin:12px 0 14px}
  .pay-methods{display:flex;gap:8px;margin-bottom:14px}
  .pay-methods button{flex:1;padding:10px 6px;border-radius:10px;border:1.5px solid var(--borde);background:var(--panel);font-size:12.5px;font-weight:600;color:var(--texto-2);transition:.15s}
  .pay-methods button:hover{color:var(--texto)}
  .pay-methods button.active{border-color:var(--primario);color:#fff;background:linear-gradient(135deg,var(--primario),var(--primario-2))}
  .btn-cobrar{width:100%;padding:16px;border-radius:13px;background:linear-gradient(135deg,var(--primario),var(--primario-2));color:#fff;font-size:16px;font-weight:700;transition:.15s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 22px rgba(99,102,241,.35)}
  .btn-cobrar:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .btn-cobrar:active{transform:translateY(0)}
  .btn-cobrar:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:none;transform:none}

  /* ===== PANELES / TABLAS ===== */
  .panel-card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden}
  .panel-head{padding:17px 22px;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .panel-head h2{font-size:16px;font-weight:700;flex:1}
  table{width:100%;border-collapse:collapse}
  th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--texto-2);font-weight:600;padding:12px 22px;background:var(--panel-2);border-bottom:1px solid var(--borde)}
  td{padding:13px 22px;font-size:14px;border-bottom:1px solid var(--borde)}
  tr:last-child td{border-bottom:none}
  tbody tr{transition:background .12s}
  tbody tr:hover td{background:var(--panel-2)}
  .pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600}
  .pill.ok{background:rgba(34,197,94,.16);color:#4ade80}
  .pill.low{background:rgba(245,158,11,.16);color:#fbbf24}
  .pill.out{background:rgba(239,68,68,.16);color:#f87171}
  .stock-edit{display:flex;align-items:center;gap:6px}
  .stock-edit button{width:25px;height:25px;border-radius:7px;background:var(--panel);border:1px solid var(--borde);font-weight:700;color:var(--texto);transition:.12s}
  .stock-edit button:hover{background:var(--primario);color:#fff}
  .row-actions{display:flex;gap:6px}
  .icon-btn{width:32px;height:32px;border-radius:9px;background:var(--panel);border:1px solid var(--borde);display:inline-flex;align-items:center;justify-content:center;transition:.13s}
  .icon-btn svg{width:16px;height:16px}
  .icon-btn:hover{border-color:var(--primario);color:var(--primario)}
  .icon-btn.danger:hover{border-color:var(--alerta);color:var(--alerta)}

  .btn{padding:10px 16px;border-radius:11px;font-size:13.5px;font-weight:600;transition:.15s;display:inline-flex;align-items:center;gap:8px}
  .btn-primary{background:linear-gradient(135deg,var(--primario),var(--primario-2));color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.3)}
  .btn-primary:hover{filter:brightness(1.08)}
  .btn-ghost{background:var(--panel);color:var(--texto);border:1px solid var(--borde)}
  .btn-ghost:hover{border-color:var(--primario);color:var(--primario)}
  .hl{color:var(--texto);font-weight:700}

  /* ===== KPIs / REPORTES ===== */
  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:22px}
  .kpi{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--borde);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra);position:relative;overflow:hidden}
  .kpi::after{content:"";position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18),transparent 70%)}
  .kpi .label{font-size:12.5px;color:var(--texto-2);font-weight:600;display:flex;align-items:center;gap:8px}
  .kpi .label .ic{width:30px;height:30px;border-radius:9px;background:rgba(99,102,241,.15);display:flex;align-items:center;justify-content:center;color:var(--primario)}
  .kpi .label .ic svg{width:16px;height:16px}
  .kpi .value{font-size:28px;font-weight:800;margin-top:12px;font-variant-numeric:tabular-nums}
  .kpi .sub{font-size:12px;color:var(--texto-2);margin-top:4px}
  .rep-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
  .chart-wrap{padding:20px}
  .bars{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:10px}
  .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
  .bar{width:100%;max-width:46px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,var(--acento),var(--primario));min-height:3px;transition:height .45s;position:relative}
  .bar .v{position:absolute;top:-20px;left:0;right:0;text-align:center;font-size:11px;font-weight:700;color:var(--texto-2)}
  .bar-col .lbl{font-size:11px;color:var(--texto-2);font-weight:600;text-transform:capitalize}
  .top-list{padding:8px 0}
  .top-item{display:flex;align-items:center;gap:12px;padding:11px 20px}
  .top-item .rank{width:26px;height:26px;border-radius:8px;background:rgba(99,102,241,.15);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--primario)}
  .top-item .ti-name{flex:1;font-size:13.5px;font-weight:600}
  .top-item .ti-qty{font-size:13px;color:var(--texto-2);font-weight:600}

  /* ===== MODAL ===== */
  .overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
  .overlay.show{display:flex}
  .modal{background:var(--panel);border:1px solid var(--borde);border-radius:20px;width:100%;max-width:430px;box-shadow:0 24px 70px rgba(0,0,0,.55);overflow:hidden;animation:pop .18s ease}
  @keyframes pop{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
  .modal-head{padding:18px 22px;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:12px}
  .modal-head h3{font-size:16px;font-weight:700;flex:1}
  .modal-head .x{font-size:22px;color:var(--texto-2);width:30px;height:30px;border-radius:9px}
  .modal-head .x:hover{background:var(--panel-2)}
  .modal-body{padding:22px}
  .field{margin-bottom:15px}
  .field label{display:block;font-size:12.5px;font-weight:600;color:var(--texto-2);margin-bottom:6px}
  .field input,.field select{width:100%;padding:12px 13px;border:1px solid var(--borde);border-radius:11px;font-size:14px;color:var(--texto);background:var(--panel-2);transition:border-color .15s,box-shadow .15s}
  .field input:focus,.field select:focus{outline:none;border-color:var(--primario);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
  .field .row2{display:flex;gap:12px}
  .field .row2>div{flex:1}
  /* Carga de imagen en el modal de producto */
  .img-uploader{display:flex;align-items:center;gap:14px}
  .img-preview{width:74px;height:74px;border-radius:12px;flex-shrink:0;border:1px solid var(--borde);background:var(--panel-2) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:30px}
  .img-uploader .iu-actions{display:flex;flex-direction:column;gap:8px}
  .img-uploader .iu-actions .btn{padding:8px 12px;font-size:12.5px}
  .img-uploader input[type=file]{display:none}
  /* Miniatura en la tabla de inventario */
  .inv-thumb{width:34px;height:34px;border-radius:8px;flex-shrink:0;border:1px solid var(--borde);background:var(--panel-2) center/cover no-repeat;display:inline-flex;align-items:center;justify-content:center;font-size:18px;vertical-align:middle;margin-right:9px}
  .inv-name{display:flex;align-items:center}
  .modal-foot{padding:16px 22px;border-top:1px solid var(--borde);display:flex;gap:10px;justify-content:flex-end;background:var(--panel-2)}

  /* ===== COBRO (CAMBIO) ===== */
  .cobro-total{text-align:center;padding:6px 0 16px}
  .cobro-total .lbl{font-size:12.5px;color:var(--texto-2);font-weight:600}
  .cobro-total .amt{font-size:34px;font-weight:800;color:#fff;margin-top:2px}
  .recibido-input{font-size:24px !important;font-weight:800;text-align:center;letter-spacing:.5px}
  .quick-cash{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
  .quick-cash button{flex:1;min-width:72px;padding:11px 8px;border-radius:10px;border:1px solid var(--borde);background:var(--panel-2);font-size:13.5px;font-weight:700;color:var(--texto);transition:.13s}
  .quick-cash button:hover{border-color:var(--primario);color:var(--primario)}
  .quick-cash button.exacto{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:#4ade80}
  .cambio-box{border-radius:13px;padding:16px;text-align:center;margin-top:6px;border:1px dashed var(--borde);background:var(--panel-2)}
  .cambio-box .lbl{font-size:12.5px;color:var(--texto-2);font-weight:600}
  .cambio-box .amt{font-size:30px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums}
  .cambio-box.ok .amt{color:var(--ok)}
  .cambio-box.falta{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.06)}
  .cambio-box.falta .amt{color:var(--alerta)}

  /* ===== TICKET ===== */
  .ticket{text-align:center}
  .ticket .check{width:66px;height:66px;border-radius:50%;background:rgba(34,197,94,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
  .ticket .check svg{width:36px;height:36px;color:var(--ok)}
  .ticket h3{font-size:20px;font-weight:800}
  .ticket .tt-total{font-size:30px;font-weight:800;color:#fff;margin:6px 0}
  .ticket .tt-lines{text-align:left;border-top:1px dashed var(--borde);border-bottom:1px dashed var(--borde);padding:12px 0;margin:14px 0;font-size:13px}
  .ticket .tt-lines .l{display:flex;justify-content:space-between;padding:3px 0;color:var(--texto-2)}
  .ticket .tt-pago{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}
  .ticket .tt-pago.cambio{font-weight:800;color:var(--ok);font-size:15px}

  .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:linear-gradient(135deg,var(--primario),var(--primario-2));color:#fff;padding:13px 22px;border-radius:13px;font-size:14px;font-weight:600;box-shadow:0 12px 34px rgba(0,0,0,.45);opacity:0;transition:.3s;z-index:60;pointer-events:none}
  .toast.show{transform:translateX(-50%) translateY(0);opacity:1}

  @media(max-width:900px){
    .pos-grid{grid-template-columns:1fr;height:auto}
    .cart{position:fixed;inset:auto 0 0 0;max-height:55vh;border-radius:20px 20px 0 0;z-index:30;box-shadow:0 -10px 40px rgba(0,0,0,.45)}
    .rep-grid{grid-template-columns:1fr}
    .topbar .clock{display:none}
  }
  @media(max-width:720px){
    .sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:64px;flex-direction:row;padding:6px 8px;z-index:40;border-top:1px solid var(--sidebar-2);border-right:none}
    .brand,.sidebar .syncbox,.sidebar .foot{display:none}
    .nav{flex-direction:row;width:100%;margin:0;gap:2px}
    .nav button{flex-direction:column;gap:3px;font-size:10px;padding:7px 4px;justify-content:center}
    .nav button span{font-size:10px}
    body{padding-bottom:64px}
    .pos-grid{grid-template-columns:1fr}
  }

  /* ===== IMPRESION TÉRMICA REAL (58mm / 80mm) ===== */
  @media print{
    .sidebar,.topbar,.overlay,.nav,.syncbox,.foot,.btn{display:none !important}
    .main{ padding:0 !important; margin:0 !important }
    .view{ padding:0 !important }
    body { background:white; color:black; font-family: "Consolas", "Courier New", monospace; font-size: 11px; }
    .ticket { font-size: 10.5px; max-width: 80mm; margin:0 auto; }
  }

  .ticket-termico {
    font-family: "Consolas", "Courier New", monospace;
    font-size: 11px;
    line-height: 1.3;
    width: 80mm;
    margin: 0 auto;
    padding: 4mm;
    background: white;
    color: black;
  }
  .ticket-termico .header { text-align:center; border-bottom:1px dashed #000; padding-bottom:4px; margin-bottom:4px; }
  .ticket-termico .line { display:flex; justify-content:space-between; }
  .ticket-termico .total { font-weight:bold; border-top:1px solid #000; padding-top:4px; }
  .ticket-termico .footer { text-align:center; font-size:9px; margin-top:6px; border-top:1px dashed #000; padding-top:4px; }
