:root{--bg: #F2F3EF;--surface: #FFFFFF;--surface-2: #F7F8F5;--line: #DCE0D9;--line-2: #E8EBE5;--ink: #18211F;--ink-2: #48544F;--ink-3: #75807B;--galpon: #1E3F38;--galpon-2: #275047;--galpon-ink: #DCE6E2;--primary: #2A5C50;--primary-hover: #224D43;--tag: #F3C316;--tag-deep: #D9A900;--tag-ink: #2A2306;--alert: #B5441B;--alert-bg: #FBEAE2;--ok: #2F7D4F;--ok-bg: #E3F1E7;--warn: #9A6200;--warn-bg: #FBF0D6;--info: #3F6799;--info-bg: #E6EDF6;--st-vacia: #7C8782;--st-servida: #4A6FA5;--st-gestante: #2F7D5B;--st-lactando: #C0761A;--st-descarte: #A33F2B;--c1: #2A5C50;--c2: #C0761A;--c3: #4A6FA5;--c4: #8C9A3C;--c5: #A33F2B;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 0 rgba(24, 33, 31, .04), 0 1px 2px rgba(24, 33, 31, .06);--shadow-lg: 0 12px 40px rgba(24, 33, 31, .18), 0 2px 6px rgba(24, 33, 31, .08);--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2.5px solid var(--tag-deep);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:26px;font-stretch:88%;line-height:1.15}h2{font-size:17px}h3{font-size:15px}p{margin:0}.muted{color:var(--ink-3)}.ink2{color:var(--ink-2)}.num{font-stretch:78%;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.small{font-size:12.5px}.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1;min-width:0}.right{text-align:right}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:var(--galpon);color:var(--galpon-ink);display:flex;flex-direction:column;padding:18px 12px;gap:4px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-name{font-size:20px;font-weight:800;font-stretch:85%;color:#fff;letter-spacing:-.02em}.brand-farm{font-size:11.5px;color:#9fb5ae;line-height:1.25}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--galpon-ink);font-weight:500;min-height:40px}.nav a:hover{background:var(--galpon-2);text-decoration:none}.nav a.active{background:#f3c316;color:var(--tag-ink);font-weight:650}.nav a .count{margin-left:auto;background:#ffffff1f;padding:1px 7px;border-radius:999px;font-size:11.5px}.nav a.active .count{background:#2a23061f}.nav-sep{height:1px;background:#ffffff1a;margin:10px 6px}.side-foot{margin-top:auto;padding:10px;font-size:12px;color:#9fb5ae;display:grid;gap:8px}.side-foot button{background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--galpon-ink);border-radius:8px;padding:7px 10px;cursor:pointer;text-align:left;display:flex;gap:8px;align-items:center}.side-foot button:hover{background:var(--galpon-2)}.main{min-width:0;display:flex;flex-direction:column}.top{height:60px;display:flex;align-items:center;gap:12px;padding:0 28px;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.top .date{color:var(--ink-2);font-weight:500}.top .spacer{flex:1}.who{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 4px;border-radius:999px}.avatar{width:32px;height:32px;border-radius:999px;background:var(--galpon);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.content{padding:24px 28px 64px;max-width:1360px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head p{color:var(--ink-2);margin-top:4px}.icon-btn.mobile-bar{display:none}@media (max-width: 900px){.shell{grid-template-columns:1fr}.side{display:none;position:fixed;inset:0 auto 0 0;width:260px;z-index:60}.side.open{display:flex}.icon-btn.mobile-bar{display:grid}.top{padding:0 16px}.content{padding:18px 16px 64px}.top .date{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;white-space:nowrap;color:var(--ink)}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.tag{background:var(--tag);border-color:var(--tag-deep);color:var(--tag-ink)}.btn.tag:hover{background:#ebb90a}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:#18211f0d}.btn.danger{color:var(--alert)}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn.lg{height:46px;padding:0 20px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;position:relative;color:var(--ink-2)}.icon-btn:hover{background:#18211f0f}.dot-badge{position:absolute;top:4px;right:3px;min-width:17px;height:17px;border-radius:999px;background:var(--alert);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 10px}.panel-h h2{font-size:15px}.panel-b{padding:4px 16px 16px}.grid{display:grid;gap:16px}.grid>*{min-width:0}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:1fr}}@media (max-width: 700px){.g2,.g3,.g4{grid-template-columns:1fr}}.kpi{padding:14px 16px 16px;display:flex;flex-direction:column;gap:2px;min-height:108px}.kpi-label{color:var(--ink-2);font-weight:500;font-size:13px}.kpi-value{font-size:34px;line-height:1.05;font-stretch:75%;font-weight:750;letter-spacing:-.02em;margin-top:6px}.kpi-value .unit{font-size:16px;font-weight:600;color:var(--ink-3);margin-left:3px;font-stretch:90%}.kpi-sub{color:var(--ink-3);font-size:12.5px;margin-top:auto;padding-top:6px}.kpi.money{border-top:3px solid var(--tag)}.insuf{display:flex;gap:8px;align-items:flex-start;background:var(--warn-bg);color:#5e4300;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.35;margin-top:6px}.insuf strong{display:block;font-size:13px}.arete{--tc: var(--tag);--tcd: var(--tag-deep);--ti: var(--tag-ink);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 7px;background:var(--tc);color:var(--ti);border:1px solid var(--tcd);border-radius:13px 6px 6px 13px;font-weight:750;font-stretch:80%;font-size:14px;letter-spacing:.01em;white-space:nowrap;box-shadow:inset 0 -2px #00000012}.arete:before{content:"";width:7px;height:7px;border-radius:99px;background:var(--bg);border:1.5px solid var(--tcd);flex:none}.arete.boar{--tc: #E7833A;--tcd: #C96A22;--ti: #2A1606}.arete.lot{--tc: #DDE6E2;--tcd: #B9C7C1;--ti: var(--galpon);border-radius:6px}.arete.lot:before{border-radius:2px}.arete.lg{height:44px;font-size:24px;padding:0 16px 0 11px;border-radius:22px 9px 9px 22px;gap:10px}.arete.lg:before{width:11px;height:11px}.arete.xl{height:64px;font-size:38px;padding:0 22px 0 16px;border-radius:32px 12px 12px 32px;gap:14px;border-width:2px}.arete.xl:before{width:15px;height:15px;border-width:2px}a.arete:hover{text-decoration:none;filter:brightness(.97)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}.chip .d{width:8px;height:8px;border-radius:99px;background:currentColor}.st-vacia{color:var(--st-vacia)}.st-servida{color:var(--st-servida)}.st-gestante{color:var(--st-gestante)}.st-lactando{color:var(--st-lactando)}.st-descarte,.st-muerta{color:var(--st-descarte)}.chip.state{background:color-mix(in srgb,currentColor 10%,white);border-color:color-mix(in srgb,currentColor 30%,white)}.chip.state span{color:var(--ink)}.chip.alta{background:var(--alert-bg);color:var(--alert);border-color:#f1cdbe}.chip.media{background:var(--warn-bg);color:var(--warn);border-color:#efddae}.chip.baja{background:var(--info-bg);color:var(--info);border-color:#cfdcec}.chip.ok{background:var(--ok-bg);color:var(--ok);border-color:#c5e1cd}.chip.flag{background:#fff7d6;color:#6b5300;border-color:#f0df9a}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;font-size:13px;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}.filter:hover{background:var(--surface-2)}.filter.on{background:var(--ink);color:#fff;border-color:var(--ink)}.filter .n{opacity:.65;font-weight:500}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13.5px}.t th{text-align:left;font-weight:600;color:var(--ink-3);font-size:12.5px;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);position:sticky;top:0}.t td{padding:0 12px;height:40px;border-bottom:1px solid var(--line-2);white-space:nowrap}.t tr:last-child td{border-bottom:0}.t tbody tr.click{cursor:pointer}.t tbody tr.click:hover td{background:#f8faf6}.t .r,.t th.r{text-align:right}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-weight:600;font-size:13px;color:var(--ink-2)}.input,select.input,textarea.input{height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 12px;background:var(--surface);width:100%}textarea.input{height:auto;min-height:70px;padding:10px 12px;resize:vertical}.input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.input.big{height:52px;font-size:22px;font-weight:700;font-stretch:80%}.hint{font-size:12.5px;color:var(--ink-3)}.err{font-size:12.5px;color:var(--alert);font-weight:600;display:flex;gap:6px;align-items:flex-start}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:3px}.seg button{border:0;background:transparent;padding:0 14px;height:32px;border-radius:7px;font-weight:600;cursor:pointer;color:var(--ink-2)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.computed{background:var(--surface-2);border:1px dashed var(--line);border-radius:9px;padding:12px 14px;display:flex;gap:16px;flex-wrap:wrap}.computed .k{font-size:12px;color:var(--ink-3)}.computed .v{font-size:22px;font-weight:750;font-stretch:78%}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#18211f52;z-index:80;animation:fade .18s ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(500px,100vw);background:var(--bg);z-index:81;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slide .22s cubic-bezier(.2,.8,.2,1)}.drawer-h{padding:18px 22px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:flex-start;gap:12px}.drawer-h h2{font-size:19px}.drawer-b{padding:20px 22px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.drawer-f{padding:14px 22px;border-top:1px solid var(--line);background:var(--surface);display:flex;gap:10px;justify-content:flex-end}@keyframes slide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.toasts{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:#fff;padding:11px 16px;border-radius:10px;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:center;font-weight:500;animation:pop .25s cubic-bezier(.2,.8,.2,1);max-width:92vw}.toast.warn{background:#7a3417}.toast svg{flex:none;color:var(--tag)}@keyframes pop{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.agenda-item{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line-2);color:var(--ink)}.agenda-item:last-child{border-bottom:0}.agenda-item:hover{background:#f8faf6;text-decoration:none}.agenda-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}.agenda-ico.alta{background:var(--alert-bg);color:var(--alert)}.agenda-ico.media{background:var(--warn-bg);color:var(--warn)}.agenda-ico.baja{background:var(--info-bg);color:var(--info)}.agenda-title{font-weight:600}.agenda-sub{color:var(--ink-3);font-size:12.5px}.cycle{position:relative;padding:34px 0 44px}.cycle-track{height:14px;border-radius:8px;display:flex;overflow:hidden;background:var(--line-2)}.cycle-seg{height:100%}.cycle-mark{position:absolute;top:24px;bottom:30px;width:0}.cycle-mark:before{content:"";position:absolute;top:8px;bottom:6px;left:-1px;width:2px;background:var(--ink);opacity:.2}.cycle-mark .lbl{position:absolute;top:40px;transform:translate(-50%);font-size:11.5px;color:var(--ink-2);white-space:nowrap;text-align:center;line-height:1.2}.cycle-mark .lbl b{display:block;color:var(--ink);font-weight:650}.cycle-today{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.cycle-today .pin{background:var(--ink);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap}.cycle-today .stem{width:2px;height:20px;background:var(--ink)}.tl{position:relative;padding-left:22px}.tl:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-i{position:relative;padding:0 0 14px}.tl-i:before{content:"";position:absolute;left:-21px;top:5px;width:12px;height:12px;border-radius:99px;background:var(--surface);border:2.5px solid var(--ink-3)}.tl-i.parto:before{border-color:var(--st-lactando)}.tl-i.servicio:before{border-color:var(--st-servida)}.tl-i.diagnostico:before{border-color:var(--st-gestante)}.tl-i.vacuna:before{border-color:var(--info)}.tl-i.celo:before,.tl-i.baja:before{border-color:var(--alert)}.tl-i .d{font-size:12px;color:var(--ink-3)}.board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}.col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:200px}.col-h{padding:12px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.col-h .bar{width:4px;height:18px;border-radius:3px;background:currentColor}.col-h h3{color:var(--ink)}.col-h .n{margin-left:auto;font-weight:700;color:var(--ink-3)}.col-b{padding:8px;display:flex;flex-direction:column;gap:6px;max-height:620px;overflow-y:auto}.sow-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 10px;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left}.sow-card:hover{border-color:#b9c2bc;box-shadow:var(--shadow)}.sow-card .meta{font-size:12px;color:var(--ink-3)}.progress{height:5px;border-radius:4px;background:var(--line-2);overflow:hidden}.progress>i{display:block;height:100%;border-radius:4px;background:currentColor}.mat-card{padding:14px;display:flex;flex-direction:column;gap:10px}.piglets{display:flex;flex-wrap:wrap;gap:3px}.piglets i{width:12px;height:12px;border-radius:3px 6px 6px 3px;background:#e6a9a0}.piglets i.lost{background:transparent;border:1.5px dashed #C9B1AD}.stackbar{display:flex;height:16px;border-radius:6px;overflow:hidden;gap:2px}.stackbar>i{display:block;height:100%}.legend{display:grid;gap:6px}.legend-row{display:grid;grid-template-columns:12px 1fr auto auto;gap:10px;align-items:center;font-size:13.5px}.legend-row .sw{width:12px;height:12px;border-radius:3px}.liq{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.liq-h{background:var(--galpon);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.liq-h .sub{color:#a9c0b9;font-size:13px}.liq-b{padding:6px 22px 20px}.liq-line{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-2);gap:10px}.liq-line.total{border-bottom:0;border-top:2px solid var(--ink);font-weight:700;padding-top:12px}.liq-res{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.liq-res>div{padding:16px 22px;border-right:1px solid var(--line)}.liq-res>div:last-child{border-right:0}.liq-res .v{font-size:30px;font-weight:750;font-stretch:75%;line-height:1.1}.liq-res .good{color:var(--ok)}.liq-res .bad{color:var(--alert)}@media (max-width: 700px){.liq-res{grid-template-columns:1fr}.liq-res>div{border-right:0;border-bottom:1px solid var(--line)}}.stock{display:flex;align-items:center;gap:10px;min-width:150px}.stock .progress{flex:1}.stock.low{color:var(--alert)}.stock.okk{color:var(--ok)}.entry{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.entry-l{background:var(--galpon);color:#e3ece8;padding:48px 56px;display:flex;flex-direction:column;gap:28px;position:relative;overflow:hidden}.entry-l h1{font-size:46px;color:#fff;font-stretch:80%;line-height:1.02;max-width:12ch;letter-spacing:-.025em}.entry-l p{font-size:16px;color:#b5c9c2;max-width:44ch;line-height:1.5}.entry-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.entry-r{padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:18px;max-width:640px}.profile{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;box-shadow:var(--shadow)}.profile:hover{border-color:var(--primary)}.profile .pic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:var(--primary)}.profile h3{font-size:17px}.profile p{color:var(--ink-2);font-size:13.5px}@media (max-width: 900px){.entry{grid-template-columns:1fr}.entry-l,.entry-r{padding:28px 20px}.entry-l h1{font-size:34px}}.demo-fab{position:fixed;right:20px;bottom:20px;z-index:70;height:48px;padding:0 18px;border-radius:999px;background:var(--ink);color:#fff;border:0;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:var(--shadow-lg)}.demo-fab:hover{background:#2b3633}.demo-pop{position:fixed;right:20px;bottom:78px;z-index:71;width:min(380px,calc(100vw - 32px));background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);border:1px solid var(--line);overflow:hidden;animation:pop .2s ease}.demo-pop-h{padding:14px 16px;border-bottom:1px solid var(--line)}.demo-step{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 16px;cursor:pointer;border:0;background:transparent;text-align:left;width:100%;border-bottom:1px solid var(--line-2)}.demo-step:hover{background:var(--surface-2)}.demo-step .n{width:26px;height:26px;border-radius:99px;background:var(--tag);color:var(--tag-ink);display:grid;place-items:center;font-weight:800;font-size:13px}.demo-step .who{font-size:12px;color:var(--ink-3);padding:0}.demo-step.done .n{background:var(--ok-bg);color:var(--ok)}.phone-stage{min-height:100vh;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;padding:28px;background:var(--galpon)}.phone-side{color:#b5c9c2;max-width:300px;justify-self:end;display:flex;flex-direction:column;gap:14px}.phone-side h2{color:#fff;font-size:22px;font-stretch:85%}.phone-side-r{justify-self:start}.phone{width:390px;height:820px;border-radius:48px;background:#0e1513;padding:12px;box-shadow:0 30px 80px #00000073;position:relative}.phone-screen{width:100%;height:100%;border-radius:37px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;position:relative}.notch{position:absolute;top:10px;left:50%;transform:translate(-50%);width:110px;height:30px;border-radius:20px;background:#0e1513;z-index:5}@media (max-width: 1100px){.phone-side{display:none}.phone-stage{grid-template-columns:1fr;justify-items:center}}@media (max-width: 520px){.phone-stage{padding:0;display:block}.phone{width:100%;height:100dvh;border-radius:0;padding:0;box-shadow:none}.phone-screen{border-radius:0}.notch{display:none}}.app-top{background:var(--galpon);color:#fff;padding:46px 18px 14px;display:flex;align-items:center;gap:12px}.app-top h2{font-size:20px;font-stretch:88%}.app-top .sub{color:#a9c0b9;font-size:13px}.app-top .back{width:44px;height:44px;border-radius:12px;border:0;background:#ffffff1a;color:#fff;display:grid;place-items:center;cursor:pointer}.app-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.big-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.big-btn{min-height:112px;border-radius:18px;border:0;padding:14px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;cursor:pointer;font-weight:750;font-size:19px;font-stretch:88%;text-align:left;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line)}.big-btn .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.big-btn:active{transform:scale(.98)}.app-btn{height:58px;border-radius:14px;border:0;background:var(--primary);color:#fff;font-weight:750;font-size:18px;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.app-btn.tag{background:var(--tag);color:var(--tag-ink)}.app-btn:disabled{opacity:.45}.app-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.pick{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left}.pick.on{border-color:var(--primary);background:#eaf2ef;box-shadow:inset 0 0 0 1px var(--primary)}.counter{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px}.counter button{height:64px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);font-size:30px;font-weight:700;cursor:pointer;display:grid;place-items:center}.counter button:active{background:var(--surface-2)}.counter .val{text-align:center;font-size:48px;font-weight:800;font-stretch:72%;line-height:1}.counter-label{font-weight:650;font-size:15px;display:flex;justify-content:space-between;margin-bottom:6px}.steps{display:flex;gap:5px}.steps i{flex:1;height:4px;border-radius:3px;background:#ffffff2e}.steps i.on{background:var(--tag)}.done-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px}.done-check{width:88px;height:88px;border-radius:99px;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;animation:pop .3s ease}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{height:56px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:24px;font-weight:700;cursor:pointer}.keypad button:active{background:var(--surface-2)}.empty{padding:28px 16px;text-align:center;color:var(--ink-3);display:flex;flex-direction:column;gap:8px;align-items:center}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;background:transparent;padding:10px 14px;font-weight:600;color:var(--ink-3);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;display:flex;gap:6px;align-items:center}.tabs button.on{color:var(--ink);border-bottom-color:var(--tag-deep)}.notice{display:flex;gap:10px;padding:10px 12px;border-radius:9px;background:var(--info-bg);color:#24466e;font-size:13px;align-items:flex-start}.notice.warn{background:var(--warn-bg);color:#5e4300}.notice.alert{background:var(--alert-bg);color:#7a2c10}.notice.ok{background:var(--ok-bg);color:#1d5233}.soon{opacity:.55;cursor:not-allowed}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13.5px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-weight:600}@media print{.side,.top,.demo-fab,.no-print{display:none!important}.shell{display:block}.content{padding:0}body{background:#fff}}
