  /* ============ DGII 606 v2 · estilo moderno táctil ============ */
  :root{
    --paper:#F2F3F7;
    --ink:#17222E;
    --ink-soft:#5B6B7B;
    --stamp:#2F6F5E;
    --stamp-dark:#20503F;
    --stamp-soft:#E7F2EE;
    --alert:#B3441E;
    --line:#E0E4EA;
    --card:#FFFFFF;
    --glass:rgba(255,255,255,.75);
    --radius:14px;
    --shadow:0 1px 2px rgba(23,34,46,.06),0 4px 14px rgba(23,34,46,.07);
    --tap:48px;
  }
  [data-theme="dark"]{
    --paper:#0F1216;
    --ink:#E3E9EF;
    --ink-soft:#98A3B0;
    --stamp:#3DAF7A;
    --stamp-dark:#6FD3A0;
    --stamp-soft:#16281F;
    --alert:#EF6B52;
    --line:#2A2E35;
    --card:#191D23;
    --glass:rgba(25,29,35,.75);
    --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35);
  }
  [data-theme="dark"] .video-frame{background:#0A0A10;}
  [data-theme="dark"] .video-frame .placeholder{color:#5A646E;}
  [data-theme="dark"] .btn-primary:hover{background:#2A2A35;}
  [data-theme="dark"] .btn-flash.on{background:var(--stamp);border-color:var(--stamp);}
  [data-theme="dark"] .btn-danger-ghost{border-color:#4A2A2A;}
  [data-theme="dark"] .toast{background:#1A2A22;border-color:#2A4A3A;box-shadow:0 8px 30px rgba(0,0,0,.35);}
  [data-theme="dark"] .toast.err{background:#8B2E14;border-color:#A33A18;box-shadow:0 8px 30px rgba(0,0,0,.45);}
  [data-theme="dark"] thead th{background:#22222E;}
  [data-theme="dark"] tbody td{border-bottom-color:#2A2A35;}
  [data-theme="dark"] tbody tr:hover{background:#22222E;}
  [data-theme="dark"] .status-dot i{background:#5A5A6A;}
  [data-theme="dark"] #mobileStatus i{background:#5A5A6A;}
  [data-theme="dark"] .report-card{box-shadow:0 1px 0 rgba(255,255,255,.04);}
  [data-theme="dark"] .ticket{box-shadow:0 1px 0 rgba(255,255,255,.04);}
  [data-theme="dark"] .reticle{border-color:rgba(61,175,122,.5);}
  [data-theme="dark"] #mobileReticle{border-color:rgba(61,175,122,.5);}
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html{font-size:16px;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,'IBM Plex Sans',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.45;
  }
  .wrap{max-width:960px;margin:0 auto;padding:12px 16px calc(120px + env(safe-area-inset-bottom, 0px));}
  @media(min-width:760px){.wrap{max-width:1120px;padding:24px 24px 80px;}}
  #viewSettings{max-width:680px;margin:0 auto;padding:0 16px 75px;}
  .view{display:none;}
  .view.active{display:block;animation:viewIn .18s ease-out;}
  @keyframes viewIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

  /* ---- Encabezado ---- */
  header.masthead{
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    padding:8px 2px 14px;margin-bottom:14px;
  }
  header.masthead .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--stamp);
    font-weight:600;
  }
  header.masthead h1{font-size:26px;margin:2px 0 0;font-weight:700;letter-spacing:-.02em;}
  #btnTheme,#btnSearch,.theme-toggle{background:none;border:none;border-radius:0;cursor:pointer;font-size:19px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;flex-shrink:0;color:var(--ink);padding:0;}
  #btnTheme:hover,#btnSearch:hover,.theme-toggle:hover{border-color:var(--stamp);}
  .masthead .btn-primary{font-size:.95rem!important;min-height:var(--tap);padding:8px 18px!important;border-radius:24px;}

  /* ---- Botones táctiles ---- */
  button{
    font-family:inherit;font-weight:600;font-size:1rem;
    border:none;border-radius:12px;padding:0 18px;cursor:pointer;
    min-height:var(--tap);
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    transition:transform .06s ease, background .15s ease, border-color .15s;
    touch-action:manipulation;
  }
  button:active{transform:scale(.97);opacity:.85;}
  button:focus-visible{outline:3px solid var(--stamp);outline-offset:2px;}
  .btn-primary{background:var(--stamp);color:#fff;box-shadow:var(--shadow);}
  .btn-primary:hover{background:var(--stamp-dark);}
  .btn-ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);font-weight:500;}
  .btn-ghost:hover{border-color:var(--stamp);}
  .btn-stop{background:var(--alert);color:#fff;}
  .btn-flash{background:var(--card);color:var(--ink);border:1.5px solid var(--line);font-size:.95rem!important;}
  .btn-flash.on{background:var(--stamp);color:#fff;border-color:var(--stamp);}
  .btn-danger-ghost{background:transparent;color:var(--alert);border:1.5px solid var(--line);font-weight:500;}
  #viewPeriods .btn-ghost{font-size:.9rem!important;min-height:var(--tap);padding:8px 16px!important;border-radius:12px;}

  /* ---- Barra de navegación translúcida ---- */
  .back-bar{
    display:flex;align-items:center;gap:8px;margin:0 -16px 14px;padding:10px 16px;
    padding-top:calc(10px + env(safe-area-inset-top, 0px));
    position:sticky;top:0;z-index:30;
    background:var(--glass);
    -webkit-backdrop-filter:blur(22px) saturate(1.7);
    backdrop-filter:blur(22px) saturate(1.7);
    border-bottom:1px solid var(--line);
  }
  @media(min-width:760px){.back-bar{margin:0 0 16px;border-radius:0;}}
  .back-bar h2{font-size:1.35rem;margin:0;font-weight:700;letter-spacing:-.01em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .back-bar button:not(#btnEditReport){font-size:.95rem!important;min-height:46px;padding:6px 14px!important;border-radius:12px;}
  #btnEditReport{background:none!important;border:none!important;box-shadow:none!important;min-width:44px;min-height:44px;font-size:17px;padding:0!important;opacity:.6;}
  #btnEditReport:hover{opacity:1;}

  /* ---- Tarjetas ---- */
  .report-card{
    background:var(--card);
    border:none;
    border-radius:var(--radius);
    padding:16px;
    margin-bottom:12px;
    cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    box-shadow:var(--shadow);
    transition:transform .06s;
  }
  .report-card:active{transform:scale(.99);opacity:.9;}
  .report-card .name{font-weight:700;font-size:1.02rem;letter-spacing:-.01em;}
  .report-card .meta{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--ink-soft);margin-top:3px;}
  .report-card .actions{display:flex;gap:8px;flex-shrink:0;}
  .report-card .actions button{font-size:.85rem!important;min-height:44px;padding:6px 14px!important;border-radius:22px;}
  .report-card .actions .btn-danger-ghost{border:none;}

  .search-result-item{
    background:var(--card);
    border:none;
    border-radius:var(--radius);
    padding:12px 16px;
    margin-bottom:8px;
    cursor:pointer;
    box-shadow:var(--shadow);
    transition:transform .06s;
  }
  .search-result-item:active{transform:scale(.99);opacity:.85;}
  .search-result-item:hover{border-color:var(--stamp);background:var(--stamp-soft);}

  .ticket{
    background:var(--card);
    border:none;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    margin-bottom:16px;overflow:hidden;
  }
  .ticket::before{
    content:"";display:block;height:3px;
    background:linear-gradient(90deg, transparent, var(--stamp), transparent);
    opacity:.5;
  }
  .ticket-inner{padding:18px;}
  .ticket-head{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;
  }
  .ticket-head h2{
    font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;
    color:var(--ink-soft);margin:0;font-weight:600;
  }
  .status-dot{
    display:inline-flex;align-items:center;gap:6px;
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);
  }
  .status-dot i{width:7px;height:7px;border-radius:50%;background:#B7ADA0;display:inline-block;}
  .status-dot.live i{background:var(--stamp);box-shadow:0 0 0 3px rgba(47,111,94,.18);}

  /* ---- Escáner ---- */
  .scan-area{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;}
  .video-frame{
    width:300px;height:230px;background:#10181f;border-radius:16px;overflow:hidden;
    position:relative;flex-shrink:0;box-shadow:var(--shadow);
  }
  .video-frame video{width:100%;height:100%;object-fit:cover;display:block;}
  .video-frame .reticle{
    position:absolute;inset:30px;border:2px solid rgba(61,175,122,.9);border-radius:8px;pointer-events:none;
  }
  .video-frame .placeholder{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#7C8B98;font-size:12px;font-family:'IBM Plex Mono',monospace;text-align:center;padding:20px;
  }
  .video-frame .focus-ripple{
    position:absolute;width:56px;height:56px;margin-left:-28px;margin-top:-28px;
    border:2px solid rgba(255,255,255,.9);border-radius:50%;pointer-events:none;
    transform:scale(.55);opacity:0;animation:focusRipple .7s ease-out forwards;
  }
  @keyframes focusRipple{
    0%{transform:scale(.55);opacity:0;}
    25%{opacity:1;}
    100%{transform:scale(1);opacity:0;}
  }
  .scan-controls{flex:1;min-width:240px;display:flex;flex-direction:column;gap:10px;}
  .add-wrapper{position:relative;margin-left:auto;}
  #cameraControls .btn-stop{flex:1;text-align:center;}
  #cameraControls .btn-flash{flex:0 0 auto;}
  #cameraControls #btnBackFromCam{flex:0 0 100%;margin-top:6px;}
  #scanPanel{overflow-anchor:none;}
  .add-dd{position:absolute;top:calc(100% + 6px);right:0;left:auto;min-width:200px;z-index:40;background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(1.7);backdrop-filter:blur(24px) saturate(1.7);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);display:none;overflow:hidden;}
  .add-dd.show{display:block;animation:viewIn .15s ease-out;}
  #export606Dd{top:auto;bottom:calc(100% + 6px);}
  .add-opt{display:flex;align-items:center;width:100%;text-align:left;padding:14px 18px!important;font-size:1rem!important;font-weight:500!important;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);min-height:52px;}
  .add-opt:last-child{border-bottom:none;}
  .add-opt:active{background:var(--stamp-soft);}


  /* ---- Toast ---- */
  .toast{
    font-size:.95rem;line-height:1.45;font-weight:600;padding:16px 18px;border-radius:14px;
    background:#EEF5F2;color:var(--stamp-dark);border:none;
    position:fixed;left:12px;right:12px;bottom:calc(104px + env(safe-area-inset-bottom, 0px));max-width:560px;margin:0 auto;z-index:300;
    box-shadow:0 10px 32px rgba(0,0,0,.2);
    transition:transform .3s ease, opacity .25s ease, visibility .25s;
    transform:translateY(calc(100% + 24px));opacity:0;visibility:hidden;pointer-events:none;
    display:flex;align-items:center;gap:10px;
    white-space:normal;word-break:break-word;overflow-wrap:anywhere;
    text-align:left;
  }
  .toast.show{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;}
  .toast.err{background:var(--alert);color:#fff;}
  .toast.err::before{content:"⚠️";flex-shrink:0;font-size:18px;line-height:1;}
  .toast .toast-bar{
    position:absolute;bottom:0;left:0;height:3px;background:var(--stamp);
    animation:toast-shrink 5s linear forwards;
  }
  .toast.err .toast-bar{background:#fff;opacity:.9;}
  @keyframes toast-shrink{from{width:100%}to{width:0%}}

  /* ---- Banner sesión compartida ---- */
  #shareBanner{
    display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
    background:var(--stamp-soft);border:1px solid var(--stamp);border-radius:var(--radius);
    padding:10px 14px;margin-bottom:14px;
    font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--stamp-dark);
  }
  [data-theme="dark"] #shareBanner{background:#1A2A22;border-color:#2A4A3A;}
  .share-guest{
    display:flex;justify-content:space-between;align-items:center;gap:8px;
    padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;
  }
  .share-guest:last-child{border-bottom:none;}
  .share-tag{
    font-size:10px;font-weight:600;color:var(--stamp-dark);
    border:1px solid #CFE3DB;border-radius:6px;padding:1px 6px;margin-left:6px;white-space:nowrap;
  }

  /* ---- Estadísticas ---- */
  .stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
  @media(max-width:560px){.stats-bar{grid-template-columns:1fr 1fr;}.stat:first-child{grid-column:1/-1;}}
  .stat{background:var(--card);border:none;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);min-width:0;}
  .stat .label{font-size:.72rem;color:var(--ink-soft);font-weight:600;}
  .stat .value{font-family:'IBM Plex Mono',monospace;font-size:1.3rem;font-weight:700;margin-top:2px;overflow-wrap:anywhere;word-break:break-word;letter-spacing:-.01em;}
  .stat:first-child .value{color:var(--stamp);}

  /* ---- Tablas ---- */
  table{width:100%;border-collapse:collapse;background:var(--card);font-size:.9rem;}
  thead th{
    text-align:left;font-size:.72rem;font-weight:700;
    color:var(--ink-soft);padding:12px;white-space:nowrap;
    border-bottom:2px solid var(--line);background:var(--card);
    position:sticky;top:0;z-index:1;
  }
  tbody td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr:active{background:var(--stamp-soft);}
  td.num{text-align:right;font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums;}
  td.edit-input input{
    width:100%;font-family:'IBM Plex Mono',monospace;font-size:.95rem;
    border:1.5px solid var(--stamp);border-radius:10px;padding:8px 10px;min-height:44px;
  }
  td.edit-input input[data-field="encf"],
  #formRow input#fr-encf,
  .mf-input#mf-encf{min-width:17ch;}
  #formRow input{width:100%;font-family:'IBM Plex Mono',monospace;font-size:.95rem;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card);color:var(--ink);min-height:44px;}
  #formRow input:focus{outline:none;border-color:var(--stamp);box-shadow:0 0 0 3px var(--stamp-soft);}
  #formRow td input[type="checkbox"]{width:22px;height:22px;accent-color:var(--stamp);margin:0;border:none;background:none;padding:0;}
  #formRow td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 8px;}
  #formRow td input[type="text"],#formRow td input[type="number"]{display:inline-block;width:100%;vertical-align:middle;}
  .rnc-warn-row{background:#FFF3CD !important;}
  .rnc-warn-row td{background:#FFF3CD !important;}
  #formRow .form-actions{display:flex;gap:4px;align-items:center;}
  #formRow .form-actions button{font-size:.85rem!important;padding:6px 12px!important;white-space:nowrap;line-height:1.4;border-radius:20px;min-height:44px;}
  .row-actions{display:flex;gap:6px;}
  .row-actions button{padding:6px 12px;font-size:.85rem!important;border-radius:20px;min-height:44px;}
  .row-actions .btn-danger-ghost{border:none;}
  .empty-row td{
    text-align:center;color:var(--ink-soft);font-family:'IBM Plex Sans',sans-serif;
    padding:36px 12px;font-size:.95rem;
  }
  td.grip{width:32px;cursor:grab;color:var(--line);font-size:18px;user-select:none;text-align:center;padding:10px 4px;}
  td.grip:active{cursor:grabbing;}
  tr.dragging{opacity:.4;}
  tr.drag-over td{border-bottom:2px solid var(--stamp);}
  tr.selected td{background:rgba(47,111,94,.08);}
  td input[type="checkbox"]{width:22px!important;height:22px!important;cursor:pointer;accent-color:var(--stamp);margin:0;vertical-align:middle;}
  th input[type="checkbox"]{width:22px!important;height:22px!important;cursor:pointer;accent-color:var(--stamp);margin:0;vertical-align:middle;}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);}
  #selectionTotals{
    font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--ink-soft);
    background:var(--card);border:1px solid var(--line);border-top:none;
    border-radius:0 0 var(--radius) var(--radius);padding:10px 14px;
  }

  /* ---- Acciones de pie ---- */
  .footer-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
  @media(min-width:640px){.footer-actions{flex-direction:row;justify-content:space-between;align-items:center;}}
  .footer-actions .left{display:flex;gap:10px;flex-wrap:wrap;}
  .footer-actions .btn-ghost,.footer-actions .btn-danger-ghost,.footer-actions .btn-primary{flex:1;border-radius:22px;}
  @media(min-width:640px){.footer-actions .btn-ghost,.footer-actions .btn-danger-ghost,.footer-actions .btn-primary{flex:none;}}
  footer.note{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--ink-soft);
    margin-top:22px;text-align:center;
  }

  /* ---- Móvil / QR / sesión ---- */
  canvas{display:none;}
  input,textarea,select{font-size:16px!important;}
  #mobileMode{display:none;flex-direction:column;gap:10px;}
  #mobileMode.show{display:flex;}
  #qrCanvas{display:block;margin:0 auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
  #mobileStatus{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);}
  #mobileStatus i{width:7px;height:7px;border-radius:50%;background:#B7ADA0;display:inline-block;}
  #mobileStatus.connected i{background:var(--stamp);box-shadow:0 0 0 3px rgba(47,111,94,.18);}
  #mobileLog{font-family:'IBM Plex Mono',monospace;font-size:11px;max-height:120px;overflow-y:auto;border-top:1px solid var(--line);padding-top:8px;margin-top:8px;display:none;}
  #mobileLog div{padding:2px 0;}

  /* ---- Modal bottom-sheet ---- */
  #modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-end;justify-content:center;}
  @media(min-width:640px){#modal{align-items:center;}}
  #modal.show{display:flex;}
  #modal-backdrop{position:absolute;inset:0;background:rgba(15,25,35,.5);}
  #modal-box{position:relative;background:var(--card);border-radius:18px 18px 0 0;padding:10px 18px calc(26px + env(safe-area-inset-bottom, 0px));width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-shadow:0 -8px 32px rgba(0,0,0,.25);border:1px solid var(--glass);border-bottom:none;}
  @media(min-width:640px){#modal-box{border-radius:18px;padding:24px 28px;width:min(640px,92vw);max-height:84vh;box-shadow:0 12px 44px rgba(0,0,0,.22);}}
  #sheetGrip{touch-action:none;cursor:grab;padding:8px 0 10px;}
  #sheetGrip::after{content:"";display:block;width:40px;height:5px;border-radius:3px;background:var(--line);margin:0 auto;}
  #sheetGrip:active{cursor:grabbing;}
  @media(min-width:640px){#sheetGrip{display:none;}}

  /* ---- Formularios ---- */
  .manual-form{display:flex;flex-direction:column;gap:14px;}
  .manual-form label{font-size:.8rem;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:6px;text-transform:none;letter-spacing:0;}
  .mf-input{font-family:'IBM Plex Mono',monospace;font-size:1rem!important;min-height:var(--tap);padding:12px 14px;border:none;border-radius:12px;background:var(--paper);color:var(--ink);width:100%;min-width:0;}
  [data-theme="dark"] .mf-input{background:#2C2F36;}
  .mf-input:focus{outline:none;box-shadow:0 0 0 2px var(--stamp);}
  .mf-input.rnc-warn{background:#FFF3CD;border-color:#FFC107;}
  select.mf-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B6B7B' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
  input[type="checkbox"]{width:24px!important;height:24px!important;accent-color:var(--stamp);flex-shrink:0;}
  input[type="number"]{-moz-appearance:textfield;appearance:textfield;}
  input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
  .field-error{font-size:.8rem;color:var(--alert);min-height:1.2em;display:block;margin-top:2px;}
  #formRow .field-error{display:none;}
  #manualPanel .manual-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:500px){#manualPanel .manual-form{grid-template-columns:1fr;}}
  .manual-entry{display:flex;gap:8px;}
  .manual-entry input{
    flex:1;font-family:'IBM Plex Mono',monospace;font-size:.95rem;
    padding:12px 14px;border:none;border-radius:12px;background:var(--paper);color:var(--ink);min-height:var(--tap);
  }
  .manual-entry input:focus{outline:none;box-shadow:0 0 0 2px var(--stamp);}

  .record-extras-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:100%;min-width:0;}
  .record-extras-form label{font-size:.8rem;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%;overflow:hidden;text-transform:none;letter-spacing:0;}
  .record-extras-form .mf-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
  .record-extras-form select.mf-input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:36px;}
  .record-extras-form .balance-ok{color:var(--stamp);font-weight:600;overflow-wrap:anywhere;word-break:break-word;}
  .record-extras-form .balance-err{color:var(--alert);font-weight:600;background:rgba(0,0,0,.03);padding:8px;border-left:3px solid var(--alert);border-radius:0 8px 8px 0;overflow-wrap:anywhere;word-break:break-word;}
  @media(max-width:600px){.record-extras-form{grid-template-columns:1fr;}}
  .record-detail{font-family:'IBM Plex Mono',monospace;font-size:.9rem;}
  .record-detail > div{display:flex;padding:9px 0;border-bottom:1px solid var(--line);}
  .record-detail > div:last-child{border-bottom:none;}
  .rd-label{font-weight:600;color:var(--ink-soft);min-width:130px;flex-shrink:0;}
  .rd-sep{margin-top:8px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--line) !important;}
  .rd-value{color:var(--ink);word-break:break-all;}
  .rd-value a{color:var(--stamp);text-decoration:underline;}

  /* ---- Tab bar de vidrio ---- */
  #tabbar{
    position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));z-index:120;
    max-width:560px;margin:0 auto;
    display:flex;gap:2px;padding:8px;
    background:
      linear-gradient(115deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.08) 28%, rgba(255,255,255,0) 55%),
      var(--glass);
    -webkit-backdrop-filter:blur(26px) saturate(1.8);backdrop-filter:blur(26px) saturate(1.8);
    border:1px solid rgba(255,255,255,.45);border-radius:26px;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.5), 0 12px 32px rgba(0,0,0,.18);
  }
  [data-theme="dark"] #tabbar{
    background:
      linear-gradient(115deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.04) 30%, rgba(255,255,255,0) 55%),
      var(--glass);
    border-color:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 1px rgba(255,255,255,.15), 0 12px 32px rgba(0,0,0,.5);
  }
  .tab-item{
    flex:1;min-width:0;min-height:56px;padding:6px 2px;border-radius:18px;
    background:none;border:none;color:var(--ink-soft);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    font-size:.62rem;font-weight:600;
  }
  .tab-item:active{transform:scale(.95);opacity:.8;}
  .tab-item .tab-ico{font-size:1.3rem;line-height:1;}
  .tab-item .tab-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  .tab-item.active{
    background:linear-gradient(180deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,0) 55%), var(--stamp);
    color:#fff;box-shadow:inset 0 1px 1px rgba(255,255,255,.45), 0 4px 12px rgba(47,111,94,.35);
  }
  body.no-tabbar #tabbar{display:none;}
  body.no-tabbar .wrap{padding-bottom:calc(40px + env(safe-area-inset-bottom, 0px));}
  body.no-tabbar .toast{bottom:calc(12px + env(safe-area-inset-bottom, 0px));}

  @media (max-width:560px){
    .scan-area{flex-direction:column;}
    .video-frame{width:100%;}
  }

  /* ---- Skeleton loading ---- */
  .skel{background:linear-gradient(90deg, var(--line) 25%, var(--card) 37%, var(--line) 63%);background-size:400% 100%;animation:skel-shimmer 1.4s ease infinite;border-radius:8px;}
  @keyframes skel-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
  .skel-card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow);}
  .skel-line{height:14px;margin-bottom:8px;}
  .skel-line.w60{width:60%;}
  .skel-line.w40{width:40%;}
  .skel-line.w80{width:80%;}

  /* skeleton para tablas */
  .skel-row td{padding:13px 12px;border-bottom:1px solid var(--line);}
  .skel-cell{height:14px;}
  .skel-cell.w30{width:30%;}
  .skel-cell.w50{width:50%;}
  .skel-cell.w70{width:70%;}
  .skel-block{height:16px;border-radius:6px;}

  /* Tabbar solo en móvil/tablet */
  @media(min-width:760px){
    #tabbar{ display: none !important; }
    body{ padding-bottom: 0; }
  }

  /* Lucide icons inherit color */
  i[data-lucide], svg.lucide{ stroke: currentColor; color: inherit; width: 1em; height: 1em; vertical-align: -0.125em; }
  #btnTheme i[data-lucide], #btnTheme2 i[data-lucide], #btnTheme3 i[data-lucide]{ width: 20px; height: 20px; }
  .add-opt i[data-lucide]{ width: 18px; height: 18px; margin-right: 6px; vertical-align: middle; }
