*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f6f8fb;color:#101828}a{text-decoration:none;color:inherit}.split{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.dark{background:#101828;color:#fff;padding:64px 7vw;display:flex;flex-direction:column;justify-content:center}.logo{position:absolute;top:48px;font-size:24px;font-weight:950;letter-spacing:-1px}.logo b{background:#fff;color:#101828;border-radius:8px;padding:5px 8px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.8px;color:#32d583}.dark h1{font-size:clamp(54px,5.2vw,82px);line-height:.97;letter-spacing:-4px;margin:24px 0}.dark h1 span{color:#98a2b3}.dark p{max-width:600px;color:#d0d5dd;font-size:18px;line-height:1.65}.light{padding:45px;display:flex;align-items:center;justify-content:center}.box{width:min(540px,100%)}.tag{display:inline-block;padding:8px 13px;border-radius:999px;background:#eaf8ef;color:#067647;font-size:12px;font-weight:900}.box h2{font-size:42px;letter-spacing:-1.8px;margin:20px 0 8px}.muted{color:#667085;line-height:1.6}.alert{padding:14px 16px;border-radius:11px;margin:18px 0;background:#fff1f0;border:1px solid #fecdca;color:#b42318;font-size:14px;white-space:pre-line}.field{margin:17px 0}.field label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.field input,.field select{width:100%;height:50px;border:1px solid #d0d5dd;border-radius:11px;padding:0 14px;background:#fff;font:inherit;outline:none}.field input:focus,.field select:focus{border-color:#667085;box-shadow:0 0 0 4px rgba(16,24,40,.06)}.btn{width:100%;border:0;border-radius:11px;background:#101828;color:#fff;padding:16px;font-size:15px;font-weight:850;cursor:pointer}.foot{text-align:center;color:#667085;font-size:14px;margin-top:22px}.foot a{font-weight:850;color:#101828}.shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#101828;color:#fff;padding:28px 20px;position:fixed;inset:0 auto 0 0}.main{margin-left:250px;width:calc(100% - 250px);padding:36px 42px}.card{background:#fff;border:1px solid #e4e7ec;border-radius:17px;padding:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card strong{display:block;font-size:31px;margin-top:12px}.side-logo{font-weight:950;font-size:20px;margin:5px 8px 35px}.side-logo b{background:#fff;color:#101828;padding:4px 7px;border-radius:7px}.side-business{font-size:12px;color:#98a2b3;margin:0 8px 18px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{padding:12px;border-radius:9px;color:#d0d5dd;font-size:14px}.sidebar nav a.active{background:#1d2939;color:#fff}.hero-admin{background:#101828;color:#fff;border-radius:20px;padding:28px;margin-bottom:18px}.hero-admin p{color:#d0d5dd}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}@media(max-width:850px){.split{grid-template-columns:1fr}.dark{display:none}.light{min-height:100vh;padding:28px 20px}.sidebar{width:76px;padding:22px 10px}.side-logo{font-size:0}.side-logo b{font-size:13px}.side-business{display:none}.sidebar nav a{font-size:0;text-align:center}.sidebar nav a::first-letter{font-size:18px}.main{margin-left:76px;width:calc(100% - 76px);padding:24px 18px}.cards{grid-template-columns:1fr}}
/* ==========================================================
   CUADERNO AI — MOBILE TEST V1
   Objetivo: que TODO el area de negocio use el ancho completo
   en telefono sin cambiar el diseño de escritorio.
   ========================================================== */
@media (max-width:850px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{-webkit-text-size-adjust:100%}

  .shell{
    display:block!important;
    min-height:100vh;
    width:100%;
    max-width:100%;
  }

  /* Sidebar movil: barra superior horizontal y deslizable. */
  .sidebar{
    position:sticky!important;
    position:-webkit-sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:8px 10px!important;
    margin:0!important;
    z-index:1000!important;
    overflow:visible!important;
    box-shadow:0 1px 0 rgba(255,255,255,.08),0 7px 18px rgba(16,24,40,.14);
  }

  .side-logo{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0 0 7px!important;
    padding:0 2px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap;
  }

  .side-logo b{
    font-size:12px!important;
    padding:4px 6px!important;
  }

  .side-business{display:none!important}

  .sidebar nav{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 2px!important;
    margin:0!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .sidebar nav::-webkit-scrollbar{display:none!important}

  .sidebar nav a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-height:40px!important;
    padding:9px 12px!important;
    margin:0!important;
    border-radius:9px!important;
    font-size:13px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .sidebar nav a::first-letter{font-size:inherit!important}

  /* El contenido deja de reservar 76px para el menu lateral. */
  .main{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:18px 12px 32px!important;
  }

  .topline{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:10px!important;
    margin-bottom:18px!important;
  }

  .topline h1{
    margin:4px 0 0!important;
    font-size:clamp(27px,8vw,36px)!important;
    line-height:1.08!important;
    letter-spacing:-1px!important;
  }

  .topline small{line-height:1.35}
  .top-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}

  .cards,.sales-cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .card{padding:18px!important;border-radius:14px!important}
  .card strong{font-size:28px!important}
  .hero-admin{padding:20px!important;border-radius:16px!important}

  /* Formularios de los diferentes modulos. */
  .sales-form-grid,
  .sales-fields.two,
  .product-form-grid,
  .product-fields.two,
  .customer-form-grid,
  .customer-fields.two,
  .supplier-form-grid,
  .supplier-fields.two,
  .payment-grid,
  .payment-fields.two,
  .cash-grid,
  .cash-open-box,
  .ledger-grid,
  .action-grid,
  .ad-form-grid,
  .ad-fields.two,
  .type-choice,
  .category-tools,
  .photo-tools{
    grid-template-columns:1fr!important;
  }

  .sales-panel,
  .payment-card,
  .action-card,
  .ledger-box{
    padding:16px!important;
    border-radius:14px!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .sales-panel-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }

  /* POS: cada articulo ocupa una columna completa. */
  .sale-line{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .line-product,.sale-line>label,.line-total{min-width:0!important;width:100%!important}

  .line-total{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:48px!important;
  }

  .remove-line{
    width:100%!important;
    min-height:48px!important;
  }

  .sale-summary{
    width:100%!important;
    gap:12px!important;
  }

  /* Busqueda y camara del POS. */
  .pos-quick-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .pos-quick-add,
  .pos-mobile-feature,
  .pos-results{
    width:100%!important;
    max-width:100%!important;
  }

  .camera-card{
    width:calc(100vw - 20px)!important;
    max-width:520px!important;
    max-height:calc(100dvh - 20px)!important;
    overflow:auto!important;
    border-radius:16px!important;
  }

  .camera-stage,
  .camera-stage video,
  .camera-stage canvas{
    width:100%!important;
    max-width:100%!important;
  }

  /* iPhone: 16px evita zoom automatico al tocar campos. */
  input,select,textarea,button{
    max-width:100%!important;
    font-size:16px!important;
  }

  input,select,textarea{min-height:46px}
  textarea{min-height:90px}

  .sales-btn,
  .sales-submit button,
  .product-submit button,
  .customer-submit button,
  .supplier-submit button,
  .payment-submit button,
  .ad-submit button{
    min-height:46px!important;
  }

  .sales-submit,
  .product-submit,
  .customer-submit,
  .supplier-submit,
  .payment-submit,
  .ad-submit,
  .action-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  .sales-submit>* ,
  .product-submit>* ,
  .customer-submit>* ,
  .supplier-submit>* ,
  .payment-submit>* ,
  .ad-submit>* ,
  .action-actions>*{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
  }

  /* Tablas grandes: deslizar en vez de romper la pagina. */
  .sales-table-wrap,
  .purchase-table-wrap,
  .ledger-table-wrap,
  .supplier-table-wrap,
  .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .sales-table,
  .purchase-table,
  .ledger-table,
  .supplier-table{
    font-size:13px!important;
  }

  img,video,canvas{max-width:100%;height:auto}
}

@media (max-width:430px){
  .main{padding:14px 10px 28px!important}
  .sidebar{padding:7px 8px!important}
  .sidebar nav a{padding:8px 10px!important;font-size:12px!important}
  .sales-panel,.payment-card,.action-card,.ledger-box,.card{padding:14px!important}
  .topline h1{font-size:28px!important}
}
