:root{--bg: #f5f6f8;--surface: #ffffff;--surface-soft: #f0f2f5;--surface-hover: #eef1f5;--ink: #16191e;--ink-soft: #59616d;--ink-faint: #8b94a1;--line: #e2e6ec;--line-soft: #eef1f5;--brand: #8a6d1a;--brand-strong: #6f5714;--brand-hover: #7a6118;--brand-soft: #f8f3e1;--brand-border: #e7d9ac;--brand-ink: #5c4a10;--primary: #8a6d1a;--primary-hover: #755d16;--primary-ink: #ffffff;--ok: #177a45;--ok-bg: #e2f4e8;--ok-border: #bfe6cd;--warn: #8f6407;--warn-bg: #fdf2d3;--warn-border: #f0dfa8;--danger: #b3372b;--danger-bg: #fdecea;--danger-border: #f5c9c4;--info: #1d5fc2;--info-bg: #e9f1fd;--info-border: #c4d9f7;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 4px 12px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-size: 15px;--tap: 44px;--sidebar-w: 248px;--header-h: 60px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:var(--font-size);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0 0 .6rem;line-height:1.25;letter-spacing:-.01em;font-weight:650}h1{font-size:1.55rem}h2{font-size:1.3rem}h3{font-size:1.05rem}h4{font-size:.95rem}p{margin:0 0 .75rem}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--ink-soft)}code{background:var(--surface-soft);border:1px solid var(--line-soft);padding:.1em .45em;border-radius:var(--radius-sm);font-size:.88em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app-shell{display:flex;min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;height:var(--header-h)}.header-inner{height:var(--header-h);padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:750;letter-spacing:-.01em;color:var(--ink);margin:0}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#a8871f,#8a6d1a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:var(--shadow-sm)}.header-context{margin:.1rem 0 0;font-size:.8rem;color:var(--ink-soft)}.header-actions{display:flex;align-items:center;gap:.6rem}.lang-switch select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font-size:.85rem;padding:.35rem .5rem;min-height:36px}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;padding:.9rem .7rem 1.5rem}.sidebar-group{margin-bottom:1.1rem}.sidebar-group-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);padding:0 .7rem;margin-bottom:.35rem}.sidebar-item{display:flex;align-items:center;gap:.65rem;width:100%;border:0;background:transparent;text-align:left;font-family:inherit;font-size:.93rem;font-weight:500;color:var(--ink-soft);padding:.55rem .7rem;border-radius:var(--radius-sm);border-left:3px solid transparent;cursor:pointer;margin-bottom:1px;transition:background .12s ease,color .12s ease}.sidebar-item:hover{background:var(--surface-hover);color:var(--ink)}.sidebar-item-active{background:var(--brand-soft);color:var(--brand-ink);border-left-color:var(--brand);font-weight:650}.sidebar-item-icon{width:1.15rem;text-align:center;font-size:1rem;flex-shrink:0}.app-main{flex:1;min-width:0;padding:1.5rem 1.75rem 3rem;max-width:1280px}.page{max-width:1280px;margin:0 auto;padding:1.5rem 1.75rem 3rem}.tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-bottom:0}.tab{border:0;background:transparent;font-family:inherit;font-size:.92rem;font-weight:550;color:var(--ink-soft);padding:.65rem .9rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--ink)}.tab-active{color:var(--brand-strong);border-bottom-color:var(--brand);font-weight:650}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:.93rem;font-weight:600;line-height:1;min-height:var(--tap);padding:.7rem 1.15rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .05s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:#cfd6df}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#9c2f24;border-color:#9c2f24}.btn-small{min-height:36px;padding:.45rem .8rem;font-size:.86rem;border-radius:var(--radius-sm)}.btn-block{width:100%}.field{margin-bottom:1rem}.field>label{display:block;font-size:.86rem;font-weight:600;color:var(--ink);margin-bottom:.35rem}.field .muted,.field-hint{font-size:.82rem;color:var(--ink-soft);margin-top:.3rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],input[type=url],select,textarea{width:100%;font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .85rem;min-height:var(--tap);transition:border-color .12s ease,box-shadow .12s ease}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #8a6d1a26}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-soft);color:var(--ink-faint);cursor:not-allowed}.field-row{display:flex;gap:.9rem;flex-wrap:wrap}.field-row .field{flex:1 1 200px}.field-inline{display:flex;align-items:center;gap:.6rem}.field-check{display:flex;align-items:center;gap:.55rem;font-size:.93rem;min-height:var(--tap);cursor:pointer}.field-check input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--brand)}.field-action{display:flex;gap:.6rem;align-items:flex-end}.field-action input,.field-action select{flex:1}.form-error{color:var(--danger);font-size:.85rem;margin-top:.3rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.lines-editor{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}.lines-row{display:grid;grid-template-columns:1fr 110px 130px 44px;gap:.6rem;align-items:center;padding:.6rem .8rem;border-bottom:1px solid var(--line-soft)}.lines-row:last-child{border-bottom:0}.qty-input{max-width:110px}.scan-input{font-family:ui-monospace,monospace}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:.92rem}thead th{text-align:left;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--surface-soft);padding:.65rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap}tbody td{padding:.7rem .85rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fafbfc}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.cell-actions{display:flex;gap:.4rem;justify-content:flex-end}.row-inactive td{color:var(--ink-faint)}.row-unread td{font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.4rem;margin-bottom:1.25rem}.card>h3:first-child{margin-top:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.section-head h2,.section-head h3{margin:0}.detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem 1.4rem;margin:0}.detail-list dt{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.detail-list dd{margin:.15rem 0 0;font-size:.98rem;font-weight:550}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:650;line-height:1;padding:.32rem .65rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pill-pendiente,.pill-pending,.pill-borrador,.pill-en{background:var(--surface-soft);color:var(--ink-soft);border-color:var(--line)}.pill-ok,.pill-disponible,.pill-verificada,.pill-pagada,.pill-emitida,.pill-confirmada,.pill-confirmado,.pill-aprobada,.pill-aceptada,.pill-entregado,.pill-recibida,.pill-convertida,.pill-active,.pill-activo,.pill-synced,.pill-impresa,.pill-enviada{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.pill-warn,.pill-parcial,.pill-reservada,.pill-vencida,.pill-past,.pill-merma,.pill-a{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.pill-error,.pill-danger,.pill-anulada,.pill-cancelada,.pill-canceled,.pill-rechazada,.pill-danada,.pill-baja,.pill-suspended,.pill-failed,.pill-fuera,.pill-vendida,.pill-devuelta,.pill-cerrado{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.banner{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;border-radius:var(--radius);border:1px solid;font-size:.92rem;margin-bottom:1rem}.banner-success{background:var(--ok-bg);border-color:var(--ok-border);color:#14532d}.banner-warning{background:var(--warn-bg);border-color:var(--warn-border);color:#6b4e06}.banner-error{background:var(--danger-bg);border-color:var(--danger-border);color:#7c231b}.banner-close{margin-left:auto;border:0;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:.1rem .3rem}.banner-close:hover{opacity:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10141a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:100;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:640px;padding:1.5rem 1.6rem;animation:modal-in .16s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line-soft)}.modal-head h2{margin:0;font-size:1.2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line-soft)}.center-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:3rem 1rem;text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.limit-row{margin-bottom:.9rem}.limit-head{display:flex;justify-content:space-between;font-size:.88rem;margin-bottom:.3rem}.limit-bar{height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.limit-fill{height:100%;background:var(--brand);border-radius:999px;transition:width .3s ease}.limit-bar-warn .limit-fill{background:var(--warn)}.limit-bar-danger .limit-fill{background:var(--danger)}.limit-msg{font-size:.82rem;margin:.3rem 0 0}.limit-msg-warn{color:var(--warn)}.limit-msg-danger{color:var(--danger)}.evidence{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.verify-ok{color:var(--ok);font-weight:650}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(160deg,#f8f6ee 0%,var(--bg) 55%)}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.2rem 2.4rem;width:100%;max-width:400px}.auth-card h1{display:flex;align-items:center;gap:.6rem}.auth-lang{margin-top:1.2rem;text-align:center}.org-list{display:grid;gap:.7rem;margin-top:1rem}.org-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.1rem;font-family:inherit;font-size:.95rem;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.org-item:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.portal-layout{max-width:1100px;margin:0 auto;padding:1.5rem}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.portal-price{font-size:1.15rem;font-weight:700;color:var(--brand-strong)}.portal-cart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem}.portal-cart-list{display:grid;gap:.6rem;margin-bottom:1rem}.portal-cart-line-actions{display:flex;gap:.4rem}.portal-cart-total{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:700;padding-top:.8rem;border-top:1px solid var(--line)}.portal-add{width:100%}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin-bottom:1.2rem}.report-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;cursor:pointer;padding:1rem 1.1rem;transition:border-color .15s ease,box-shadow .15s ease}.report-card:hover{border-color:var(--brand)}.report-card-active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)}.report-card-icon{font-size:1.5rem;line-height:1}.report-card strong{font-size:.98rem}.report-card .muted{font-size:.85rem;line-height:1.4}.report-filters{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.2rem}.report-filters .field{margin-bottom:0;min-width:160px}.label-preview{border:1px dashed var(--line);border-radius:var(--radius);padding:1rem;background:var(--surface)}.label-preview-inner{display:flex;gap:1rem;align-items:center}.label-preview-main{font-weight:700}.label-preview-meta{font-size:.82rem;color:var(--ink-soft)}.label-preview-price{font-size:1.2rem;font-weight:750;color:var(--brand-strong)}.label-preview-id{font-size:.75rem;color:var(--ink-faint)}.label-preview-desc{font-size:.85rem}.label-barcode{font-family:ui-monospace,monospace;letter-spacing:.15em}@media (max-width: 900px){.sidebar{display:none}.mobile-nav{display:flex}.app-main,.page{padding:1rem 1rem 2.5rem}.header-inner{padding:0 1rem}.header-context{display:none}}.mobile-nav{display:none;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:1.25rem}@media (max-width: 640px){.modal{padding:1.2rem}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.lines-row{grid-template-columns:1fr 90px 110px 40px}.auth-card{padding:1.6rem 1.4rem}}
