:root{--verde: #51B848;--verde-d: #3d8f37;--verde-ink: #256d21;--verde-wash: #f1f9f0;--bg: #f6f7f9;--surface: #ffffff;--ink: #16181d;--ink-2: #4a4f57;--ink-3: #868d97;--line: #e7e9ee;--line-2: #eef0f3;--rojo: #d64545;--rojo-wash: #fdf3f3;--ambar: #b7791f;--ambar-wash: #fdfaf0;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--sh-2: 0 2px 4px rgba(16, 24, 40, .04), 0 4px 12px rgba(16, 24, 40, .07);--sh-focus: 0 0 0 3px rgba(81, 184, 72, .22);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h3{font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--ink);margin:0 0 10px}.top{background:var(--verde);color:#fff;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;box-shadow:0 1px #0000000f}.top b{font-size:16px;font-weight:650;letter-spacing:-.01em}.top small{opacity:.92;font-size:13px}.top a{text-decoration:none;opacity:.9;transition:opacity .14s var(--ease-out)}.top a:hover{opacity:1;text-decoration:underline}.wrap{max-width:780px;margin:0 auto;padding:16px}.btn{background:var(--verde);color:#fff;border:0;border-radius:var(--r-sm);padding:11px 16px;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:transform .14s var(--ease-out),background .14s var(--ease-out),box-shadow .14s var(--ease-out),opacity .14s var(--ease-out);will-change:transform}.btn:hover{background:var(--verde-d)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:var(--sh-focus)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn.sec{background:var(--surface);color:var(--verde-ink);border:1px solid var(--line);box-shadow:var(--sh-1)}.btn.sec:hover{background:var(--verde-wash);border-color:#cfe6cb}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px;margin-bottom:11px;box-shadow:var(--sh-1);animation:card-in .32s var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:14px;font-weight:550;cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out),transform .14s var(--ease-out)}.tab:active{transform:scale(.96)}.tab:focus-visible{outline:none;box-shadow:var(--sh-focus)}.tab.on{background:var(--verde);color:#fff;border-color:var(--verde);box-shadow:var(--sh-1)}.tab.done:after{content:" ✓";color:var(--verde)}.tab.on.done:after{color:#fff}@media (hover: hover) and (pointer: fine){.tab:not(.on):hover{border-color:#cfe6cb;background:var(--verde-wash)}}.field{margin-bottom:13px}.field label{display:block;font-size:12.5px;font-weight:550;margin-bottom:5px;color:var(--ink-2)}.field .u{color:var(--ink-3);font-weight:400}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:16px;color:var(--ink);transition:border-color .14s var(--ease-out),box-shadow .14s var(--ease-out)}.field input:hover,.field select:hover{border-color:#d3d7de}.field input:focus,.field select:focus{outline:none;border-color:var(--verde);box-shadow:var(--sh-focus)}.field.loss input,.field.loss select{border-color:#e6c86a;background:var(--ambar-wash)}.field.loss input:focus,.field.loss select:focus{box-shadow:0 0 0 3px #b7791f2e}.field.err input,.field.err select{border-color:var(--rojo)}.field.err input:focus,.field.err select:focus{box-shadow:0 0 0 3px #d645452e}.field .msg{font-size:12px;color:var(--rojo);margin-top:4px}.field .lossnote{font-size:12px;color:var(--ambar);margin-top:4px}input:not(.field input):focus{outline:none;border-color:var(--verde);box-shadow:var(--sh-focus)}.badge{font-size:11.5px;font-weight:550;padding:2px 9px;border-radius:var(--r-pill);background:var(--line-2);color:var(--ink-2);letter-spacing:.01em}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh-1);position:relative;overflow:hidden;animation:card-in .32s var(--ease-out) both}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--verde));opacity:.9}.stat-label{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.stat-value{font-size:27px;font-weight:720;letter-spacing:-.02em;line-height:1.15;margin-top:4px;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--ink-3);margin-top:3px}.efic-ok{color:var(--verde-ink);font-weight:700}.efic-bad{color:var(--rojo);font-weight:700}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line-2)}th{color:var(--ink-3);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tbody tr{transition:background .12s var(--ease-out)}@media (hover: hover) and (pointer: fine){tbody tr:hover{background:var(--bg)}}.brand-mark{display:flex;flex-direction:column;align-items:center;gap:8px;margin:8px 0 18px}.brand-badge{width:52px;height:52px;border-radius:15px;background:linear-gradient(150deg,var(--verde),var(--verde-d));display:grid;place-items:center;box-shadow:0 6px 16px #51b84847}.brand-word{font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--ink-2)}.brand-word b{color:var(--verde-d)}@media (hover: hover) and (pointer: fine){.card.row{transition:transform .14s var(--ease-out),box-shadow .14s var(--ease-out),border-color .14s var(--ease-out)}.card.row:hover{transform:translateY(-1px);box-shadow:var(--sh-2);border-color:#d3d7de}}.filtro{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 30px 8px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23868d97' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;font-size:13.5px;color:var(--ink);font-weight:500;cursor:pointer;transition:border-color .14s var(--ease-out),box-shadow .14s var(--ease-out)}.filtro:hover{border-color:#cfe6cb}.filtro:focus{outline:none;border-color:var(--verde);box-shadow:var(--sh-focus)}input.filtro{padding-right:12px;background-image:none}.skeleton{background:linear-gradient(100deg,var(--line-2) 30%,#f3f5f8 50%,var(--line-2) 70%);background-size:200% 100%;animation:shimmer 1.3s var(--ease-in-out) infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-line{height:12px;margin:8px 0}.sk-num{height:26px;width:60%;margin:6px 0}.empty{text-align:center;padding:34px 20px;color:var(--ink-3)}.empty-icon{width:46px;height:46px;margin:0 auto 12px;display:grid;place-items:center;border-radius:14px;background:var(--verde-wash);color:var(--verde-d)}.empty-title{font-size:15px;font-weight:600;color:var(--ink-2);margin-bottom:4px}.empty-sub{font-size:13px;color:var(--ink-3);margin-bottom:14px}.chart-tip{position:fixed;z-index:40;pointer-events:none;background:var(--ink);color:#fff;padding:6px 9px;border-radius:8px;font-size:12px;font-weight:500;box-shadow:var(--sh-2);white-space:nowrap;transform:translate(-50%,-120%);animation:tip-in .12s var(--ease-out) both}.chart-tip b{color:#fff}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,-108%)}to{opacity:1;transform:translate(-50%,-120%)}}@media (prefers-reduced-motion: reduce){.card{animation:none}*{transition-duration:60ms!important}}
