html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--bg-page:#eef2ff;--bg-surface:#fff;--bg-soft:#f8faff;--text-primary:#111827;--text-secondary:#6b7280;--border-soft:#e6eaf5;--border-strong:#d7deef;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--danger-500:#dc2626;--danger-100:#fee2e2;--radius-md:10px;--radius-lg:14px;--shadow-soft:0 12px 28px #0f172a0d;--shadow-focus:0 0 0 3px #6366f124}body{background:linear-gradient(180deg, #f8f9ff 0%, var(--bg-page) 100%);color:var(--text-primary);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.rest-layout{max-width:1300px;margin:0 auto;padding:20px}.bo-layout{background:0 0;grid-template-columns:300px minmax(0,1fr);min-height:100dvh;display:grid}.bo-sidebar{color:#e5e7eb;background:linear-gradient(#111827 0%,#1f2937 100%);border-right:1px solid #374151;grid-template-rows:auto 1fr auto;gap:16px;padding:18px 14px;display:grid}.bo-brand{align-items:center;gap:10px;padding:6px;display:flex}.bo-brand-logo{object-fit:cover;object-position:center;border-radius:12px;width:52px;height:52px;display:block;box-shadow:0 10px 22px #6366f140}.bo-brand-copy{min-width:0}.bo-sidebar-title{color:#f9fafb;margin:0;font-size:16px}.bo-user-role{color:#cbd5e1;margin:2px 0 0;font-size:12px}.bo-nav{align-content:start;gap:12px;max-height:calc(100vh - 225px);padding-right:4px;display:grid;overflow:auto}.bo-nav-section-title{text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;opacity:.95;margin:0 0 6px;padding-left:10px;font-size:11px}.bo-link{color:#e5e7eb;border:1px solid #0000;border-radius:10px;padding:9px 11px;font-size:13px;text-decoration:none;transition:all .18s;display:block}.bo-link:hover{background:#ffffff14;border-color:#ffffff1f;transform:translate(2px)}.bo-link.active{color:#fff;background:linear-gradient(90deg,#4f46e5 0%,#6366f1 100%);border-color:#ffffff40;box-shadow:0 8px 20px #6366f159}.bo-sidebar-actions{flex-direction:column;gap:8px;display:flex}.bo-content{box-sizing:border-box;min-width:0;padding:18px}.bo-topbar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex;box-shadow:0 10px 30px #0f172a0d}.bo-topbar-kicker{color:#6b7280;margin:0 0 4px;font-size:12px}.bo-topbar-title{color:#111827;margin:0;font-size:24px;font-weight:700}.bo-topbar-meta{text-align:right;gap:2px;display:grid}.bo-topbar-meta strong{color:#111827;font-size:14px}.bo-topbar-meta small{color:#6b7280;font-size:12px}.bo-mobile-menu-btn{border:1px solid var(--border-strong);color:#111827;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:none}.bo-mobile-menu-btn svg{width:20px;height:20px}.bo-mobile-menu-btn .bo-menu-line{stroke:currentColor;stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:12px 12px;transition:transform .2s,opacity .2s}.bo-mobile-menu-btn.open .bo-menu-line.top{transform:translateY(5px)rotate(45deg)}.bo-mobile-menu-btn.open .bo-menu-line.middle{opacity:0}.bo-mobile-menu-btn.open .bo-menu-line.bottom{transform:translateY(-5px)rotate(-45deg)}.bo-mobile-menu-btn:hover{background:#f8faff;border-color:#b9c4e8}.bo-mobile-menu-btn.open{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.bo-mobile-backdrop{border:0;padding:0;display:none}.bo-mobile-sidebar-close,.bo-mobile-fab{display:none}.bo-content-inner{gap:14px;min-width:0;display:grid}main{min-width:0}.bo-toast-stack{z-index:1200;gap:8px;width:min(92vw,360px);display:grid;position:fixed;top:14px;right:14px}.bo-toast{text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;border:1px solid #0000;border-radius:12px;padding:11px 12px;font-size:13px;font-weight:600;box-shadow:0 14px 30px #0f172a33}.bo-toast-success{color:#f0fdf4;background:#16a34af0;border-color:#15803de6}.bo-toast-error{color:#fef2f2;background:#dc2626f0;border-color:#b91c1ce6}.bo-btn{border:1px solid #0000;border-radius:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:600}.bo-btn.ghost{color:#f3f4f6;background:#ffffff0f;border-color:#fff3}.bo-btn.ghost:hover{background:#ffffff1f}.bo-btn.danger{color:#fff;background:#dc2626}.bo-btn.danger:hover{background:#b91c1c}.bo-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bo-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bo-email-chip-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.bo-email-chip-empty{color:#64748b;font-size:12px}.bo-email-chip{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.bo-email-chip:hover{background:#dbeafe;border-color:#93c5fd}.bo-email-chip-remove{background:#1e3a8a24;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;line-height:1;display:inline-flex}.bo-contact-card-list{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;max-height:220px;padding:6px;display:grid;overflow-y:auto}.bo-contact-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;background:#f8fbff;align-items:flex-start;gap:6px;padding:6px 8px;display:flex}.bo-contact-card:hover{background:#f0f7ff;border-color:#bfdbfe}.bo-contact-card input[type=checkbox]{margin-top:2px}.bo-contact-card-content{gap:1px;min-width:0;display:grid}.bo-contact-card-content strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bo-contact-card-content small{color:#475569;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.bo-contact-card-empty{color:#64748b;margin:4px 0;font-size:12px}.bo-toolbar{justify-content:flex-end}.bo-filter-field{min-width:145px;color:var(--text-secondary);gap:4px;font-size:12px;font-weight:600;display:grid}.bo-module-intro{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.bo-inline-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.bo-inline-row-title{margin-right:auto}.bo-inline-row-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.bo-quick-product-panel{border:1px dashed var(--border-soft);border-radius:var(--radius-md);background:#fafbff;margin-bottom:10px;padding:10px}.bo-quick-product-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:8px;display:grid}.bo-venta-cliente-input.bo-search-input,.bo-compra-proveedor-input.bo-search-input,.bo-cotizacion-cliente-input.bo-search-input{flex:12rem;min-width:0}.bo-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.bo-signature-canvas-wrap{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:100%}.bo-suggestions-list{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;gap:0;max-height:220px;margin-top:8px;display:grid;overflow:auto}.bo-suggestion-item{text-align:left;border:0;border-bottom:1px solid var(--border-soft);background:#fff;border-radius:0;padding:10px 12px;font-weight:500}.bo-suggestion-item:last-child{border-bottom:0}.bo-suggestion-item:hover{background:#f5f8ff;transform:none}.bo-section-title{margin:6px 0 10px}.bo-search-input{min-width:260px}.bo-select-input{min-width:210px}.bo-check-inline{width:auto;box-shadow:none;border:0;margin-top:0;margin-right:8px;padding:0}.bo-stack-gap-sm{margin-bottom:12px}.bo-stack-gap-top{margin-top:12px}.bo-page-indicator{color:var(--text-secondary);padding:8px 4px;font-size:13px}.bo-inline-action{margin-left:12px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:25px}.pill{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.pill.ok{color:#166534;background:#dcfce7}.pill.warn{color:#92400e;background:#fef3c7}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:14px}.kpi-title{color:var(--text-secondary);margin:0 0 8px;font-size:13px}.kpi-value{color:#111827;margin:0;font-size:24px;font-weight:700}.kpi-subtitle{color:var(--text-secondary);margin:8px 0 0;font-size:12px}.card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);overflow:hidden}.card-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(#fff 0%,#fdfdff 100%);padding:14px 16px}.card-header h2{margin:0;font-size:16px}.card-body{padding:14px 16px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-soft);padding:11px 12px;font-size:14px}.module-table{border-collapse:collapse;border-radius:var(--radius-md);width:100%;font-size:13px;overflow:hidden}.module-table th,.module-table td{border:1px solid var(--border-soft);text-align:left;vertical-align:top;padding:9px 10px}.module-table th{color:#374151;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f5f7ff;font-weight:700}.module-table thead th:after{content:" ↕";color:#9ca3af;font-weight:600}.module-table thead th.sorted-asc:after{content:" ↑";color:#2563eb}.module-table thead th.sorted-desc:after{content:" ↓";color:#2563eb}.module-table tbody tr:nth-child(2n){background:#fcfdff}.module-table tbody tr:hover{background:#f5f8ff}.bo-estado-badge{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:.2rem .55rem;font-size:12px;font-weight:700;display:inline-block}.bo-estado-select.bo-estado-pendiente,.bo-estado-badge.bo-estado-pendiente{color:#92400e;background:#f59e0b1f;border-color:#f59e0b59}.bo-estado-select.bo-estado-en_proceso,.bo-estado-badge.bo-estado-en_proceso{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f659}.bo-estado-select.bo-estado-entregada,.bo-estado-badge.bo-estado-entregada{color:#166534;background:#22c55e1f;border-color:#22c55e59}.bo-estado-select.bo-estado-cancelada,.bo-estado-badge.bo-estado-cancelada{color:#991b1b;background:#ef44441f;border-color:#ef444459}.bo-th-sort{cursor:pointer;font:inherit;text-align:left;color:inherit;white-space:nowrap;background:0 0;border:none;padding:0;font-weight:700}.bo-th-sort:hover{text-decoration:underline}.json-preview{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:12px;overflow:auto}.error{color:#b91c1c;border-radius:var(--radius-md);background:#fff1f2;border:1px solid #fecdd3;padding:8px 10px}.success{color:#166534;border-radius:var(--radius-md);background:#ecfdf3;border:1px solid #bbf7d0;padding:8px 10px}.bo-actions-cell{gap:8px;display:flex}button.danger{color:#b91c1c;background:#fff1f2;border-color:#fca5a5}.bo-modal-overlay{z-index:40;background:#02061773;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.bo-modal{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:100%;max-width:760px;max-height:calc(100vh - 32px);overflow:hidden;box-shadow:0 24px 45px #02061733}.bo-modal-wide{max-width:1100px}.bo-modal-header{border-bottom:1px solid var(--border-soft);z-index:1;background:#fbfcff;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.bo-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;display:grid}.bo-modal .bo-form-grid{max-height:calc(100vh - 120px);overflow-y:auto}.bo-form-grid label{color:#374151;gap:4px;font-size:13px;font-weight:600;display:grid}.bo-form-grid textarea,.bo-form-grid select{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;width:100%;padding:10px}.bo-form-grid .full{grid-column:1/-1}.bo-modal-actions{justify-content:flex-end;gap:8px;display:flex}.bo-signature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.bo-signature-pad{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-soft);padding:8px}.bo-signature-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.bo-signature-canvas{touch-action:none;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;width:100%}.bo-signature-preview{object-fit:contain;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;width:100%;min-height:90px;max-height:180px;margin-top:6px}.muted{color:#64748b}.bo-totals{text-align:right}.bo-totals p{margin:4px 0}.perm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.perm-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.perm-toggle{align-items:center;gap:8px;margin-bottom:8px;display:flex}.perm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.perm-action{align-items:center;gap:6px;font-size:13px;display:flex}.bo-modal-perfil{flex-direction:column;max-height:min(92vh,920px);display:flex;overflow:hidden}.bo-perm-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bo-perm-form-fields{border-bottom:1px solid var(--border-soft);background:#fff;flex-shrink:0;grid-template-columns:1fr;gap:10px;padding:14px 16px 12px;display:grid}.bo-perm-activo-row{flex-direction:row;align-items:center;gap:8px;font-weight:600;display:flex}.bo-perm-form-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:120px;padding:12px 16px 16px;overflow:hidden auto}.bo-perm-form-scroll .bo-section-title{margin:0 0 6px}.bo-perm-hint{color:#64748b;margin:0 0 12px;font-size:12px;line-height:1.45}.bo-perm-admin-notice{color:#1e3a5f;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:8px;margin:0 0 8px;padding:10px 12px;font-size:13px;line-height:1.45}.bo-perm-form-fields input[readonly]{color:#475569;cursor:not-allowed;background:#f1f5f9}.perm-grid-perfil{flex-direction:column;gap:10px;max-width:520px;display:flex}.perm-card-perfil{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.perm-card-head{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}@media (width>=640px){.perm-card-head{flex-flow:wrap;justify-content:space-between;align-items:flex-start;gap:10px}}.perm-bulk-btns{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.bo-btn-linkish{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.bo-btn-linkish:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.bo-btn-linkish:disabled{opacity:.45;cursor:not-allowed}.perm-all-tag{text-transform:uppercase;letter-spacing:.04em;color:#047857;background:#d1fae5;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.perm-toggle-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.perm-modulo-titulo{font-size:14px;line-height:1.25}.perm-modulo-key{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:500;overflow:hidden}.perm-actions-perfil{border-top:1px dashed #cbd5e1;flex-direction:column;align-items:stretch;gap:6px;margin-top:8px;padding-top:10px;display:flex}.perm-actions-perfil .perm-action{background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:row;align-items:center;gap:8px;min-width:0;margin:0;padding:6px 8px;display:flex}.perm-actions-perfil .perm-action:hover{background:#fafbfc;border-color:#cbd5e1}.perm-sin-acciones{color:#64748b;margin:8px 0 0;font-size:12px}.bo-perm-form-footer{border-top:1px solid var(--border-soft);background:#f1f5f9;flex-shrink:0;padding:12px 16px 16px;box-shadow:0 -6px 16px #0f172a12}.bo-perm-footer-error{margin:0 0 10px}button{cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:#374151;background:#fff;padding:8px 12px;font-size:13px;font-weight:600;transition:all .18s}button:hover{background:#f8faff;border-color:#c7d2fe;transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed}input{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;width:100%;margin-top:6px;padding:10px}input:focus,select:focus,textarea:focus{border-color:var(--primary-500);box-shadow:var(--shadow-focus);outline:none}.card-body>div[style*=overflow-x],.card-body>.bo-table-wrap{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff}.center-screen{box-sizing:border-box;background:radial-gradient(circle at 15% 20%, #6366f126, transparent 35%), radial-gradient(circle at 85% 80%, #3b82f626, transparent 35%), linear-gradient(180deg, #f8f9ff 0%, var(--bg-page) 100%);place-items:center;width:100%;min-height:100dvh;padding:14px;display:grid;overflow:auto}.login-shell{box-sizing:border-box;width:100%;max-width:390px;margin-inline:auto;display:block}.login-brand{text-align:center;justify-items:center;gap:6px;margin-bottom:2px;display:grid}.login-brand img{object-fit:contain;width:92px;height:auto}.login-kicker{color:#475569;text-align:center;margin:0;font-size:13px}.login-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#fffffff2;border:1px solid #dde4f3;border-radius:16px;gap:12px;width:100%;margin-inline:auto;padding:22px;display:grid;box-shadow:0 18px 38px #0f172a14}.login-card h1{letter-spacing:-.02em;margin:0;font-size:24px}.login-card label{color:#334155;gap:6px;font-size:13px;font-weight:600;display:grid}.login-card input{height:42px}.login-subtitle{color:#64748b;margin:-6px 0 2px;font-size:13px}.login-actions-inline{justify-content:flex-end;display:flex}.login-card button{min-height:42px}.login-actions-inline button{min-height:34px;padding:6px 10px;font-size:12px}@media (width<=640px){.center-screen{min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));place-items:center}.login-shell{width:100%;max-width:360px;margin-top:0}.login-brand img{width:84px}.login-kicker{font-size:12px}.login-card{border-radius:12px;gap:10px;padding:16px}.login-card h1{font-size:21px}}@media (width<=1024px){.bo-layout{grid-template-columns:1fr}.bo-sidebar{z-index:60;width:min(86vw,320px);max-height:100vh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 20px 40px #0f172a59}.bo-sidebar.open{transform:translate(0)}.bo-mobile-sidebar-close{color:#e5e7eb;background:#ffffff14;border:1px solid #ffffff47;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:fit-content;margin-left:auto;padding:6px 10px;font-size:12px;display:inline-flex}.bo-mobile-backdrop{z-index:55;opacity:0;pointer-events:none;background:#02061773;border:0;transition:opacity .2s;display:block;position:fixed;inset:0}.bo-mobile-backdrop.open{opacity:1;pointer-events:auto}.bo-mobile-menu-btn{margin-bottom:8px;display:inline-flex}.bo-mobile-fab{z-index:70;color:#fff;background:#4f46e5;border:1px solid #c7d2fe;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:inline-flex;position:fixed;bottom:14px;right:14px;box-shadow:0 12px 24px #4f46e559}.bo-mobile-fab.open{background:#1f2937;border-color:#4b5563}.bo-topbar{flex-direction:column;align-items:flex-start}.bo-topbar-meta{text-align:left}.bo-nav{min-height:0;max-height:none}.bo-form-grid{grid-template-columns:1fr}.bo-search-input,.bo-select-input{min-width:180px}.perm-grid,.perm-actions,.bo-signature-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.bo-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}}@media (width<=640px){.kpi-grid{grid-template-columns:1fr}.page-header h1{word-break:break-word;font-size:1.35rem;line-height:1.25}.bo-topbar-title{word-break:break-word;font-size:1.25rem}.bo-topbar>div:first-child{width:100%;min-width:0}.bo-modal-overlay{padding:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);align-items:stretch}.bo-modal,.bo-modal-wide{border-radius:0;flex-direction:column;width:100%;max-width:none;min-height:100dvh;max-height:none;display:flex}.bo-modal>form.bo-form-grid,.bo-modal>.bo-form-grid{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:none;padding-bottom:8px;overflow-y:auto}.bo-modal-perfil .bo-perm-form{flex:auto;min-height:0;overflow:hidden}.bo-modal-perfil{max-height:100dvh}.bo-modal-header{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));padding-top:max(12px, env(safe-area-inset-top,0px));flex-shrink:0}.bo-modal-actions,.bo-modal .bo-modal-actions.full{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-soft);background:var(--bg-surface);z-index:2;flex-wrap:wrap;flex-shrink:0;gap:10px;margin-top:auto;position:sticky;bottom:0}.bo-modal-actions button{flex:auto;min-width:min(140px,100%)}.bo-inline-row{flex-direction:column;align-items:stretch;gap:10px}.bo-inline-row-actions{flex-direction:column;justify-content:stretch;align-items:stretch;width:100%;margin-left:0}.bo-inline-row-actions>button,.bo-inline-row-actions>input{width:100%;min-width:0}.bo-search-input,.bo-select-input{width:100%;min-width:0!important}.bo-filter-field{width:100%;min-width:0}.bo-header-row{flex-direction:column;align-items:stretch}.bo-actions-row{width:100%}.module-table{font-size:12px}.module-table th,.module-table td{padding:8px 6px}.module-table input,.module-table select{box-sizing:border-box;min-height:40px;font-size:13px}.page-header button,.bo-actions-row button,.bo-modal-actions button,.bo-modal-header button,.module-table button,.bo-inline-row-actions button{min-height:40px}.bo-signature-head{flex-wrap:wrap}.bo-signature-head button{min-height:40px}.card-header,.card-body{padding-left:12px;padding-right:12px}.json-preview{max-width:100%;font-size:11px;overflow-x:auto}.bo-content{padding:12px;padding-bottom:calc(12px + 56px + env(safe-area-inset-bottom,0px))}.bo-toast-stack{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto;left:10px;right:10px}.bo-toast{padding:12px 13px;font-size:13px}.bo-venta-form.bo-form-grid,.bo-compra-form.bo-form-grid,.bo-cotizacion-form.bo-form-grid{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));gap:12px}.bo-venta-form .bo-modal-actions.full,.bo-compra-form .bo-modal-actions.full,.bo-cotizacion-form .bo-modal-actions.full{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px))}.bo-venta-form .bo-suggestions-list,.bo-compra-form .bo-suggestions-list,.bo-cotizacion-form .bo-suggestions-list{max-height:min(38vh,220px)}.bo-venta-form .bo-venta-cliente-section{align-items:stretch;width:100%}.bo-venta-form .bo-venta-cliente-row{width:100%;max-width:none}.bo-venta-form .bo-venta-cliente-input.bo-search-input{width:100%;min-width:0;max-width:none;flex:auto!important}.bo-venta-form .bo-venta-cliente-section .bo-suggestions-list{box-sizing:border-box;width:100%;max-width:none}.bo-cotizacion-form .bo-cotizacion-cliente-section{align-items:stretch;width:100%}.bo-cotizacion-form .bo-cotizacion-cliente-row{width:100%;max-width:none}.bo-cotizacion-form .bo-cotizacion-cliente-input.bo-search-input{width:100%;min-width:0;max-width:none;flex:auto!important}.bo-cotizacion-form .bo-cotizacion-cliente-section .bo-suggestions-list{box-sizing:border-box;width:100%;max-width:none}.bo-compra-form .bo-compra-proveedor-section{align-items:stretch;width:100%}.bo-compra-form .bo-compra-proveedor-row{width:100%;max-width:none}.bo-compra-form .bo-compra-proveedor-input.bo-search-input{width:100%;min-width:0;max-width:none;flex:auto!important}.bo-compra-form .bo-compra-proveedor-section .bo-suggestions-list{box-sizing:border-box;width:100%;max-width:none}.bo-venta-form .bo-inline-row-title,.bo-compra-form .bo-inline-row-title,.bo-cotizacion-form .bo-inline-row-title{width:100%;margin-bottom:4px}.bo-venta-form .bo-totals,.bo-compra-form .bo-totals,.bo-cotizacion-form .bo-totals{text-align:left;border-top:1px dashed var(--border-soft);margin-top:4px;padding:12px 0}.bo-table-responsive-lines{width:calc(100% + 8px);margin-left:-4px;margin-right:-4px;overflow-x:visible}.bo-table-responsive-lines .module-table{border:0;width:100%;display:block}.bo-table-responsive-lines .module-table thead{display:none}.bo-table-responsive-lines .module-table tbody{display:block}.bo-table-responsive-lines .module-table tbody tr{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-soft);box-shadow:var(--shadow-soft);margin-bottom:14px;padding:12px 12px 10px;display:block}.bo-table-responsive-lines .module-table tbody td{border:none;border-bottom:1px dashed var(--border-soft);vertical-align:middle;grid-template-columns:minmax(6.5rem,36%) 1fr;align-items:center;gap:8px 10px;padding:10px 0;display:grid}.bo-table-responsive-lines .module-table tbody td:last-child{border-bottom:0;padding-bottom:2px}.bo-table-responsive-lines .module-table tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:11px;font-weight:700;line-height:1.2}.bo-table-responsive-lines .module-table tbody td[data-label=Acciones]{grid-template-columns:1fr;padding-top:12px}.bo-table-responsive-lines .module-table tbody td[data-label=Acciones]:before{display:none}.bo-table-responsive-lines .module-table tbody td select,.bo-table-responsive-lines .module-table tbody td input{width:100%;min-width:0;max-width:100%;margin-top:0}.bo-table-responsive-lines .module-table tbody td .bo-line-subtotal{justify-self:start;font-size:14px;font-weight:700}.bo-modal-venta .bo-modal-header,.bo-modal-compra .bo-modal-header,.bo-modal-cotizacion .bo-modal-header{gap:10px}.bo-modal-venta .bo-modal-header h3,.bo-modal-compra .bo-modal-header h3,.bo-modal-cotizacion .bo-modal-header h3{flex:1;min-width:0;margin:0;padding-right:8px;font-size:1.05rem;line-height:1.3}}
