:root{--bg: #f4f4f5;--surface: #ffffff;--surface-soft: #f4f4f5;--surface-hover: #fafafa;--ink: #111111;--ink-soft: #5a5a60;--ink-faint: #7a7a80;--ink-placeholder: #a8a8ae;--line: #dadadf;--line-soft: #ececee;--brand: #b8985a;--brand-strong: #1e1e1e;--brand-hover: #a3874c;--brand-soft: #f5eedf;--brand-border: #b8985a;--brand-ink: #1e1e1e;--primary: #1e1e1e;--primary-hover: #333333;--primary-ink: #ffffff;--ok: #1e8e4e;--ok-bg: #e6f6ec;--ok-border: #e6f6ec;--warn: #a66a00;--warn-bg: #fff4db;--warn-border: #fff4db;--danger: #c62828;--danger-bg: #fde8e8;--danger-border: #fde8e8;--info: #1f5fbf;--info-bg: #e8f0fe;--info-border: #e8f0fe;--radius-sm: 8px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 2px rgba(0, 0, 0, .05);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .05);--font: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;--font-size: 14px;--tap: 36px;--sidebar-w: 240px;--header-h: 60px;--sidebar-bg: #ececee;--sidebar-text: #111111;--sidebar-hover: #e0e0e3;--sidebar-active-bg: #dcdce0}:root[data-theme=oceano]{--primary: #1d4f8f;--primary-hover: #16406f;--brand-strong: #1d4f8f;--sidebar-bg: #e8f0fe;--sidebar-hover: #dce6f7;--sidebar-active-bg: #d3dff2}:root[data-theme=esmeralda]{--primary: #1e6b4a;--primary-hover: #175741;--brand-strong: #1e6b4a;--sidebar-bg: #e6f6ec;--sidebar-hover: #d8eedf;--sidebar-active-bg: #cde8d5}:root[data-theme=grafito]{--primary: #3a3f47;--primary-hover: #2e333a;--brand-strong: #3a3f47}*{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}h1{font-size:24px;font-weight:700}h2{font-size:20px;font-weight:600}h3{font-size:16px;font-weight:600}h4{font-size:14px;font-weight:600}p{margin:0 0 .75rem}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--ink-faint)}code{background:var(--surface-soft);border:1px solid var(--line-soft);padding:.1em .45em;border-radius:var(--radius-sm);font-size:13px;font-weight:400;color:var(--ink-faint)}.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:8px;background:var(--brand);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(--sidebar-bg);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:11px;font-weight:600;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:14px;font-weight:500;color:var(--sidebar-text);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(--sidebar-hover);color:var(--sidebar-text)}.sidebar-item-active{background:var(--sidebar-active-bg);color:var(--primary);border-left-color:var(--brand);font-weight:600}.sidebar-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar-item-icon{width:1.15rem;text-align:center;font-size:1rem;flex-shrink:0}.app-main{flex:1;min-width:0;padding:24px;max-width:1600px}.page{max-width:1600px;margin:0 auto;padding:24px}.page>h2:first-of-type,.record-title-row h2{border-bottom:2px solid var(--brand);padding-bottom:8px}.tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:1.25rem;padding-bottom:0}.tab{border:1px solid var(--line);background:var(--surface);font-family:inherit;font-size:13px;font-weight:500;text-transform:uppercase;color:var(--ink);height:36px;padding:0 16px;border-radius:var(--radius);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center}.tab:hover{background:var(--surface-hover)}.tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tab-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.tab-active:hover{background:var(--primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:14px;font-weight:500;line-height:1;min-height:36px;height:36px;padding:0 16px;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:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.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:var(--line)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.btn-small{min-height:36px;height:36px;padding:0 12px;font-size:13px;border-radius:var(--radius)}.btn-block{width:100%}.field{margin-bottom:16px}.field>label{display:block;font-size:12px;font-weight:400;color:var(--ink-soft);margin-bottom:4px}.field .muted,.field-hint{font-size:12px;color:var(--ink-faint);margin-top:.3rem}input:not([type]),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:14px;font-weight:400;line-height:1.45;color:var(--ink);-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:0 12px;min-height:38px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}input[type=number]{font-variant-numeric:tabular-nums}textarea{min-height:7.5rem;resize:vertical;padding:12px}textarea[rows="2"]{min-height:66px}textarea[rows="3"]{min-height:96px}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--ink);transition:background-color 9999s ease-in-out 0s}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #1e1e1e14}input::placeholder,textarea::placeholder{color:var(--ink-placeholder)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-soft);color:var(--ink-placeholder);cursor:not-allowed}.field-error input,.field-error select,.field-error textarea,input.field-error,select.field-error,textarea.field-error{border-color:var(--danger)}.field-row{display:flex;gap:16px 24px;flex-wrap:wrap}.field-row .field{flex:1 1 280px}.field-inline{display:flex;align-items:center;gap:.6rem}.field-check{display:flex;align-items:center;gap:.55rem;font-size:14px;min-height:var(--tap);cursor:pointer}.field-check input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.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:12px;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-lg);background:var(--surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--surface-soft);padding:12px;border-bottom:1px solid var(--line-soft);white-space:nowrap}tbody td{padding:13px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-hover)}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:20px;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:12px;font-weight:400;color:var(--ink-soft)}.detail-list dd{margin:.15rem 0 0;font-size:14px;font-weight:400}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--radius-pill);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:transparent}.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:transparent}.pill-inactive,.pill-inactivo{background:var(--line-soft);color:var(--ink-soft);border-color:transparent}.pill-warn,.pill-parcial,.pill-reservada,.pill-vencida,.pill-past,.pill-merma,.pill-a{background:var(--warn-bg);color:var(--warn);border-color:transparent}.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,.pill-blocked,.pill-bloqueado{background:var(--danger-bg);color:var(--danger);border-color:transparent}.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-bg);color:var(--ok)}.banner-warning{background:var(--warn-bg);border-color:var(--warn-bg);color:var(--warn)}.banner-error{background:var(--danger-bg);border-color:var(--danger-bg);color:var(--danger)}.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:20px;font-weight:600}.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(--primary);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(--primary);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:var(--bg)}.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(--primary);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(--ink);font-variant-numeric:tabular-nums}.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(--primary)}.report-card-active{border-color:var(--primary);box-shadow:0 0 0 2px #1e1e1e14}.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(--ink);font-variant-numeric:tabular-nums}.label-preview-id{font-size:13px;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}}.app-main:has(.record-page){max-width:none}.record-page{width:100%}.record-back{border:0;background:transparent;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink-soft);cursor:pointer;padding:.25rem 0;margin-bottom:.35rem}.record-back:hover{color:var(--primary)}.record-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.record-title-row h2{margin:0;font-size:24px;font-weight:700;line-height:1.2}.record-title-row .btn{margin-left:auto}.record-essentials{color:var(--ink-soft);font-size:.95rem;margin-top:.3rem}.record-page .tabs{margin-top:1rem}tr.row-clickable{cursor:pointer}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}.theme-card{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.theme-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-sm)}.theme-card-active{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-soft)}.theme-swatch{width:34px;height:34px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001f}.theme-name{font-weight:600;color:var(--ink);flex:1}.theme-check{color:var(--primary);font-weight:800;font-size:1.1rem}
