:root{--green-950:#08150e;--green-900:#123524;--green-800:#17452e;--green-700:#1a5b3b;--green-600:#1f6f4a;--green-500:#2a8c5e;--green-400:#46a87a;--green-300:#7cc7a3;--green-200:#aeddc4;--green-100:#d8ece1;--green-50:#eff7f2;--orange-700:#b84a22;--orange-600:#c9552a;--orange-500:#e2673a;--orange-400:#ef8358;--orange-300:#f7a882;--orange-100:#fde7dc;--orange-50:#fef5f0;--color-primary:var(--green-900);--color-primary-soft:var(--green-100);--color-accent:var(--green-600);--color-accent-soft:var(--green-50);--color-cta:var(--orange-500);--color-cta-hover:var(--orange-600);--color-cta-soft:var(--orange-50);--color-on-cta:#ffffff;--color-background:#f5f9f6;--color-surface:#ffffff;--color-surface-2:#eaf2ed;--color-surface-3:#dce8e0;--color-surface-elevated:#ffffff;--color-text:#10201a;--color-text-muted:#5a6e63;--color-text-subtle:#85988c;--color-border:#e2eae5;--color-border-strong:#ccdad1;--color-danger:#c2453d;--color-danger-soft:#fbe9e7;--color-success:var(--green-600);--color-success-soft:var(--green-50);--color-warning:#b57708;--color-warning-soft:#fdf3dd;--color-info:#2f6f8f;--color-info-soft:#e8f2f7;--color-focus-ring:rgba(31,111,74,0.28);--grad-hero:var(--green-900);--grad-kpi:var(--color-surface);--grad-kpi-cta:var(--color-surface);--grad-scrim:linear-gradient(0deg,rgba(8,21,14,0.72) 0%,rgba(8,21,14,0.2) 46%,rgba(8,21,14,0) 76%);--font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-numeric:"Inter",ui-monospace,"SF Mono",monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:clamp(22px,2.2vw,26px);--text-display:clamp(28px,4vw,34px);--radius-xs:6px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-full:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--shadow-xs:0 1px 1px rgba(16,32,26,0.04);--shadow-sm:0 1px 2px rgba(16,32,26,0.05),0 2px 6px rgba(16,32,26,0.04);--shadow-md:0 1px 2px rgba(16,32,26,0.05),0 8px 22px -6px rgba(16,32,26,0.14);--shadow-lg:0 2px 4px rgba(16,32,26,0.06),0 20px 44px -12px rgba(16,32,26,0.22);--shadow-cta:0 2px 6px rgba(184,74,34,0.22),0 12px 24px -8px rgba(184,74,34,0.34);--shadow-inset-top:inset 0 1px 0 rgba(255,255,255,0.6);--dur-fast:120ms;--dur-base:200ms;--dur-slow:380ms;--ease-out:cubic-bezier(0.22,0.8,0.32,1);--ease-spring:cubic-bezier(0.34,1.42,0.64,1);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-height:68px}html[data-theme=dark]{--color-primary:#1b4d33;--color-primary-soft:#24603f;--color-accent:#55bf8c;--color-accent-soft:#1d3b29;--color-cta:#f28a56;--color-cta-hover:#f7a072;--color-cta-soft:#3a2318;--color-on-cta:#220e05;--color-background:#0a1a12;--color-surface:#152b1e;--color-surface-2:#1d3728;--color-surface-3:#274433;--color-surface-elevated:#213c2c;--color-text:#f1f7f3;--color-text-muted:#abc3b4;--color-text-subtle:#87a293;--color-border:#2d4b38;--color-border-strong:#436a54;--color-danger:#f28880;--color-danger-soft:#3a1d1a;--color-success:#5cc593;--color-success-soft:#173625;--color-warning:#e9b757;--color-warning-soft:#372a15;--color-info:#7cc0de;--color-info-soft:#173341;--color-focus-ring:rgba(85,191,140,0.38);--grad-hero:#12301f;--grad-kpi:var(--color-surface);--grad-kpi-cta:var(--color-surface);--shadow-xs:0 1px 1px rgba(0,0,0,0.3);--shadow-sm:0 1px 2px rgba(0,0,0,0.4),0 2px 6px rgba(0,0,0,0.28);--shadow-md:0 1px 2px rgba(0,0,0,0.45),0 8px 22px -6px rgba(0,0,0,0.6);--shadow-lg:0 2px 4px rgba(0,0,0,0.5),0 20px 44px -12px rgba(0,0,0,0.7);--shadow-cta:0 2px 6px rgba(0,0,0,0.4),0 12px 24px -8px rgba(240,131,79,0.28);--shadow-inset-top:inset 0 1px 0 rgba(255,255,255,0.06)}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-family);background:var(--color-background);color:var(--color-text);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-wrap:pretty}a{color:inherit;text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;background:none}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-lg)}@media (min-width:600px){.container{max-width:720px}}@media (min-width:1024px){.container{max-width:1120px}}@media (min-width:1440px){.container{max-width:1280px}}.auth-form{max-width:440px;margin:0 auto}.grid-bolsas{grid-template-columns:1fr}@media (min-width:600px){.grid-bolsas{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-bolsas{grid-template-columns:repeat(3,1fr)}}@media (min-width:1440px){.grid-bolsas{grid-template-columns:repeat(4,1fr)}}.safe-bottom{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-md))}.icon{display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto;vertical-align:-.2em;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:1em;height:1em}.icon-lg{width:1.75em;height:1.75em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:650;letter-spacing:-.01em;border-radius:var(--radius-md);padding:14px 20px;font-size:16px;line-height:1.2;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),opacity var(--dur-base) ease;width:100%}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-cta);color:var(--color-on-cta);box-shadow:var(--shadow-cta),var(--shadow-inset-top)}.btn-primary:hover{background:var(--color-cta-hover)}.btn-accent{background:var(--color-accent);color:#ffffff;box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.btn-outline{background:transparent;color:var(--color-accent);border:1.5px solid var(--color-border-strong)}.btn-outline:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface-2)}.btn-google{color:var(--color-text);border:1.5px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-google,.card{background:var(--color-surface)}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.card[role=button]:hover,a>.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card[role=button]:active{transform:translateY(-1px) scale(.995)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:650;line-height:1;border:1px solid transparent}.kpi{position:relative;overflow:hidden;background:var(--grad-kpi);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 18px 16px;box-shadow:var(--shadow-sm)}.kpi:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--color-accent)}.kpi-cta{background:var(--grad-kpi-cta)}.kpi-cta:after{background:var(--color-cta)}.kpi-value{font-family:var(--font-numeric);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:1.1}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-md)}.field label{font-size:var(--text-sm);font-weight:650;letter-spacing:.01em;color:var(--color-text-muted)}.field input{padding:14px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.field input::placeholder{color:var(--color-text-subtle)}.field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-sm);text-align:center}h1{font-size:var(--text-display);font-weight:800;letter-spacing:-.032em;line-height:1.12}h2{font-size:var(--text-xl);font-weight:750;letter-spacing:-.022em;line-height:1.2}h3{font-size:var(--text-md);font-weight:700;letter-spacing:-.015em;line-height:1.25}.muted{color:var(--color-text-muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.press{transition:transform var(--dur-fast) var(--ease-out)}.press:active{transform:scale(.96)}@keyframes mordii-spin{to{transform:rotate(1turn)}}@keyframes mordii-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{animation:mordii-reveal var(--dur-slow) var(--ease-out) both}@keyframes mordii-pulse{0%,to{opacity:1}50%{opacity:.45}}.dot-urgente{width:6px;height:6px;border-radius:50%;background:var(--color-cta);animation:mordii-pulse 1.8s var(--ease-out) infinite}.skeleton{background:var(--color-surface-2);animation:mordii-pulse 1.6s var(--ease-out) infinite;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.btn-secondary{display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);font-weight:650;font-size:var(--text-sm);padding:8px 13px;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-accent)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-danger);color:#fff;font-weight:650;font-size:var(--text-sm);padding:8px 13px;border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-xs)}.btn-danger:hover{filter:brightness(1.06)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.form-success{color:var(--color-success);font-size:var(--text-sm);margin-top:var(--space-sm);text-align:center}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.01em;vertical-align:middle;border:1px solid transparent}.badge-success{background:var(--color-success-soft);color:var(--color-success);border-color:color-mix(in oklab,var(--color-success) 26%,transparent)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in oklab,var(--color-danger) 26%,transparent)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:color-mix(in oklab,var(--color-warning) 26%,transparent)}.badge-info{background:var(--color-info-soft);color:var(--color-info);border-color:color-mix(in oklab,var(--color-info) 26%,transparent)}.modal-backdrop{position:fixed;inset:0;background:rgba(8,21,14,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:mordii-reveal var(--dur-base) var(--ease-out) both}.modal{width:100%;padding:24px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:mordii-reveal var(--dur-slow) var(--ease-spring) both}.input{font-size:var(--text-sm)}.tabla-admin{width:100%;border-collapse:separate;border-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabla-admin thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--color-surface-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;padding:11px 14px;border-bottom:1px solid var(--color-border-strong);white-space:nowrap}.tabla-admin td{font-size:var(--text-sm);padding:13px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle}.tabla-admin tbody tr{transition:background var(--dur-fast) var(--ease-out)}.tabla-admin tbody tr:hover{background:var(--color-accent-soft)}.tabla-admin tbody tr:last-child td{border-bottom:none}.tabla-admin .num,.tabla-admin td[data-num=true],.tabla-admin th[data-num=true]{text-align:right;font-family:var(--font-numeric)}