.pm{--pm-border: var(--ink-200);--pm-border-strong: var(--ink-300);--pm-surface: var(--surface);--pm-bg: var(--bg);--pm-fg: var(--ink-900);--pm-fg-soft: var(--ink-700);--pm-fg-muted: var(--ink-500);--pm-accent: var(--green-700);--pm-accent-soft: var(--green-50);--pm-warn: var(--accent-500);--pm-danger: var(--danger-500);--pm-radius: 8px;--pm-radius-sm: 6px;--pm-mono: ui-monospace, "SF Mono", "Roboto Mono", "JetBrains Mono", Menlo, Consolas, monospace;max-width:640px;margin:0 auto;padding:24px 16px 96px;display:flex;flex-direction:column;gap:14px;color:var(--pm-fg);min-height:100vh;min-height:100dvh}.pm-mono{font-family:var(--pm-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.pm-header{margin-bottom:4px}.pm-header--with-back{display:flex;align-items:flex-start;gap:12px;flex-direction:column}.pm-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:4px 0;font:inherit;font-size:13px;color:var(--pm-fg-muted);cursor:pointer}.pm-back:hover{color:var(--pm-fg)}.pm-back svg{display:block}.pm-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pm-fg-muted)}.pm-eyebrow-row{display:flex;align-items:center;gap:8px}.pm-version{font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--pm-fg-muted);opacity:.65;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace}.pm-version--footer{position:absolute;right:14px;bottom:calc(env(safe-area-inset-bottom,0) + 14px);pointer-events:none}.pm-title{margin:4px 0 0;font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--pm-fg)}.pm-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pm-surface);border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:18px 18px 16px;font:inherit;text-align:left;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:border-color .12s ease,transform .06s ease,background .12s ease;color:var(--pm-fg)}.pm-option:hover{border-color:var(--pm-border-strong)}.pm-option:active{transform:translateY(1px)}.pm-option--primary{background:var(--pm-fg);border-color:var(--pm-fg);color:#fff}.pm-option--primary:hover{background:#000;border-color:#000}.pm-option--primary .pm-option-eyebrow{color:#ffffff8c}.pm-option--primary .pm-option-desc{color:#ffffffb8}.pm-option-body{display:flex;flex-direction:column;gap:4px}.pm-option-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--pm-fg-muted)}.pm-option-title{font-size:18px;font-weight:600;letter-spacing:-.01em}.pm-option-desc{font-size:13px;line-height:1.45;color:var(--pm-fg-soft);margin-top:2px}.pm-option-cta{font-size:13px;font-weight:600;align-self:flex-end;font-feature-settings:"tnum"}.pm-medir-screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%}.pm-medir-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px}.pm-medir-button-area{display:flex;justify-content:center;padding:0 16px 28px}.pm-medir-status--minimal{position:relative;display:flex;justify-content:center;align-items:center;padding:0 0 calc(env(safe-area-inset-bottom,0) + 18px);background:transparent;border:none;margin:0}.pm-medir-topbar{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 16px 6px}.pm-icon-btn{background:transparent;border:1px solid transparent;width:36px;height:36px;border-radius:var(--pm-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--pm-fg-soft);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.pm-icon-btn:hover{background:var(--ink-50);color:var(--pm-fg)}.pm-curva-pill{background:var(--pm-surface);border:1px solid var(--pm-border-strong);border-radius:999px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;color:var(--pm-fg);cursor:pointer;max-width:100%;transition:border-color .12s,background .12s}.pm-curva-pill:hover{border-color:var(--pm-fg);background:var(--ink-50)}.pm-curva-pill__label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pm-fg-muted)}.pm-curva-pill__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:transparent}.pm-popover{position:absolute;top:44px;right:0;z-index:51;background:var(--pm-surface);border:1px solid var(--pm-border-strong);border-radius:var(--pm-radius);box-shadow:0 12px 32px #0f172a2e;min-width:220px;padding:4px;display:flex;flex-direction:column}.pm-popover-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;text-align:left;padding:10px 12px;border-radius:var(--pm-radius-sm);font:inherit;font-size:14px;color:var(--pm-fg);cursor:pointer;display:flex;flex-direction:column;gap:2px}.pm-popover-item:hover:not(:disabled){background:var(--ink-50)}.pm-popover-item:disabled{opacity:.4;cursor:not-allowed}.pm-popover-hint{font-size:11px;color:var(--pm-fg-muted)}.pm-tap-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pm-fg);color:#fff;border:none;border-radius:50%;width:280px;height:280px;position:relative;font:inherit;font-size:30px;font-weight:700;letter-spacing:.16em;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;transition:transform .08s ease,background .18s,box-shadow .18s;box-shadow:0 16px 48px #0f172a38,inset 0 -3px #0000002e}.pm-tap-btn:hover:not(:disabled){background:#000}.pm-tap-btn:active:not(:disabled){transform:scale(.96)}.pm-tap-btn:disabled{background:var(--ink-300);color:#ffffffa6;cursor:not-allowed;box-shadow:none}.pm-tap-btn--calibrar{background:var(--green-700)}.pm-tap-btn--calibrar:hover:not(:disabled){background:var(--green-800)}.pm-tap-btn--running{background:var(--pm-fg);cursor:default;box-shadow:0 16px 48px #0f172a38;position:relative}.pm-tap-btn__progress{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pm-tap-btn__label{position:relative;z-index:1;font-size:inherit;line-height:1.05;display:inline-block}.pm-camera-preview{display:none}@media (max-width: 480px){.pm-tap-btn{width:240px;height:240px;font-size:26px}}.pm-medir-hint{text-align:center;max-width:320px;font-size:13px;color:var(--pm-fg-muted);line-height:1.5;margin:0}.pm-medir-progress{position:relative;width:248px;height:248px;display:flex;align-items:center;justify-content:center}.pm-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pm-progress-text{position:relative;text-align:center;display:flex;flex-direction:column;gap:2px}.pm-progress-num{font-size:56px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--pm-fg)}.pm-progress-unit{font-size:.4em;font-weight:500;margin-left:4px;color:var(--pm-fg-muted)}.pm-progress-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pm-fg-muted);font-weight:600}.pm-progress-meta{font-size:12px;color:var(--pm-fg-muted);margin-top:6px}.pm-medir-progress>.pm-link{position:absolute;bottom:-36px;left:50%;transform:translate(-50%)}.pm-resultado{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;width:100%;max-width:380px}.pm-resultado-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--pm-fg-muted);margin-bottom:4px}.pm-resultado-num{font-size:clamp(72px,22vw,124px);font-weight:600;line-height:1;letter-spacing:-.045em;color:var(--pm-fg)}.pm-resultado-unit{font-size:.34em;font-weight:500;letter-spacing:0;margin-left:6px;color:var(--pm-fg-muted);text-transform:lowercase;font-family:var(--font-sans)}.pm-resultado-sub{font-size:14px;color:var(--pm-fg-soft);margin-top:6px}.pm-resultado-sub.pm-warning{color:var(--pm-warn)}.pm-resultado-meta{font-size:12px;color:var(--pm-fg-muted);margin-top:4px}.pm-btn-medir-de-nuevo{margin-top:18px;min-width:220px}.pm-medir-status{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--pm-surface);border:1px solid var(--pm-border);border-radius:var(--pm-radius);font-size:12px;color:var(--pm-fg-soft);font-feature-settings:"tnum";margin-top:auto}.pm-status-sep{color:var(--pm-fg-muted)}.pm-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pm-dot--green{background:var(--green-500)}.pm-dot--yellow{background:var(--accent-500)}.pm-dot--red{background:var(--danger-500)}.pm-card{background:var(--pm-surface);border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:16px;display:flex;flex-direction:column;gap:12px}.pm-card--compact{padding:14px 16px}.pm-card-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pm-fg-muted)}.pm-curvas-card{gap:14px}.pm-curva-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pm-curva-lista--manage{gap:0}.pm-curva-row-wrap{display:flex;align-items:stretch;gap:6px;border-bottom:1px solid var(--pm-border)}.pm-curva-row-wrap:last-child{border-bottom:none}.pm-curva-row{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;text-align:left;padding:12px 8px;border-radius:var(--pm-radius-sm);font:inherit;cursor:pointer;color:var(--pm-fg);display:flex;align-items:center;gap:12px}.pm-curva-row:hover{background:var(--ink-50)}.pm-curva-row__radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--pm-border-strong);position:relative;flex-shrink:0}.pm-curva-row--active .pm-curva-row__radio{border-color:var(--pm-fg)}.pm-curva-row--active .pm-curva-row__radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--pm-fg)}.pm-curva-row__main{display:flex;flex-direction:column;gap:2px;min-width:0}.pm-curva-row__name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-curva-row__sub{font-size:12px;color:var(--pm-fg-muted)}.pm-curva-row__actions{display:flex;align-items:center;gap:8px;padding:0 8px;flex-shrink:0}.pm-curva-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--pm-border);border-radius:var(--pm-radius-sm);padding:10px 12px;font:inherit;cursor:pointer;color:var(--pm-fg);display:flex;flex-direction:column;gap:2px;width:100%;text-align:left}.pm-curva-item:hover{background:var(--ink-50)}.pm-curva-item--active{border-color:var(--pm-fg);background:var(--ink-50)}.pm-curva-item__name{font-size:14px;font-weight:600}.pm-curva-item__desc{font-size:12px;color:var(--pm-fg-muted)}.pm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;animation:pm-fade-in .18s ease-out}.pm-modal{background:var(--pm-surface);border-radius:var(--pm-radius) var(--pm-radius) 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px;animation:pm-slide-up .22s ease-out}.pm-modal-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pm-fg-muted)}@media (min-width: 600px){.pm-modal-backdrop{align-items:center}.pm-modal{border-radius:var(--pm-radius);margin:16px}}@keyframes pm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pm-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pm-row{display:flex;gap:10px}.pm-row--2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pm-field{display:flex;flex-direction:column;gap:6px}.pm-field-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--pm-fg-muted)}.pm-input,.pm-select,.pm-textarea{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--pm-border);border-radius:var(--pm-radius-sm);background:var(--pm-surface);color:var(--pm-fg);transition:border-color .12s,box-shadow .12s}.pm-input:focus,.pm-select:focus,.pm-textarea:focus{outline:none;border-color:var(--pm-fg);box-shadow:0 0 0 2px #0f172a14}.pm-modal--wide{max-width:560px;max-height:88vh;overflow-y:auto}.pm-puntos-tabla{display:flex;flex-direction:column;gap:6px;margin-top:4px}.pm-puntos-header,.pm-puntos-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:8px;align-items:center}.pm-puntos-header{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--pm-fg-muted);padding:0 2px}.pm-puntos-row .pm-input{padding:8px 10px;font-size:14px}.pm-icon-btn--danger{border:1px solid var(--pm-border);color:var(--pm-fg-muted);font-size:18px;line-height:1}.pm-icon-btn--danger:hover:not(:disabled){border-color:#c0392b;color:#c0392b;background:transparent}.pm-icon-btn--danger:disabled{opacity:.3;cursor:not-allowed}.pm-btn--sm{font-size:13px;padding:7px 10px;align-self:flex-start}.pm-auth{display:flex;flex-direction:column;gap:14px}.pm-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--pm-surface);border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:4px}.pm-auth-tab{background:transparent;border:none;border-radius:var(--pm-radius-sm);font:inherit;font-size:13px;font-weight:500;padding:9px 8px;color:var(--pm-fg-muted);cursor:pointer;transition:background .12s,color .12s}.pm-auth-tab--active{background:var(--pm-fg);color:#fff}.pm-auth-form{display:flex;flex-direction:column;gap:12px}.pm-auth-error{padding:9px 12px;background:#c0392b14;border:1px solid rgba(192,57,43,.2);color:#c0392b;border-radius:var(--pm-radius-sm);font-size:13px}.pm-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;position:relative}.pm-sync-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:var(--pm-surface);border:1px solid var(--pm-border);font-size:11px;color:var(--pm-fg-muted);align-self:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:6px}.pm-sync-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.pm-sync-dot--ok{background:#22c55e}.pm-sync-dot--syncing{background:#3b82f6;animation:pm-pulse 1s ease-in-out infinite}.pm-sync-dot--offline,.pm-sync-dot--pending{background:#f59e0b}.pm-sync-dot--error{background:#ef4444}@keyframes pm-pulse{0%,to{opacity:.5}50%{opacity:1}}.pm-popover-info{padding:10px 12px 8px;border-bottom:1px solid var(--pm-border);display:flex;flex-direction:column;gap:2px}.pm-popover-info__name{font-size:14px;font-weight:600;color:var(--pm-fg)}.pm-popover-info__email{font-size:12px;color:var(--pm-fg-muted);word-break:break-all}.pm-popover-item--danger{color:#c0392b}.pm-btn-guardar{margin-top:14px;font-size:13px;padding:9px 14px}.pm-historial-lista{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.pm-historial-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--pm-border)}.pm-historial-item:last-child{border-bottom:none}.pm-historial-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pm-historial-fecha{font-size:11px;color:var(--pm-fg-muted);letter-spacing:.02em}.pm-historial-lote{font-size:15px;font-weight:600;color:var(--pm-fg)}.pm-historial-meta{font-size:12px;color:var(--pm-fg-soft)}.pm-btn{font:inherit;font-size:14px;font-weight:600;padding:11px 14px;border-radius:var(--pm-radius-sm);border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .05s;letter-spacing:-.005em}.pm-btn:active:not(:disabled){transform:translateY(1px)}.pm-btn:disabled{opacity:.45;cursor:not-allowed}.pm-btn--primary{background:var(--pm-fg);color:#fff;border-color:var(--pm-fg)}.pm-btn--primary:hover:not(:disabled){background:#000;border-color:#000}.pm-btn--ghost{background:var(--pm-surface);color:var(--pm-fg);border-color:var(--pm-border-strong)}.pm-btn--ghost:hover:not(:disabled){border-color:var(--pm-fg);background:var(--ink-50)}.pm-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;font:inherit;font-size:13px;padding:4px 6px;cursor:pointer;color:var(--pm-fg-muted);text-decoration:underline;text-decoration-color:var(--pm-border-strong);text-underline-offset:3px}.pm-link:hover{color:var(--pm-fg);text-decoration-color:var(--pm-fg)}.pm-link--danger{color:var(--pm-danger);text-decoration-color:var(--pm-danger)}.pm-link--danger:hover{color:var(--danger-600)}.pm-muted{color:var(--pm-fg-muted);font-size:13px}.pm-muted-sm{color:var(--pm-fg-muted);font-size:12px;line-height:1.5}.pm-warning{color:var(--pm-warn)}.pm-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0) + 24px);transform:translate(-50%);background:var(--pm-fg);color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:-.005em;box-shadow:0 10px 30px #0f172a2e;z-index:200;animation:pm-toast-in .18s ease-out;font-feature-settings:"tnum"}@keyframes pm-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 480px){.pm{padding:18px 14px 96px;gap:12px}.pm-row--2{grid-template-columns:1fr}.pm-option{padding:16px}.pm-tap-btn{width:224px;height:224px;font-size:26px}.pm-medir-progress{width:224px;height:224px}}:root{--green-900: #0f3e1f;--green-800: #14532d;--green-700: #166534;--green-600: #1a7a3e;--green-500: #22a055;--green-300: #6ed7a0;--green-100: #dcf5e2;--green-50: #f0faf3;--brand-50: var(--green-50);--brand-100: var(--green-100);--brand-200: var(--green-300);--brand-500: var(--green-500);--brand-600: var(--green-700);--brand-700: var(--green-800);--brand-800: var(--green-900);--accent-500: #e07b1a;--accent-600: #c3660c;--danger-50: #fdecec;--danger-500: #dc2626;--danger-600: #b91c1c;--warn-50: #fff6e5;--warn-600: #a66500;--ink-900: #0f172a;--ink-700: #334155;--ink-500: #64748b;--ink-400: #94a3b8;--ink-300: #cbd5e1;--ink-200: #e2e8f0;--ink-100: #f1f5f9;--ink-50: #f8fafc;--bg: #f6f8f4;--surface: #ffffff;--surface-2: #fbfdf9;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-full: 999px;--sh-1: 0 1px 2px rgba(15, 62, 31, .04);--sh-2: 0 4px 14px rgba(15, 62, 31, .06), 0 1px 2px rgba(15, 62, 31, .04);--sh-3: 0 12px 32px rgba(15, 62, 31, .1);--sidebar-w: 240px;--header-h: 56px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent}a{color:var(--green-700);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}::selection{background:var(--green-100);color:var(--green-800)}.app{min-height:100vh;background:var(--bg)}.nav-toggle{position:fixed;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));width:42px;height:42px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--ink-200);color:var(--ink-700);display:grid;place-items:center;z-index:60;box-shadow:var(--sh-1);transition:all .15s ease}.nav-toggle:hover{color:var(--green-700);border-color:var(--green-100);background:var(--green-50)}.nav-toggle:active{transform:scale(.96)}.nav-toggle svg{width:20px;height:20px}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f3e1f4d;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:90;animation:nav-backdrop-in .18s ease}@keyframes nav-backdrop-in{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;background:linear-gradient(180deg,var(--green-900) 0%,var(--green-800) 100%);color:#fff;padding:var(--s-6) 0 var(--s-3);display:flex;flex-direction:column;z-index:100;transform:translate(-100%);transition:transform .25s ease;border-right:1px solid rgba(0,0,0,.12);box-shadow:var(--sh-3)}.sidebar.open{transform:translate(0)}.sidebar .brand{padding:0 var(--s-6) var(--s-5);font-size:17px;font-weight:700;letter-spacing:-.01em;color:#fff;display:flex;align-items:center;gap:var(--s-3);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:var(--s-3)}.sidebar .brand:before{content:"";width:28px;height:28px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 32% 28%,#ffffff8c,#fff0 50%),conic-gradient(from 0deg,var(--green-700),var(--green-300),var(--green-100),var(--green-500),var(--green-700));box-shadow:inset 0 1px 1px #fff6,inset 0 -6px 14px #0f3e1f66,0 4px 14px #00000040;animation:brand-orb-spin 14s linear infinite}@keyframes brand-orb-spin{to{transform:rotate(360deg)}}.nav-item{padding:10px var(--s-6);margin:2px var(--s-3);color:#ffffffc7;text-decoration:none!important;font-weight:500;font-size:14px;border-radius:var(--r-sm);transition:background .15s ease,color .15s ease;display:flex;align-items:center;gap:var(--s-3)}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#ffffff21;color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--green-300)}.nav-item-small{font-size:12px;padding:8px var(--s-6);color:#ffffff8c;font-weight:500}.nav-item-small.active{background:#ffffff0f;color:#ffffffe6}.main{min-width:0;padding:var(--s-12) var(--s-8) var(--s-12);max-width:100%}.h1{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink-900);margin:0 0 var(--s-5)}.h2{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900);margin:var(--s-6) 0 var(--s-3)}.muted{color:var(--ink-500);font-size:13px}.eyebrow{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--green-700);margin-bottom:var(--s-2)}.card{background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:var(--s-6);margin-bottom:var(--s-4);box-shadow:var(--sh-2)}.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}.toolbar{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;padding:var(--s-2) 0 var(--s-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green-700);color:#fff;padding:10px 18px;border-radius:var(--r-md);font-weight:600;font-size:14px;line-height:1.2;letter-spacing:-.005em;transition:background .18s ease,transform .05s ease,box-shadow .18s ease;white-space:nowrap;min-height:38px;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #0f3e1f26}.btn:hover{background:var(--green-800)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px #22a05547}.btn.secondary{background:var(--surface);color:var(--green-800);border:1px solid var(--ink-200);box-shadow:var(--sh-1)}.btn.secondary:hover{background:var(--green-50);border-color:var(--green-100)}.btn.accent{background:var(--accent-500)}.btn.accent:hover{background:var(--accent-600)}.btn.danger{background:var(--danger-500)}.btn.danger:hover{background:var(--danger-600)}.btn.ghost{background:transparent;color:var(--ink-700);border:1px solid var(--ink-200);box-shadow:none}.btn.ghost:hover{background:var(--ink-50);color:var(--ink-900);border-color:var(--ink-300)}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed;transform:none;background:var(--ink-300);box-shadow:none}.btn.secondary:disabled{background:var(--ink-50);color:var(--ink-400);border-color:var(--ink-200)}.icon-btn{width:38px;height:38px;border-radius:var(--r-md);border:1px solid var(--ink-200);background:var(--surface);color:var(--ink-700);display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.icon-btn:hover{color:var(--green-700);border-color:var(--green-100);background:var(--green-50)}.icon-btn:active{transform:scale(.96)}.input,.select,.textarea{width:100%;padding:10px 14px;border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--surface);outline:none;min-height:40px;font-size:14px;color:var(--ink-900);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder,.textarea::placeholder{color:var(--ink-400)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 4px #22a0552e}.textarea{min-height:84px;resize:vertical;line-height:1.5}.label{font-size:13px;font-weight:500;color:var(--ink-700);margin-bottom:6px;display:block;letter-spacing:-.005em}.multi-opciones{display:flex;flex-wrap:wrap;gap:6px 12px;padding:8px 10px;border:1px solid var(--ink-200);border-radius:8px;background:#fff}.multi-opcion{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.multi-opcion input[type=checkbox]{accent-color:var(--ink-700)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:46px;height:26px;border-radius:999px;background:var(--ink-200);position:relative;transition:background .18s ease}.switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000002e;transition:transform .18s ease}.switch input:checked+.switch-track{background:var(--green-500)}.switch input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 4px #22a05540}.stat{background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--sh-1);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.stat:hover{box-shadow:var(--sh-2);border-color:var(--green-100)}.stat .v{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--ink-900);line-height:1.05;font-variant-numeric:tabular-nums}.stat .l{font-size:11px;color:var(--green-700);margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ink-200);box-shadow:var(--sh-1)}.table th,.table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--ink-100);vertical-align:middle}.table th{background:var(--ink-50);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-weight:700}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:var(--green-50);cursor:pointer}.chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--ink-200);font-size:13px;font-weight:500;color:var(--ink-700);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--green-300);color:var(--green-800);background:var(--green-50)}.chip.active{background:var(--green-700);color:#fff;border-color:var(--green-700);font-weight:600;box-shadow:0 1px 2px #0f3e1f26}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-full);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.4}.badge.green{background:var(--green-100);color:var(--green-800)}.badge.orange{background:var(--warn-50);color:var(--warn-600)}.rfid-big{font-size:28px;font-weight:700;color:var(--green-800);letter-spacing:.01em;margin:0 0 var(--s-3);font-variant-numeric:tabular-nums;word-break:break-all}.map-container{height:calc(100vh - 180px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ink-200);box-shadow:var(--sh-2)}.bt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;box-shadow:0 0 0 2px var(--surface)}.bt-dot.on{background:var(--green-500);animation:bt-pulse 2s ease-in-out infinite}.bt-dot.off{background:var(--ink-300)}@keyframes bt-pulse{0%,to{box-shadow:0 0 #22a05573}50%{box-shadow:0 0 0 7px #22a05500}}.orb{position:relative;width:84px;height:84px;border-radius:50%;isolation:isolate;flex-shrink:0}.orb:before{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;background:radial-gradient(closest-side,rgba(34,160,85,.32),transparent 70%);filter:blur(8px);z-index:-1;opacity:.65;animation:orb-breath 3.4s ease-in-out infinite}.orb__core{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:conic-gradient(from 0deg,#14532d,#1a7a3e 18%,#22a055,#6ed7a0 46%,#c8f3d8 58%,#6ed7a0,#1a7a3e,#14532d);filter:blur(5px) saturate(115%);animation:orb-spin 9s linear infinite}.orb__sheen{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffff8c,#fff0 48%),radial-gradient(circle at 70% 78%,#0f3e1f59,#0f3e1f00 55%);pointer-events:none}.orb__rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -8px 18px #0f3e1f47,0 6px 18px #0f3e1f2e;pointer-events:none}.orb--md{width:96px;height:96px}.orb--lg{width:128px;height:128px}.orb--xs{width:28px;height:28px}.orb--xs:before{top:-6px;right:-6px;bottom:-6px;left:-6px;filter:blur(4px)}.orb--xs .orb__core{filter:blur(2.5px) saturate(115%)}@keyframes orb-spin{to{transform:rotate(360deg)}}@keyframes orb-breath{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.08);opacity:.95}}ganado-voice-widget{display:none!important}.orb.is-listening:before{opacity:1;background:radial-gradient(closest-side,rgba(34,160,85,.55),transparent 70%);animation:orb-breath 1.6s ease-in-out infinite}.orb.is-listening .orb__core{animation-duration:3s;filter:blur(3.5px) saturate(140%)}.orb.is-listening:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid var(--green-500);z-index:-1;animation:orb-ring 1.6s ease-out infinite;pointer-events:none}@keyframes orb-ring{0%{transform:scale(.92);opacity:.7}to{transform:scale(1.45);opacity:0}}.orb.is-speaking:before{opacity:1;background:radial-gradient(closest-side,rgba(110,215,160,.75),transparent 70%);animation:orb-breath .7s ease-in-out infinite;filter:blur(10px)}.orb.is-speaking .orb__core{animation-duration:1.6s;filter:blur(2.5px) saturate(155%) brightness(1.06)}.orb.is-speaking:after{animation-duration:.9s;border-color:var(--green-500)}.orb.is-loading:before{opacity:1;background:radial-gradient(closest-side,rgba(245,180,50,.55),transparent 70%);animation:orb-breath 2.4s ease-in-out infinite}.orb.is-loading .orb__core{animation-duration:4s;filter:blur(3.5px) saturate(120%) hue-rotate(-40deg)}.orb.is-loading:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px dashed rgba(245,180,50,.7);z-index:-1;animation:orb-loading-spin 2.6s linear infinite;pointer-events:none}@keyframes orb-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb.is-detected{animation:orb-burst 1.2s ease-out}.orb.is-detected:before{background:radial-gradient(closest-side,rgba(110,215,160,.85),transparent 70%);opacity:1;filter:blur(10px)}.orb.is-detected .orb__core{filter:blur(2px) saturate(180%) brightness(1.18);animation-duration:1.5s}@keyframes orb-burst{0%{transform:scale(1)}18%{transform:scale(1.14)}60%{transform:scale(.98)}to{transform:scale(1)}}.orb-stage{display:flex;flex-direction:column;align-items:center;margin:var(--s-6) 0 var(--s-4);gap:var(--s-3)}.orb-transcript{min-height:22px;font-size:14px;color:var(--green-700);font-weight:500;letter-spacing:-.005em;text-align:center;max-width:480px;padding:0 var(--s-4);opacity:0;transition:opacity .18s ease;font-style:italic}.orb-transcript.visible{opacity:1}.orb-transcript.listening{opacity:.85;font-style:normal;color:var(--ink-500);animation:transcript-pulse 1.4s ease-in-out infinite}.orb-transcript.loading{opacity:1;font-style:normal;color:#a16a00;font-weight:600;animation:transcript-pulse 1.8s ease-in-out infinite}@keyframes transcript-pulse{0%,to{opacity:.45}50%{opacity:.95}}.esperando-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-12) var(--s-4) var(--s-10);gap:var(--s-3)}.esperando-hero .orb{margin-bottom:var(--s-4)}.esperando-hero__title{font-weight:700;font-size:22px;color:var(--ink-900);letter-spacing:-.01em}.esperando-hero__hint{font-size:14px;margin-top:-4px}.esperando-hero__manual{display:flex;gap:6px;width:100%;max-width:360px;margin-top:var(--s-6)}.esperando-hero__manual .input{flex:1}.cargar-card{width:100%;max-width:460px;margin-top:var(--s-6);text-align:left}.cargar-row{display:flex;gap:8px}.cargar-row .input{flex:1;min-width:0}.cargar-row .btn{white-space:nowrap}@media (max-width: 480px){.cargar-row{flex-direction:column;gap:6px}.cargar-row .btn{width:100%}}.esperando-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-12) var(--s-4) var(--s-10);gap:var(--s-3)}.manga-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.manga-head__title{font-size:20px;font-weight:700;color:var(--ink-900);letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manga-head__meta{font-size:12px;flex-shrink:0}.manga-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:var(--s-4)}.manga-toolbar .btn{padding:8px 14px;min-height:36px;font-size:13px}.manga-toolbar__close{color:var(--danger-500)}.manga-toolbar__close:hover{color:var(--danger-600);border-color:var(--danger-500);background:var(--danger-50)}.voz-switch{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--ink-200);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .18s ease;box-shadow:var(--sh-1)}.voz-switch:hover{border-color:var(--green-100);background:var(--green-50)}.voz-switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.voz-switch__track{position:relative;width:44px;height:26px;border-radius:999px;background:var(--ink-200);transition:background .18s ease;flex-shrink:0;display:block}.voz-switch__thumb{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:11px;line-height:1;filter:grayscale(.5);box-shadow:0 1px 3px #0003;transition:transform .22s ease,filter .18s ease}.voz-switch__label{font-weight:600;font-size:13px;color:var(--ink-500);letter-spacing:.02em;transition:color .18s ease}.voz-switch.is-on{border-color:var(--green-300);background:var(--green-50)}.voz-switch.is-on .voz-switch__track{background:var(--green-500)}.voz-switch.is-on .voz-switch__thumb{transform:translate(18px);filter:none}.voz-switch.is-on .voz-switch__label{color:var(--green-800)}.voz-switch.is-disabled{opacity:.55;cursor:not-allowed}.voz-switch.is-disabled:hover{border-color:var(--ink-200);background:var(--surface)}.voz-switch.is-loading{opacity:1;cursor:progress;border-color:#f5b43299;background:#fff4dcb3}.voz-switch.is-loading .voz-switch__track{background:#f5b4328c;animation:voz-switch-loading-pulse 1.4s ease-in-out infinite}.voz-switch.is-loading .voz-switch__label{color:#a16a00;font-weight:600}@keyframes voz-switch-loading-pulse{0%,to{background:#f5b43266}50%{background:#f5b432bf}}.caravana-input{font-size:32px;font-weight:800;color:var(--green-800);border:none;border-bottom:2px dashed var(--ink-200);background:transparent;width:100%;padding:4px 0;outline:none;font-family:inherit;letter-spacing:.01em;font-variant-numeric:tabular-nums}.caravana-input:focus{border-bottom-color:var(--green-500)}.rfid-edit-input{font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;color:var(--ink-700)}.rfid-edit-input::placeholder{font-family:var(--font-sans)}.datos-animal-block{padding:var(--s-3) var(--s-4);background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--r-md);margin-bottom:var(--s-3)}.manga-form-actions{display:flex;gap:8px;margin-top:var(--s-5)}.lecturas-details{margin-top:var(--s-6);padding:0}.lecturas-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--s-2);padding:8px 0;font-weight:600;font-size:15px;color:var(--ink-900)}.lecturas-details>summary::-webkit-details-marker{display:none}.lecturas-details>summary:after{content:"›";font-size:22px;color:var(--ink-500);transition:transform .2s ease;margin-left:auto}.lecturas-details[open]>summary:after{transform:rotate(90deg)}@media (max-width: 600px){.esperando-hero{padding:var(--s-8) var(--s-3) var(--s-6)}.esperando-hero__title{font-size:19px}.caravana-input{font-size:26px}.manga-toolbar{gap:4px}.manga-toolbar .btn{padding:7px 12px;font-size:12.5px}.manga-head__title{font-size:18px}}.page-narrow{max-width:720px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-6)}.page-head .h-display{font-size:28px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-12) var(--s-4);background:linear-gradient(180deg,var(--surface) 0%,var(--green-50) 100%);border:1px solid var(--ink-200);border-radius:var(--r-xl);box-shadow:var(--sh-2)}.session-list{display:flex;flex-direction:column;gap:var(--s-2)}.session-row{display:flex;align-items:center;gap:var(--s-3);padding:14px 16px;background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-md);text-decoration:none!important;color:inherit;transition:all .15s ease;box-shadow:var(--sh-1)}.session-row:hover{border-color:var(--green-300);background:var(--green-50);transform:translate(2px);box-shadow:var(--sh-2)}.session-row.is-open{border-left:3px solid var(--green-500)}.session-row__main{flex:1;min-width:0}.session-row__title{font-weight:600;font-size:15px;color:var(--ink-900);letter-spacing:-.005em}.session-row__meta{font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.details-card{padding:0;overflow:hidden}.details-card>summary{list-style:none;cursor:pointer;padding:var(--s-5) var(--s-6);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font-weight:600;font-size:15px;color:var(--ink-900)}.details-card>summary::-webkit-details-marker{display:none}.details-card>summary:after{content:"›";font-size:22px;color:var(--ink-500);transition:transform .2s ease;margin-left:auto}.details-card[open]>summary:after{transform:rotate(90deg)}.details-card[open]>summary{border-bottom:1px solid var(--ink-100)}.details-card>*:not(summary){padding:0 var(--s-6) var(--s-6)}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.campo-list{display:flex;flex-direction:column;gap:6px}.campo-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--ink-50);border:1px solid var(--ink-200);border-radius:var(--r-md);flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f3e1f4d;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--s-4);animation:nav-backdrop-in .18s ease}.modal{width:560px;max-width:100%;max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-3)}.picker-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--ink-200);cursor:pointer;background:var(--surface);transition:all .12s ease}.picker-row:hover{background:var(--green-50);border-color:var(--green-300)}.big-id-display{font-size:56px;font-weight:800;letter-spacing:-.02em;text-align:center;color:var(--green-800);font-variant-numeric:tabular-nums;margin:var(--s-3) 0 0;word-break:break-all;line-height:1.05;background:linear-gradient(180deg,var(--green-50) 0%,var(--surface) 100%);padding:var(--s-5) var(--s-3);border-radius:var(--r-lg);border:1px solid var(--green-100)}.confirm-modal{text-align:center;max-width:460px}.btn-camara{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid var(--ink-200, #d8e0d2);background:var(--ink-50, #f4f6f2);color:var(--ink-700, #2c3a2f);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn-camara:hover{background:var(--brand-50, #e8f1ea);border-color:var(--brand-200, #b9d1bf)}.btn-camara:active{transform:scale(.97)}.btn-camara__icon{font-size:14px;line-height:1}.app-version{position:fixed;left:8px;bottom:6px;font-size:10px;color:var(--ink-400, #8a9389);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:50}.sidebar-user{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--ink-50, #f4f6f2);border:1px solid var(--ink-200, #d8e0d2)}.datos-animal-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0;gap:8px}.datos-animal-toggle:hover{opacity:.85}.add-option-link{background:none;border:none;color:var(--brand-500, #1f4d2b);font-size:11px;font-weight:500;margin-left:8px;padding:0 4px;cursor:pointer;opacity:.55;transition:opacity .15s ease}.add-option-link:hover{opacity:1}.add-field-link{display:block;margin:12px 0 4px;background:none;border:1px dashed var(--ink-200, #d8e0d2);color:var(--ink-500, #6a7568);font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.add-field-link:hover{background:var(--brand-50, #e8f1ea);color:var(--brand-700, #1a3d23);border-color:var(--brand-200, #b9d1bf)}.camara-progress{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 8px 16px}.camara-spinner{width:44px;height:44px;border:4px solid var(--green-100, #d4e8d8);border-top-color:var(--brand-500, #1f4d2b);border-radius:50%;animation:camara-spin .9s linear infinite}@keyframes camara-spin{to{transform:rotate(360deg)}}.hero-stack{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-5);padding:var(--s-10) var(--s-4) var(--s-8);max-width:640px;margin:0 auto}.hero-stack .h-display{font-size:32px;font-weight:700;letter-spacing:-.025em;color:var(--ink-900);line-height:1.1}.hero-stack .h-tagline{color:var(--ink-500);font-size:15px;max-width:420px}.stat-strip{display:flex;gap:var(--s-3);flex-wrap:wrap;justify-content:center;margin-top:var(--s-2)}.stat-pill{display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--ink-200);box-shadow:var(--sh-1);font-size:13px;color:var(--ink-700);font-weight:500}.stat-pill__num{font-size:16px;font-weight:700;color:var(--green-800);font-variant-numeric:tabular-nums}.hero-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:center;margin-top:var(--s-4)}.link-btn{background:transparent;border:none;color:var(--green-700);font-weight:500;margin-top:var(--s-4);cursor:pointer;font-size:13px}.link-btn:hover{color:var(--green-800);text-decoration:underline;text-underline-offset:3px}.lectura-item{background:var(--surface);border:1px solid var(--ink-200);border-left:3px solid var(--green-500);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;transition:all .15s ease;box-shadow:var(--sh-1)}.lectura-item:hover{background:var(--green-50);border-left-color:var(--accent-500);transform:translate(2px);box-shadow:var(--sh-2)}@media (max-width: 860px){:root{--s-8: 20px;--s-12: 32px}.sidebar{width:min(82vw,320px)}.main{padding:var(--s-10) var(--s-4) var(--s-10)}.h1{font-size:22px;margin-bottom:var(--s-4)}.h2{font-size:15px}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.rfid-big{font-size:24px}.card{padding:var(--s-4);border-radius:var(--r-md)}.btn{padding:11px 16px;min-height:42px}.table{font-size:13px}.table th,.table td{padding:10px}.map-container{height:calc(100vh - 220px)}}@media (max-width: 480px){.grid-3,.grid-4{grid-template-columns:1fr 1fr;gap:var(--s-2)}.stat .v{font-size:22px}.stat{padding:var(--s-4)}.rfid-big{font-size:20px}}@supports (padding: max(0px)){.main{padding-left:max(var(--s-8),env(safe-area-inset-left));padding-right:max(var(--s-8),env(safe-area-inset-right));padding-bottom:max(var(--s-12),env(safe-area-inset-bottom))}@media (max-width: 860px){.main{padding-left:max(var(--s-4),env(safe-area-inset-left));padding-right:max(var(--s-4),env(safe-area-inset-right))}}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.leaflet-control{box-shadow:var(--sh-2)!important;border-radius:var(--r-sm)!important}.leaflet-popup-content-wrapper{border-radius:var(--r-md)!important}@media print{.sidebar,.toolbar,.btn{display:none!important}.main{padding:0}.card{box-shadow:none;break-inside:avoid}}
