@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-cyrillic-ext-wght-normal-BH54svm2.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-cyrillic-wght-normal-BzUUW08o.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-greek-wght-normal-CGMhFIa2.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-vietnamese-wght-normal-o378VNJM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-latin-ext-wght-normal-DFXT9gkm.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Slab Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-slab-latin-wght-normal-NGSZfXMW.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--forest:#1f5138;--forest-dark:#123524;--forest-soft:#e8f1eb;--wheat:#d9963d;--wheat-light:#f2c77f;--bg:#f4f1e9;--panel:#fff;--ink:#17231c;--ink-soft:#667268;--line:#e2ded2;--barn:#b84e36;--ok:#317a4d;--warn:#c98a3d;--radius:18px;--shadow:0 12px 35px #1c342514;--shadow-hover:0 16px 42px #1c342524}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 0%,#fbf7ea 0,transparent 34%),var(--bg);color:var(--ink);min-height:100vh;margin:0;font-family:Inter,system-ui,sans-serif}h1,h2,h3,.display{font-family:Roboto Slab,serif}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px}header{background:linear-gradient(125deg,var(--forest-dark),var(--forest) 62%,#2f694a);color:#fff;z-index:50;padding:15px max(18px,50vw - 590px) 0;position:sticky;top:0;box-shadow:0 8px 30px #0b27192e}.brand{align-items:center;gap:12px;margin-bottom:12px;display:flex}.brand .mark{background:linear-gradient(145deg,var(--wheat-light),var(--wheat));width:42px;height:42px;color:var(--forest-dark);border-radius:13px;justify-content:center;align-items:center;font-family:Roboto Slab,serif;font-size:20px;font-weight:900;display:flex;box-shadow:inset 0 1px #ffffff80,0 7px 16px #00000029}.brand h1{letter-spacing:.2px;margin:0;font-size:21px}.brand .sub{color:#d7e5db;letter-spacing:.2px;margin-top:1px;font-size:11.5px}.header-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.session-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cloud-status{color:#f5fbf7;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:750;display:inline-flex}.cloud-status.offline{background:#b84e3640}.header-action{color:#fff;background:#ffffff1a;border:1px solid #ffffff47;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:750}.header-action:hover{background:#ffffff2e}nav{scrollbar-width:none;gap:3px;display:flex;overflow-x:auto}nav::-webkit-scrollbar{display:none}nav button{color:#d2ddd5;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:11px 14px;font-size:13.5px;font-weight:650;transition:all .18s}nav button:hover{color:#fff;background:#ffffff0f;border-radius:10px 10px 0 0}nav button.active{color:#fff;border-bottom:3px solid var(--wheat-light);background:#ffffff14;border-radius:10px 10px 0 0}main{max-width:1180px;margin:0 auto;padding:24px 18px 80px}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff0;border:1px solid #d6d2c4e0;margin-bottom:16px;padding:20px}.card h2{color:var(--forest-dark);margin:0 0 12px;font-size:17px}.card h2 .count{background:var(--forest);color:#fff;border-radius:20px;margin-left:6px;padding:1px 9px;font-family:Inter;font-size:12px}.muted{color:var(--ink-soft);font-size:13px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=700px){.grid2{grid-template-columns:1fr}}.btn{background:linear-gradient(135deg,var(--forest),#2d6748);color:#fff;border:none;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:12px 17px;font-size:14px;font-weight:750;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 5px 13px #1f513829}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1f513833}.btn:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn.wheat{background:linear-gradient(135deg,var(--wheat-light),var(--wheat));color:var(--forest-dark)}.btn.ghost{color:var(--forest);box-shadow:none;background:#fff;border:1.5px solid #b9cbbf}.btn.small{border-radius:8px;padding:7px 11px;font-size:12.5px}.btn.danger{background:var(--barn)}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.section-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.section-toolbar .tabs-sub{margin-bottom:0}table{border-collapse:collapse;width:100%;font-size:13.5px}.table-scroll{width:100%;max-width:100%}.table-scroll-hint{display:none}th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--line);padding:8px 6px;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--line);padding:9px 6px}tr:last-child td{border-bottom:none}.badge{border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.badge.pre{color:var(--barn);background:#fcebe0}.badge.vacia{color:var(--ok);background:#e7efe9}.badge.montada{color:#245b87;background:#e3edf8}.badge.repetida{color:#5b3e96;background:#f0e9f8}.badge.lactando{color:#85561b;background:#fff4df}.badge.muerta,.badge.vendida,.badge.retirada{color:#777;background:#eee}.badge.act{color:var(--ok);background:#e7efe9}.badge.fin{color:#777;background:#eee}.tag{border-radius:6px;margin-right:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.tag.parto{background:var(--barn);color:#fff}.tag.protocolo{background:var(--wheat);color:#3a2a0f}.tag.repeticion{color:#5b3e96;background:#eadff7}.tag.celo{color:#17665f;background:#ddf1ec}.tag.manual{color:#175b92;background:#dceaf9}.checkline{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:11px 5px;display:flex}.checkline:last-child{border-bottom:none}.checkline input[type=checkbox]{width:19px;height:19px;accent-color:var(--forest)}.checkline.done .label{color:var(--ink-soft);text-decoration:line-through}.checkline .label{flex:1;font-size:13.5px}.task-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:7px;margin-top:5px;font-size:11.5px;display:flex}.day-pill{background:var(--forest-soft);color:var(--forest-dark);white-space:nowrap;border:1px solid #cdded1;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.status-pill{color:#85561b;background:#fff4df;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.done{color:var(--ok);background:#e4f3e9}.record-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.record-actions .btn{padding:6px 9px;font-size:11px}.record-actions .btn.danger{color:var(--barn);box-shadow:none;background:#fff0ec;border:1px solid #ebc4ba}.tracking-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.tracking-card{border:1px solid var(--line);background:linear-gradient(#fff,#fbfaf6);border-radius:14px;padding:14px}.tracking-card h3{color:var(--forest-dark);margin:0;font-size:15px}.tracking-summary{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.facility-map{border:1px solid var(--line);background-color:#f8f5ec;background-image:linear-gradient(#1f51380b 1px,#0000 1px),linear-gradient(90deg,#1f51380b 1px,#0000 1px);background-size:22px 22px;border-radius:16px;gap:18px;padding:18px;display:grid}.facility-summary{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.facility-zone{background:#ffffffe0;border:2px solid #d5ded6;border-radius:15px;padding:14px;box-shadow:0 8px 20px #1c34250f}.facility-zone.ceba{border-color:#e6d2b2}.zone-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.zone-heading h3{color:var(--forest-dark);margin:0;font-size:15px}.space-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:11px;display:grid}.space-stall{background:#f4fbf6;border:2px dashed #96b5a0;border-radius:13px;flex-direction:column;justify-content:space-between;gap:10px;min-height:145px;padding:13px;display:flex}.space-stall.occupied{border-style:solid;border-color:var(--wheat);background:linear-gradient(145deg,#fff9ec,#fff2d4)}.space-stall-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.space-stall-id{color:var(--forest-dark);font-family:Roboto Slab;font-size:17px;font-weight:900}.space-stall-icon{font-size:23px;line-height:1}.space-stall .btn-row{margin-top:auto}.unassigned-lots{background:#fffdf6;border:1.5px dashed #c7b995;border-radius:14px;margin-top:16px;padding:14px}.unassigned-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.unassigned-lot{border:1px solid var(--line);cursor:pointer;color:var(--forest-dark);background:#fff;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:750}.unassigned-lot:hover{border-color:var(--forest)}.sow-facility-map{border:1px solid var(--line);background-color:#f8f5ec;background-image:linear-gradient(#1f51380b 1px,#0000 1px),linear-gradient(90deg,#1f51380b 1px,#0000 1px);background-size:22px 22px;border-radius:16px;gap:12px;padding:18px;display:grid}.sow-map-line{background:#ffffffe6;border:2px solid #d5ded6;border-radius:15px;padding:14px;box-shadow:0 8px 20px #1c34250f}.sow-map-line.farrowing{border-color:#e6d2b2}.sow-stall-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;padding:2px;display:grid}.sow-stall{background:#f4fbf6;border:2px dashed #96b5a0;border-radius:13px;flex-direction:column;justify-content:space-between;gap:10px;min-height:150px;padding:13px;display:flex}.sow-stall.occupied{border-style:solid;border-color:var(--wheat);background:linear-gradient(145deg,#fff9ec,#fff2d4)}.sow-map-aisle{text-align:center;background:var(--forest);color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:10px;padding:9px;font-size:12px;font-weight:800}@media (width<=1200px){.sow-stall-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.sow-stall-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.sow-stall-row{grid-template-columns:1fr}}.search-box{gap:8px;margin-bottom:10px;display:flex}.search-box input{border:1.5px solid var(--line);border-radius:10px;flex:1;padding:11px 12px}#modal-overlay{z-index:100;background:#152a1d8c;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}#modal-overlay.open{display:flex}#modal-box{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:540px;max-height:88vh;padding:22px;animation:.18s ease-out slideup;overflow-y:auto;box-shadow:0 30px 80px #0c241747}@media (width>=700px){#modal-overlay{align-items:center}#modal-box{border-radius:16px;margin-bottom:40px}}@keyframes slideup{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}#modal-box h3{color:var(--forest-dark);margin:0 0 12px;font-size:16px}.field{margin-bottom:11px}.field label{color:var(--ink-soft);margin-bottom:4px;font-size:12.5px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:9px;width:100%;padding:10px 11px}.field textarea{min-height:60px}.modal-actions{background:#fff;gap:8px;margin-top:14px;padding-top:8px;display:flex;position:sticky;bottom:0}.modal-actions .btn{flex:1}.close-x{color:var(--ink-soft);background:0 0;border:none;font-size:20px;position:absolute;top:14px;right:16px}.calendar-shell{padding:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fcfbf7);padding:18px 20px 14px}.cal-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:0;display:flex}.cal-head .btn{padding:8px 12px}.cal-title{text-transform:capitalize;color:var(--forest-dark);font-family:Roboto Slab;font-size:20px;font-weight:800}.cal-grid{background:var(--line);grid-template-columns:repeat(7,1fr);gap:0;display:grid}.cal-dow{text-align:center;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.65px;background:#f8f6f0;padding:11px 4px;font-size:11px;font-weight:800}.cal-day{cursor:pointer;background:#fff;border:none;min-height:104px;padding:9px;font-size:12px;transition:all .16s;position:relative;overflow:hidden}.cal-day:hover{z-index:1;background:#f5f9f6;box-shadow:inset 0 0 0 2px #b9d0c0}.cal-day.today{box-shadow:inset 0 0 0 2px var(--wheat);background:#fff8e8}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--forest);z-index:2;background:#edf5ef}.cal-day.empty{cursor:default;background:#f3f0e8}.cal-day .n{border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:13px;font-weight:800;display:flex}.cal-day.today .n{background:var(--wheat);color:var(--forest-dark)}.cal-event{background:var(--forest-soft);color:var(--forest-dark);white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--forest);border-radius:6px;margin-top:5px;padding:4px 6px;font-size:9.5px;font-weight:750;line-height:1.2;display:block;overflow:hidden}.cal-event.parto{color:#8a3524;border-color:var(--barn);background:#fae8e3}.cal-event.repeticion{color:#5b3e96;background:#f0e9f8;border-color:#7a57a8}.cal-event.celo{color:#17665f;background:#e5f4ef;border-color:#258f83}.cal-event.destete{color:#85561b;background:#fff2d4;border-color:#d9a13e}.cal-event.manual{color:#175b92;background:#e9f3fc;border-color:#3b82c4}.more-events{color:var(--ink-soft);margin-top:4px;font-size:9.5px;font-weight:700;display:block}.calendar-legend{border-top:1px solid var(--line);color:var(--ink-soft);background:#fcfbf7;flex-wrap:wrap;gap:14px;padding:12px 20px;font-size:11px;font-weight:700;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.legend-dot{background:var(--forest);border-radius:50%;width:8px;height:8px}.legend-dot.birth{background:var(--barn)}.legend-dot.repeat{background:#7a57a8}.legend-dot.heat{background:#258f83}.day-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.day-detail-header h2{margin-bottom:3px;font-size:20px}.day-detail-list{gap:10px;display:grid}.day-task{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;transition:all .16s;display:grid}.day-task:hover{border-color:#b9cbbf;box-shadow:0 8px 20px #1c342512}.day-task.done{opacity:.72;background:#f7faf7}.day-task.done .task-title{text-decoration:line-through}.day-task input{width:20px;height:20px;accent-color:var(--forest)}.task-title{color:var(--forest-dark);font-size:14px;font-weight:800}.task-subject{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.area-badge{color:#475a4d;background:#edf0ec;border-radius:999px;align-items:center;width:max-content;margin-top:6px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.area-badge.maternidad{color:#9a4935;background:#fdece6}.area-badge.destete{color:#825315;background:#fff2d8}.area-badge.ceba{color:#3e5692;background:#e8edfa}.area-badge.gestacion{color:#206749;background:#e4f1eb}.area-badge.verracos{color:#5d4b89;background:#e8e5f5}.area-badge.reemplazo{color:#246b69;background:#e4f1f0}.area-group+.area-group{margin-top:19px}.area-summary{flex-wrap:wrap;gap:7px;margin:0 0 16px;display:flex}.area-summary-item{border:1px solid var(--line);color:var(--forest-dark);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.area-summary-item.empty{color:var(--ink-soft);background:#f8f8f5}.area-summary-item strong{font-size:10px}.area-group-heading{justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;display:flex}.area-group-heading h3{color:var(--forest-dark);margin:0;font-size:14px}.area-group-heading .count{color:var(--ink-soft);font-size:11px;font-weight:800}.task-end{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.task-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.task-actions .btn{box-shadow:none;padding:5px 8px;font-size:11px}.task-actions .btn.danger{color:var(--barn);background:#fff0ec;border:1px solid #ebc4ba}.tabs-sub{background:#ede9df;border-radius:12px;gap:6px;width:max-content;max-width:100%;margin-bottom:14px;padding:4px;display:flex}.tabs-sub button{color:var(--ink-soft);background:0 0;border:none;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700}.tabs-sub button.active{background:var(--forest);color:#fff}.calendar-view-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 20px 14px;display:flex}.calendar-view-controls .tabs-sub{margin:0}.ficha-row{border-bottom:1px dashed var(--line);justify-content:space-between;padding:6px 0;font-size:13.5px;display:flex}.ficha-row:last-child{border-bottom:none}.ficha-row .k{color:var(--ink-soft)}.ficha-row .v{text-align:right;font-weight:600}.stat{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;padding:14px}.stat .num{color:var(--forest-dark);font-family:Roboto Slab;font-size:26px;font-weight:900}.stat .lab{color:var(--ink-soft);text-transform:uppercase;font-size:11.5px;font-weight:700}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.empty-state{text-align:center;color:var(--ink-soft);padding:34px 10px}.empty-state .emoji{margin-bottom:8px;font-size:32px;display:block}.auth-shell{place-items:center;min-height:calc(100vh - 105px);padding:34px 18px 80px;display:grid}.auth-card{background:#fffffff5;border:1px solid #d6d2c4e6;border-radius:24px;width:min(440px,100%);padding:30px;box-shadow:0 24px 70px #12352429}.auth-emblem{background:linear-gradient(145deg,var(--wheat-light),var(--wheat));border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:18px;font-size:28px;display:grid;box-shadow:0 12px 24px #d9963d40}.auth-card h2{color:var(--forest-dark);margin:0 0 7px;font-size:25px}.auth-card .intro{color:var(--ink-soft);margin:0 0 22px;font-size:14px;line-height:1.55}.auth-card .btn{width:100%;margin-top:4px}.auth-message{min-height:20px;color:var(--barn);margin-top:13px;font-size:12.5px;font-weight:650}.setup-card{text-align:center;max-width:620px;margin:54px auto 0}.setup-card .emoji{margin-bottom:12px;font-size:42px;display:block}a.linklike{color:var(--forest);cursor:pointer;font-weight:700;text-decoration:underline}.toast{background:var(--forest-dark);color:#fff;z-index:200;opacity:0;pointer-events:none;border-radius:30px;padding:10px 18px;font-size:13px;font-weight:600;transition:opacity .25s;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}@media (width<=760px){header{padding-top:11px}.header-top{align-items:flex-start}.brand{margin-bottom:9px}.brand .sub{display:none}.session-actions{gap:5px;max-width:56%;margin-bottom:8px}.cloud-status,.header-action{padding:6px 8px;font-size:11px}main{padding:16px 10px 70px}.card{border-radius:15px;padding:15px}.tabs-sub{overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.tabs-sub::-webkit-scrollbar{display:none}.tabs-sub button{white-space:nowrap;flex:none}.table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table{width:max-content;min-width:100%}.table-scroll th,.table-scroll td{white-space:nowrap}.table-scroll-hint.is-visible{color:var(--ink-soft);text-align:right;margin-top:7px;font-size:11px;display:block}.calendar-shell{padding:0;overflow:hidden}.calendar-toolbar,.cal-grid,.calendar-legend{min-width:0}.cal-head{grid-template-columns:1fr 1fr;display:grid}.cal-title{text-align:center;grid-area:1/1/auto/-1;font-size:18px}.cal-head>button{grid-area:2/1;justify-self:start}.cal-head>div:last-child{grid-area:2/2;justify-self:end}.cal-day{min-height:67px;padding:5px}.cal-day .n{width:23px;height:23px;font-size:11px}.cal-dow{padding:8px 2px;font-size:9px}.cal-event{background:var(--forest);border:none;border-radius:50%;width:7px;height:7px;margin:5px 2px 0 0;padding:0;font-size:0;display:inline-block}.cal-event.parto{background:var(--barn)}.cal-event.repeticion{background:#7a57a8}.cal-event.celo{background:#258f83}.cal-event.manual{background:#3b82c4}.more-events{margin-top:2px;font-size:8px}.calendar-legend{gap:9px;padding:10px 12px;font-size:9.5px}.day-task{grid-template-columns:auto 1fr}.day-task .task-end{grid-column:2;justify-self:start;align-items:flex-start}.day-task .task-actions{justify-content:flex-start}.section-toolbar{flex-direction:column;align-items:stretch}.section-toolbar>.btn{width:100%}}body{font-family:Inter Variable,Inter,system-ui,sans-serif}h1,h2,h3,.display,.brand .mark,.space-stall-id,.stat .num{font-family:Roboto Slab Variable,Roboto Slab,serif}button.linklike{font:inherit;text-align:inherit;color:var(--forest);background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.skip-link{z-index:500;color:var(--forest-dark);background:#fff;padding:10px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}:focus-visible{outline-offset:3px;outline:3px solid #d9963d}.date-heading:first-letter{text-transform:uppercase}.upcoming-date{color:var(--forest-dark);margin:16px 0 7px;font-size:13px}.upcoming-task{flex-wrap:wrap;align-items:center;gap:7px;padding:5px 0;font-size:12.5px;display:flex}.upcoming-task .area-badge{margin-top:0}.calendar-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 6px;display:grid}button.cal-day{border-style:solid;border-width:0 1px 1px 0;border-color:var(--line);font:inherit;text-align:left;color:inherit;border-radius:0}button.cal-day .n{justify-content:center;align-items:center;display:flex}.cal-day.selected{outline:2px solid var(--forest);outline-offset:-2px}.warning-card{border-color:var(--warn)}.warning-card .btn-row{margin-top:10px}.form-error{color:var(--barn);font-size:14px}.modal-close{float:right;color:var(--ink-soft);background:0 0;border:0;padding:5px 8px;font-size:18px}.ficha-row{gap:12px}.ficha-row .v{overflow-wrap:anywhere}.card,.tracking-card,.day-task>div,main,.section-toolbar,.header-top,.brand{min-width:0}.history-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-width:46ch}.history-filters .field{min-width:0}@media (width<=760px){.calendar-filters{grid-template-columns:1fr;gap:0}.brand h1{font-size:18px}.brand .mark{flex-shrink:0}.header-top{gap:8px}.ficha-row .k{flex:0 48%}.ficha-row .v{flex:0 52%}.tracking-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.space-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}}
