:root{--cgc-primary:#0072ce;--cgc-primary-deep:#005fa3;--cgc-secondary:#00a86b;--cgc-secondary-light:#e6f0ff;--cgc-danger:#e74c3c;--cgc-bg:#f7f9fb;--cgc-white:#ffffff;--cgc-text:#26282c;--cgc-border:#d8dce2;--cgc-radius:8px;--cgc-spacing:1.5rem;--cgc-gap:0.6rem;--cgc-shadow-sm:0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);--cgc-shadow-md:0 4px 16px rgba(0, 114, 206, 0.1), 0 2px 6px rgba(0, 0, 0, 0.06);--cgc-shadow-lg:0 12px 40px rgba(0, 114, 206, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);--cgc-transition:0.22s cubic-bezier(0.4, 0, 0.2, 1)}*{box-sizing:border-box;margin:0;padding:0}.cgc-header{text-align:center;padding:1.5rem 1rem;border:1px solid var(--cgc-border);border-radius:var(--cgc-radius);background:var(--cgc-white);box-shadow:var(--cgc-shadow-sm);margin-bottom:1.5rem}.cgc-title{font-size:clamp(1.7rem, 4vw, 2.4rem)!important;font-weight:700;color:var(--cgc-text)!important;letter-spacing:-.5px;line-height:1.2}.cgc-title span{color:var(--cgc-primary)!important}.cgc-subtitle{margin-top:.5rem;font-size:0.97rem!important;color:#6b7280;font-weight:400;max-width:480px;margin-left:auto;margin-right:auto}.cgc-badge{display:inline-flex;align-items:center;gap:5px;margin-top:.75rem;background:rgb(0 168 107 / .1);color:var(--cgc-secondary)!important;border:1px solid rgb(0 168 107 / .22);border-radius:100px;padding:3px 12px;font-size:0.76rem!important;font-weight:600;letter-spacing:.04em}.cgc-card{background:var(--cgc-white);border:1px solid var(--cgc-border);border-radius:var(--cgc-radius);padding:var(--cgc-spacing);box-shadow:var(--cgc-shadow-sm);margin-bottom:1.2rem}.cgc-card-title{font-size:0.8rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cgc-primary)!important;margin-bottom:1.1rem;display:flex;align-items:center;gap:7px}.cgc-card-title::before{content:"";display:block;width:3px;height:14px;border-radius:4px;background:var(--cgc-primary)!important}.cgc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cgc-field{display:flex;flex-direction:column;gap:var(--cgc-gap)}.cgc-label{font-size:0.83rem!important;font-weight:600;color:#374151;letter-spacing:.01em}.cgc-label .cgc-req{color:var(--cgc-danger);margin-left:2px}.cgc-input,.cgc-select{width:100%;padding:.65rem .9rem;border:1px solid var(--cgc-border)!important;border-radius:var(--cgc-radius);font-size:0.95rem!important;color:var(--cgc-text);background:var(--cgc-white);transition:border-color var(--cgc-transition),box-shadow var(--cgc-transition);outline:none;-webkit-appearance:none;appearance:none}.cgc-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:2rem}.cgc-input:focus,.cgc-select:focus{border-color:var(--cgc-primary);box-shadow:0 0 0 3px rgb(0 114 206 / .12)}.cgc-input.cgc-invalid{border-color:var(--cgc-danger);box-shadow:0 0 0 3px rgb(231 76 60 / .1)}.cgc-field-hint{font-size:0.74rem!important;color:#9ca3af;line-height:1.4}.cgc-error-msg{font-size:0.75rem!important;color:var(--cgc-danger);display:none}.cgc-error-msg.cgc-show{display:block}.cgc-toggle-group{display:flex;gap:var(--cgc-gap)}.cgc-toggle-btn{flex:1;padding:.55rem .5rem;border:1px solid var(--cgc-border)!important;border-radius:var(--cgc-radius);background:var(--cgc-white)!important;font-size:0.84rem!important;font-weight:500;color:#6b7280!important;cursor:pointer;transition:all var(--cgc-transition);text-align:center}.cgc-toggle-btn:hover{border-color:var(--cgc-primary)!important;color:var(--cgc-primary)!important}.cgc-toggle-btn.cgc-active{background:var(--cgc-secondary-light);border-color:var(--cgc-primary)!important;color:var(--cgc-primary)!important;font-weight:600}.cgc-btn-row{margin-top:1.4rem}.cgc-btn-calculate{width:100%;padding:.9rem;background:linear-gradient(135deg,var(--cgc-primary) 0%,var(--cgc-primary-deep) 100%);color:var(--cgc-white)!important;border:none;border-radius:var(--cgc-radius);font-size:1rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 14px rgb(0 114 206 / .3);transition:transform var(--cgc-transition),box-shadow var(--cgc-transition),filter var(--cgc-transition);display:flex;align-items:center;justify-content:center;gap:8px}.cgc-btn-calculate:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgb(0 114 206 / .36);filter:brightness(1.05)}.cgc-btn-calculate:active{transform:translateY(0)}.cgc-btn-calculate svg{width:18px;height:18px}.cgc-result-card{background:linear-gradient(135deg,#f0f7ff 0%,#e8f8f2 100%);border:1px solid rgb(0 114 206 / .18);border-radius:14px;padding:1.6rem calc(var(--cgc-spacing) * 1.3);margin-bottom:1.2rem;display:none;animation:cgc-resultIn 0.45s cubic-bezier(.4,0,.2,1) both}.cgc-result-card.cgc-show{display:block}@keyframes cgc-resultIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cgc-result-title{font-size:0.8rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cgc-secondary);margin-bottom:1rem;display:flex;align-items:center;gap:7px}.cgc-result-title::before{content:"";display:block;width:3px;height:14px;border-radius:4px;background:var(--cgc-secondary)}.cgc-result-main{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem}.cgc-calving-date-block{flex:1}.cgc-calving-label{font-size:0.8rem!important;color:#6b7280;font-weight:500;margin-bottom:4px}.cgc-calving-date{font-size:clamp(1.5rem, 4vw, 2rem)!important;font-weight:700;color:var(--cgc-primary-deep);line-height:1.1}.cgc-calving-day{font-size:0.85rem!important;color:#6b7280;margin-top:4px;font-weight:400}.cgc-stats-row{position:relative;display:flex;flex-wrap:wrap;gap:var(--cgc-gap);margin-bottom:1.1rem}.cgc-stat-chip{background:rgb(255 255 255 / .75);border:1px solid rgb(0 114 206 / .14);border-radius:8px;padding:.55rem .85rem;display:flex;flex-direction:column;gap:1px;flex-grow:1}.cgc-stat-label{font-size:0.71rem!important;color:#9ca3af;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.cgc-stat-value{font-size:0.9rem!important;font-weight:500;color:var(--cgc-text);margin-top:var(--cgc-gap)}.cgc-progress-section{margin-bottom:1.1rem}.cgc-progress-label{display:flex;justify-content:space-between;font-size:0.75rem!important;font-weight:600;color:#6b7280;margin-bottom:6px}.cgc-progress-bar{height:15px!important;border-radius:100px;background:rgb(0 114 206 / .12);overflow:hidden;position:relative}.cgc-progress-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--cgc-primary),var(--cgc-secondary))!important;transition:width 0.8s cubic-bezier(.4,0,.2,1);width:0%}.cgc-trimester-markers{display:flex;margin-top:5px;font-size:0.67rem!important;color:#9ca3af;position:relative}.cgc-trimester-markers span{flex:1;text-align:center}.cgc-trimester-markers span:first-child{text-align:left}.cgc-trimester-markers span:last-child{text-align:right}.cgc-milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cgc-gap);margin-top:.8rem}.cgc-milestone{background:rgb(255 255 255 / .7);border:1px solid rgb(0 114 206 / .12);border-radius:8px;padding:.6rem .7rem}.cgc-milestone-title{font-size:0.7rem!important;font-weight:600;color:var(--cgc-primary);margin-bottom:2px}.cgc-milestone-date{font-size:0.8rem!important;font-weight:700;color:var(--cgc-text)}.cgc-milestone-desc{font-size:0.67rem!important;color:#9ca3af;margin-top:2px;line-height:1.3}.cgc-actions{display:none;gap:var(--cgc-gap);margin-bottom:1.2rem;flex-wrap:wrap}.cgc-actions.cgc-show{display:flex}.cgc-btn-action{flex:1;min-width:140px;padding:.65rem 1rem;border-radius:var(--cgc-radius);font-size:0.86rem!important;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--cgc-transition);border:1px solid #fff0}.cgc-btn-action svg{width:16px;height:16px}.cgc-btn-pdf{background:var(--cgc-primary)!important;color:var(--cgc-white)!important;box-shadow:0 2px 10px rgb(0 114 206 / .22)}.cgc-btn-pdf:hover{background:var(--cgc-primary-deep)!important;transform:translateY(-1px);box-shadow:0 5px 16px rgb(0 114 206 / .3)}.cgc-btn-copy{background:var(--cgc-white)!important;color:var(--cgc-primary)!important;border-color:var(--cgc-primary)!important}.cgc-btn-copy:hover{background:var(--cgc-secondary-light)!important;transform:translateY(-1px)}.cgc-btn-reset{background:var(--cgc-white)!important;color:var(--cgc-danger)!important;border-color:rgb(231 76 60 / .35)!important}.cgc-btn-reset:hover{background:#fef2f2;transform:translateY(-1px);border-color:var(--cgc-danger)!important}.cgc-ref-card{background:var(--cgc-white);border:1px solid var(--cgc-border);border-radius:14px;padding:var(--cgc-spacing) calc(var(--cgc-spacing) * 1.3);box-shadow:var(--cgc-shadow-sm);margin-bottom:1.2rem}.cgc-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.cgc-table{width:100%;border-collapse:collapse;font-size:0.84rem!important;min-width:400px}.cgc-table thead th{background:var(--cgc-secondary-light);color:var(--cgc-primary-deep);font-weight:700;text-align:left;padding:.6rem .85rem;font-size:0.76rem!important;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--cgc-border)}.cgc-table tbody tr{transition:background var(--cgc-transition)}.cgc-table tbody tr:hover{background:rgb(0 114 206 / .04)}.cgc-table tbody td{padding:.55rem .85rem;border-bottom:1px solid var(--cgc-border);color:var(--cgc-text)}.cgc-table tbody tr:last-child td{border-bottom:none}.cgc-table .cgc-row-highlight td{font-weight:600;color:var(--cgc-primary-deep);background:rgb(0 114 206 / .04)}.cgc-breed-tag{display:inline-block;padding:1px 7px;border-radius:100px;font-size:0.68rem!important;font-weight:600;letter-spacing:.04em}.cgc-breed-tag.dairy{background:rgb(0 168 107 / .12);color:var(--cgc-secondary)}.cgc-breed-tag.beef{background:rgb(0 114 206 / .1);color:var(--cgc-primary)}.cgc-breed-tag.dual{background:rgb(245 158 11 / .12);color:#b45309}.cgc-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}.cgc-info-box{background:var(--cgc-white);border:1px solid var(--cgc-border);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--cgc-shadow-sm)}.cgc-info-box-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:.6rem;font-size:1.1rem!important}.cgc-info-box-icon.blue{background:rgb(0 114 206 / .1)}.cgc-info-box-icon.green{background:rgb(0 168 107 / .1)}.cgc-info-box-icon.amber{background:rgb(245 158 11 / .12)}.cgc-info-box-icon.rose{background:rgb(231 76 60 / .1)}.cgc-info-box-title{font-size:0.8rem!important;font-weight:700;color:var(--cgc-text);margin-bottom:3px}.cgc-info-box-text{font-size:0.76rem!important;color:#6b7280;line-height:1.5}.cgc-toast{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;background:#111827;color:#fff;padding:.65rem 1.1rem;border-radius:8px;font-size:0.84rem!important;font-weight:500;box-shadow:0 4px 20px rgb(0 0 0 / .2);display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(12px);transition:all 0.3s cubic-bezier(.4,0,.2,1);pointer-events:none}.cgc-toast.cgc-show{opacity:1;transform:translateY(0)}.cgc-overlay{position:fixed;inset:0;z-index:500;background:rgb(0 0 0 / .38);display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(3px)}.cgc-overlay.cgc-show{display:flex}.cgc-modal{background:var(--cgc-white);border-radius:14px;padding:1.8rem;width:100%;max-width:360px;box-shadow:var(--cgc-shadow-lg);animation:cgc-modalIn 0.25s cubic-bezier(.4,0,.2,1) both}@keyframes cgc-modalIn{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.cgc-modal h3{font-size:1.1rem!important;font-weight:700;margin-bottom:.5rem;color:var(--cgc-text)}.cgc-modal p{font-size:0.86rem!important;color:#6b7280;margin-bottom:1.2rem;line-height:1.5}.cgc-modal-btns{display:flex;gap:var(--cgc-gap)}.cgc-modal-btns button{flex:1;padding:.65rem;border-radius:var(--cgc-radius);font-size:0.88rem!important;font-weight:600;cursor:pointer;border:none;transition:all var(--cgc-transition)}.cgc-modal-cancel{background:var(--cgc-bg);border:1px solid var(--cgc-border)!important;color:var(--cgc-text)}.cgc-modal-cancel:hover{background:var(--cgc-border)}.cgc-modal-confirm{background:var(--cgc-danger)!important;color:var(--cgc-white)!important}.cgc-modal-confirm:hover{background:#c0392b}@media (max-width:600px){.cgc-wrapper{padding:1.2rem .75rem 2rem}.cgc-card,.cgc-result-card,.cgc-ref-card{padding:1.1rem 1rem}.cgc-form-grid{grid-template-columns:1fr}.cgc-info-grid{grid-template-columns:1fr 1fr}.cgc-milestones{grid-template-columns:1fr}.cgc-result-main{flex-direction:column}.cgc-btn-action{min-width:100%}}@media (max-width:380px){.cgc-info-grid{grid-template-columns:1fr}.cgc-stats-row{flex-direction:column}.cgc-stat-chip{min-width:unset}.cgc-toggle-group{flex-direction:column}}
