@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";:root{--color-brand-dark:#004b2a;--color-brand-light:#1ba262;--color-brand-mid:#157347;--color-bg-light:#f6f9f7;--color-bg-grey:#eef2ef;--color-text-dark:#1a1a1a;--color-text-muted:#555;--color-border:#d0ded5}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text-dark);-webkit-font-smoothing:antialiased;background-color:#f0f2f5;font-family:Montserrat,sans-serif}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--color-brand-dark);color:#fff;flex-direction:column;flex-shrink:0;width:260px;padding:1.5rem;display:flex}.brand-mark{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;width:40px;height:40px;padding:4px}.brand-mark strong{font-size:1.1rem;line-height:1.2;display:block}.brand-mark span{opacity:.7;font-size:.75rem}.nav-actions{flex-direction:column;gap:.5rem;display:flex}.nav-actions button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:background .2s;display:flex}.nav-actions button:hover{background:#ffffff1a}.nav-actions button.active{background:#fff3;font-weight:600}.main-area{background:#f0f2f5;flex:1;overflow-y:auto}.page-heading{margin-bottom:2rem}.page-heading span{text-transform:uppercase;color:var(--color-brand-mid);letter-spacing:.05em;font-size:.8rem;font-weight:600}.page-heading h1{margin:.25rem 0 .5rem;font-size:2rem}.page-heading p{color:var(--color-text-muted)}.dashboard,.editor{max-width:1200px;margin:0 auto;padding:2rem}.filters{gap:1rem;margin-bottom:2rem;display:flex}.search-field,.filter-field{flex-direction:column;gap:.5rem;display:flex}.search-field input,.filter-field select{border:1px solid #ccc;border-radius:8px;min-width:200px;padding:.75rem;font-family:inherit;font-size:1rem}.search-field input{min-width:300px}.report-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.report-card{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #0000000d}.report-card h2{margin-bottom:.25rem;font-size:1.25rem}.report-card dl{grid-template-columns:1fr 1fr;gap:1rem;font-size:.9rem;display:grid}.report-card dt{color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem}.report-card dd{font-weight:500}.status-pill{text-transform:uppercase;border-radius:999px;margin-bottom:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-pill.draft{color:#be123c;background:#ffe4e6}.status-pill.final{color:#15803d;background:#dcfce7}.card-actions{border-top:1px solid #eee;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:inherit;font-weight:500;transition:all .2s;display:inline-flex}button:hover{background:#f9f9f9}button.primary{background:var(--color-brand-dark);color:#fff;border-color:var(--color-brand-dark)}button.primary:hover{background:var(--color-brand-mid)}button.danger{color:#ef4444;border-color:#fca5a5}button.danger:hover{background:#fef2f2}fieldset{background:#fff;border:none;border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 12px #0000000d}fieldset legend,h3,h4{color:var(--color-brand-dark);margin-bottom:1rem;font-size:1.25rem;font-weight:700}h4{border-bottom:1px solid #eee;margin-top:1.5rem;padding-bottom:.5rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}label{color:var(--color-text-muted);flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.full-width{grid-column:1/-1}input,select,textarea{border:1px solid #ccc;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem}textarea{resize:vertical;min-height:80px}.sticky-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffffe6;border-radius:12px;justify-content:flex-end;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex;position:sticky;top:1rem;box-shadow:0 4px 12px #0000001a}.species-manager{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.species-tabs{flex-wrap:wrap;gap:1rem;display:flex}.species-tab{background:var(--color-bg-grey);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;display:inline-flex}.species-tab button{color:var(--color-text-muted);background:0 0;border:none;padding:0}.add-species{gap:.5rem;display:flex}.add-species button{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.dental-editor{flex-direction:column;gap:.5rem;display:flex}.dental-row{grid-template-columns:2fr 1fr 1fr;gap:1rem;display:grid}.preview-container{background:#525659;flex-direction:column;align-items:center;min-height:100vh;padding:2rem;display:flex}.preview-toolbar{background:#fff;border-radius:12px;gap:1rem;width:100%;max-width:210mm;margin-bottom:2rem;padding:1rem;display:flex;box-shadow:0 4px 12px #0003}.report-print-container{flex-direction:column;gap:2rem;display:flex}.report-page{background:#fff;flex-direction:column;width:210mm;min-height:297mm;padding:15mm;display:flex;position:relative;box-shadow:0 10px 30px #0000004d}.report-header{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.report-brand img{object-fit:contain;height:80px}.report-title{text-align:right}.report-title span{color:var(--color-text-muted);letter-spacing:.05em;font-size:1.2rem;font-weight:500;display:block}.report-title h1{color:#000;font-size:2.2rem;font-weight:800;line-height:1.1}.report-meta{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);justify-content:space-between;gap:1rem;margin-bottom:2rem;padding:1rem 0;display:flex}.meta-box{background:0 0;border:none;border-radius:0;flex:1;align-items:center;gap:1rem;padding:0 1rem;display:flex}.meta-box:not(:last-child){border-right:1px solid var(--color-border)}.meta-icon{color:var(--color-brand-light);width:32px;height:32px}.meta-box span{color:var(--color-text-muted);font-size:.75rem;font-weight:700;display:block}.meta-box strong{color:#000;font-size:1.1rem;display:block}.report-grid-boxes{flex-direction:column;flex:1;gap:1.5rem;display:flex}.box-row{grid-template-columns:1fr 1.2fr;gap:1.5rem;display:grid}.box{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.box-header{color:#fff;background:#000;padding:.75rem 1rem;font-size:1.1rem;font-weight:700}.general-content{flex-direction:column;padding:1.5rem;display:flex}.methodology-text{margin-bottom:1.5rem;font-size:.95rem;font-weight:500;line-height:1.5}.period-box{background:var(--color-brand-dark);color:#fff;border-radius:12px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.period-box span{opacity:.9;font-size:.75rem;display:block}.period-box strong{font-size:1rem;display:block}.evaluated-box{background:var(--color-bg-grey);border-radius:100px;align-self:flex-start;align-items:center;gap:1.5rem;padding:.5rem 2rem .5rem .5rem;display:flex}.eval-icon{background:var(--color-brand-dark);color:#fff;border-radius:50%;width:70px;height:70px;padding:15px}.eval-numbers strong{margin-right:.5rem;font-size:2.5rem;font-weight:800;line-height:1}.eval-numbers span{vertical-align:super;font-size:.9rem;font-weight:700;display:inline-block}.pregnancy-content{padding:1.5rem}.preg-summary{margin-bottom:1.5rem;font-size:1rem}.preg-visuals{align-items:center;gap:1rem;display:flex}.donut-container{flex-direction:column;align-items:center;gap:.5rem;display:flex}.donut-chart{background:conic-gradient(var(--color-brand-dark) calc(var(--p) * 1%), var(--color-bg-grey) 0);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex}.donut-inner{text-align:center;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;height:110px;display:flex}.donut-inner strong{font-size:2.2rem;font-weight:800}.donut-inner span{font-size:.7rem;font-weight:700}.donut-sub{text-align:center;font-size:.8rem;font-weight:600}.calving-dist{text-align:center;flex:1}.calving-title{color:var(--color-brand-light);margin-bottom:1rem;font-size:.8rem;font-weight:700;display:block}.calving-columns{justify-content:center;gap:.5rem;display:flex}.calving-col{flex-direction:column;align-items:center;display:flex}.calving-col span{font-size:.8rem;font-weight:700}.calving-col .animal-svg{color:#000;width:40px;height:40px;margin:.5rem 0}.calving-col strong{font-size:1.4rem}.calving-col small{font-size:.75rem}.perc-pill{background:var(--color-brand-light);color:#fff;border-radius:4px;margin-top:.5rem;padding:.25rem .75rem;font-weight:700}.calving-interpretation{text-align:center;margin-top:1.5rem;font-size:.9rem;font-weight:500}.box-empty{background:var(--color-bg-light)}.empty-content{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.empty-item{gap:1rem;display:flex}.icon-circle{border:2px solid var(--color-brand-light);width:50px;height:50px;color:var(--color-brand-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-circle svg{width:28px;height:28px}.empty-item strong{color:var(--color-brand-light);font-size:1.1rem;display:block}.empty-item strong.danger-text{color:var(--color-brand-mid)}.empty-item span{font-size:1rem;font-weight:600}.reco-title{color:var(--color-text-muted);margin-top:.75rem;font-size:.85rem}.empty-item ul{margin-top:.25rem;padding-left:1.25rem;font-size:.9rem}.dental-content{padding:1.5rem}.dental-content p{margin-bottom:1rem;font-size:.9rem}.dental-table{border-collapse:collapse;width:100%}.dental-table th{background:var(--color-brand-mid);color:#fff;text-align:left;padding:.75rem;font-size:.8rem}.dental-table td{border-bottom:1px solid var(--color-border);padding:.75rem;font-size:.9rem;font-weight:600}.dental-table tr:nth-child(2n),.box-recommendations{background:var(--color-bg-light)}.reco-content{grid-template-columns:1fr 1fr;display:grid}.reco-elimination{border-right:1px solid var(--color-border);flex-direction:column;padding:1.5rem;display:flex}.reco-replacement{flex-direction:column;padding:1.5rem;display:flex}.reco-head{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.reco-icon{color:var(--color-brand-dark)}.reco-head strong{color:var(--color-brand-dark);font-size:1.1rem}.reco-elimination p,.reco-replacement p{margin-bottom:.5rem;font-weight:600}.reco-elimination ul{margin-bottom:1.5rem;padding-left:1.5rem;font-weight:500}.total-elimination-pill{background:var(--color-brand-dark);color:#fff;text-align:center;border-radius:8px;margin-top:auto;padding:1rem}.total-elimination-pill span{opacity:.9;font-size:.8rem;display:block}.total-elimination-pill strong{font-size:1.3rem}.reco-sub{color:var(--color-brand-light);margin-top:auto;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.replacement-pill{background:var(--color-bg-grey);border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.replacement-pill .animal-svg{color:#000;width:40px;height:40px}.replacement-pill strong{margin-right:.5rem;font-size:2rem;line-height:1}.replacement-pill span{font-weight:600}.report-footer{border-top:2px solid var(--color-brand-light);justify-content:space-around;margin-top:2rem;padding-top:1.5rem;display:flex}.signature{text-align:center}.signature strong{margin-bottom:.25rem;font-family:Brush Script MT,Cedarville Cursive,cursive,sans-serif;font-size:1.2rem;display:block}.signature span{color:var(--color-text-muted);font-size:.9rem;display:block}.page-break{page-break-after:always}@media print{.no-print{display:none!important}.preview-container{background:#fff;padding:0}.report-print-container{gap:0}.report-page{box-shadow:none;page-break-after:always;width:210mm;height:297mm;padding:10mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}}.login-container{background-color:var(--color-brand-dark);background-image:radial-gradient(circle at 50% 0%, #1a3a2d 0%, var(--color-brand-dark) 80%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:420px;padding:3rem;animation:.5s ease-out forwards slideUp;box-shadow:0 20px 40px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:2rem}.login-logo{height:80px;margin-bottom:1rem}.login-header h1{color:var(--color-brand-dark);margin-bottom:.25rem;font-size:1.5rem;font-weight:800}.login-header p{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;display:flex}.input-group input{border:2px solid var(--color-border);background:var(--color-bg-light);box-sizing:border-box;border-radius:12px;width:100%;padding:1rem 1.25rem;font-size:1rem;transition:all .2s}.input-group input:focus{border-color:var(--color-brand-primary);background:#fff;outline:none;box-shadow:0 0 0 4px #1abc9c1a}.input-group input.input-error{background:#fef2f2;border-color:#ef4444}.error-text{color:#ef4444;font-size:.85rem;font-weight:500;animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-button{background:var(--color-brand-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.login-button:hover{background:var(--color-brand-dark);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.baston-dashboard{max-width:800px;margin:0 auto;padding:2rem}.uploader-container{border:2px dashed var(--color-border);text-align:center;cursor:pointer;background:#fff;border-radius:16px;margin-top:2rem;padding:3rem;transition:all .2s ease-in-out}.uploader-container:hover{border-color:var(--color-brand-primary);background:var(--color-bg-light)}.upload-icon{color:var(--color-brand-primary);margin-bottom:1rem}.uploader-box h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem}.uploader-box p{color:var(--color-text-muted)}.upload-error{color:#ef4444;background:#fef2f2;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem;font-weight:500;display:flex}.baston-instructions{border:1px solid var(--color-border);background:#fff;border-radius:12px;margin-top:2rem;padding:2rem}.baston-instructions h3{margin-bottom:1rem}.baston-instructions ul{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.baston-instructions li{color:var(--color-text-muted);align-items:center;gap:.5rem;display:flex}.baston-instructions li strong{color:var(--color-text)}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--color-border);z-index:100;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:1rem;position:sticky;top:0}.brand-logo{width:40px;height:40px}.nav-actions{flex-direction:row;gap:.5rem;padding-bottom:.5rem;overflow-x:auto}.nav-actions button{white-space:nowrap;padding:.5rem 1rem;font-size:.875rem}.main-area{padding:1rem}.dashboard-hero{flex-direction:column;align-items:flex-start;gap:1rem}.filters{flex-direction:column;gap:1rem}.report-list{grid-template-columns:1fr}.baston-dashboard{padding:0}.uploader-container{padding:1.5rem 1rem}.report-editor{padding:1rem}.editor-header{flex-direction:column;align-items:flex-start}.editor-header .actions{flex-wrap:wrap;width:100%}.editor-header .actions button{flex:1;justify-content:center}.form-grid{grid-template-columns:1fr}.preview-container{padding:0}.preview-toolbar{flex-wrap:wrap;position:sticky;top:70px}.preview-toolbar button{flex:1;justify-content:center}.a4-page{width:100%;max-width:100vw;height:auto;padding:1rem;overflow-x:auto}.report-header{text-align:center;flex-direction:column;gap:1rem}.report-header .info-blocks{flex-direction:column;align-items:center}.results-grid{grid-template-columns:1fr}.box{margin-bottom:1rem}.dental-table{font-size:.875rem}.dental-table th,.dental-table td{padding:.5rem}.login-card{width:auto;margin:1rem;padding:2rem}}.field-entry-container{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:1rem;display:flex}.field-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000d}.field-header h1{color:var(--color-brand-dark);margin-bottom:.25rem;font-size:1.5rem}.field-header p{color:var(--color-text-muted);margin:0;font-size:.9rem}.field-meta-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field-data-form{background:#fff;border-radius:12px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #00000014}.form-group{flex-direction:column;gap:.5rem;display:flex}.caravana-input{text-align:center;padding:1rem;font-size:1.5rem;font-weight:700}.pills-group{flex-wrap:wrap;gap:.5rem;display:flex}.pill-btn{border:2px solid var(--color-border);color:var(--color-text-muted);background:#fff;border-radius:8px;flex:1;padding:.75rem .5rem;font-size:1.1rem}.pill-btn.active{border-color:var(--color-brand-dark);background:var(--color-brand-dark);color:#fff}.prenez-group{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.prenez-buttons{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.btn-prenez{color:#fff;text-transform:uppercase;border:none;border-radius:12px;padding:1.5rem 1rem;font-size:1.1rem;font-weight:700;box-shadow:0 4px 6px #0000001a}.btn-prenez:active{transform:scale(.98)}.btn-cabeza{background:#16a34a}.btn-cuerpo{background:#2563eb}.btn-cola{background:#f59e0b}.btn-vacia{background:#dc2626}.field-records-list{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.no-records{color:var(--color-text-muted);text-align:center;padding:2rem 0;font-style:italic}.records-scroll{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.record-card{border:1px solid var(--color-border);background:var(--color-bg-light);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.record-main{flex-direction:column;flex:1;gap:.25rem;display:flex}.record-main strong{font-size:1.1rem}.status-badge{text-transform:uppercase;color:#fff;border-radius:4px;align-self:flex-start;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.status-badge.cabeza{background:#16a34a}.status-badge.cuerpo{background:#2563eb}.status-badge.cola{background:#f59e0b}.status-badge.vacia{background:#dc2626}.record-details{color:var(--color-text-muted);flex-direction:column;flex:1;align-items:flex-end;gap:.25rem;margin-right:1rem;font-size:.85rem;display:flex}.record-details .obs{color:#d97706;font-weight:500}.btn-delete{color:#ef4444;background:0 0;border:none;padding:.5rem}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:1rem}.brand-mark{margin-bottom:0}.brand-mark strong{font-size:.9rem}.nav-actions{background:var(--color-brand-dark);z-index:100;flex-direction:row;justify-content:space-around;padding:.5rem;position:fixed;bottom:0;left:0;right:0}.nav-actions button{text-align:center;flex-direction:column;gap:.25rem;padding:.5rem;font-size:.7rem}.main-area{padding-bottom:4rem}.field-entry-container{padding:.5rem}.field-meta-form,.prenez-buttons{grid-template-columns:1fr}.btn-prenez{padding:1.25rem}.preview-toolbar{flex-direction:column;align-items:stretch}.preview-toolbar button{width:100%;margin-bottom:.5rem}.preview-container{padding:1rem 0}.report-page{width:100%;min-height:auto;box-shadow:none;border-bottom:2px dashed var(--color-border);padding:1rem}.report-header{text-align:center;flex-direction:column;gap:1rem}.report-title{text-align:center}.report-meta{flex-direction:column;gap:0}.meta-box{border-bottom:1px solid var(--color-border);padding:.75rem 0;border-right:none!important}.meta-box:last-child{border-bottom:none}.box-row{grid-template-columns:1fr}.preg-visuals{flex-direction:column;gap:2rem}.calving-columns{flex-wrap:wrap}.dental-table{white-space:nowrap;display:block;overflow-x:auto}.empty-item{text-align:center;flex-direction:column;align-items:center}.reco-content{grid-template-columns:1fr}.reco-elimination{border-right:none;border-bottom:1px solid var(--color-border)}.report-footer{flex-direction:column;gap:2rem}}
