.role-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.role-checkboxes label,.photo-remove{display:flex;align-items:center;gap:8px;font-size:11px;background:#f1f5ea;padding:10px;border-radius:8px;min-height:40px}.role-checkboxes input,.photo-remove input{width:16px;height:16px;min-height:0;accent-color:#426b4e}.photo-remove{margin-top:9px}.animal-photo{height:250px;margin:12px;border-radius:15px;overflow:hidden;background:#e9eee0;display:grid;place-items:center}.animal-photo img{width:100%;height:100%;object-fit:contain}.animal-profile-avatar .animal-photo{height:330px;margin:0 0 10px}.animal-appointment{display:flex;align-items:flex-start;gap:13px;padding:17px 0;border-bottom:1px solid #e5eadf}.animal-appointment>div:nth-child(2){flex:1;min-width:0}.animal-appointment h4{font-size:13px;font-weight:600;color:#405e46}.animal-appointment p{font-size:11px;line-height:1.6;color:#6d7d64;margin:4px 0 8px;overflow-wrap:anywhere}.appointment-actions{display:flex;flex-direction:column;gap:5px}.appointment-actions .btn{font-size:10px;min-height:30px;padding:6px 8px}.foal-life-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:linear-gradient(110deg,#e9f0e2,#f8eddb);border:1px solid #d9e2cb;padding:28px;border-radius:21px;margin:25px 0 28px}.foal-life-stages>div{position:relative;min-width:0}.foal-life-stages .icon{width:32px;height:32px;color:#789361;margin-bottom:15px}.foal-life-stages h3{font-size:14px;color:#3f6042;margin-bottom:9px}.foal-life-stages p{font-size:12px;line-height:1.7;color:#708065}.foal-life-stages>div:not(:last-child):after{content:'';position:absolute;top:17px;left:45px;right:10px;height:1px;background:#b7c7a9}.foal-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.foal-hub-grid .growth-row{margin-top:20px}.foal-hub-grid .growth-row b{font-size:29px}.foal-hub-grid .growth-row small{font-size:11px}.linked-birth-flow{padding-top:25px}.animal-profile-summary .button-row{gap:8px}.animal-profile-summary .button-row .btn{font-size:11px;min-height:38px}.animal-profile-summary .button-row .btn.subtle{padding-left:10px;padding-right:10px}
@media(max-width:950px){.foal-life-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.foal-life-stages>div:nth-child(2):after{display:none}.foal-hub-grid{grid-template-columns:1fr}}
@media(max-width:650px){.animal-profile-avatar .animal-photo{height:285px}.animal-photo{height:255px}.role-checkboxes{grid-template-columns:1fr}.foal-life-stages{padding:22px;gap:23px 15px;border-radius:18px}.foal-life-stages h3{font-size:12px}.foal-life-stages p{font-size:10px}.foal-life-stages .icon{width:27px;height:27px;margin-bottom:12px}.foal-life-stages>div:not(:last-child):after{top:14px;left:37px;right:8px}.animal-appointment{gap:9px;flex-wrap:wrap}.appointment-actions{flex-direction:row;margin-left:54px}.animal-profile-summary .button-row .btn{font-size:12px}.foal-hub-grid .card{padding:21px}}
@media print{.appointment-actions,.photo-remove{display:none}.animal-photo{height:180px}.foal-life-stages{break-inside:avoid}}

.foal-hub-avatar{text-align:center;margin:19px 0 18px}
.foal-hub-avatar .home-horse-preview{height:255px;border-radius:16px;background:radial-gradient(ellipse at 50% 40%,#fff8ee,#e8eedf);margin:0 0 8px}
.foal-hub-avatar .animal-photo{margin:0 0 8px;height:255px}
.foal-hub-avatar>small{font-size:10px;line-height:1.7;color:#7b8a6c}
.foal-origins{padding:16px 18px;border:1px solid #dfe7d6;background:#f0f5e8;border-radius:13px;margin:18px 0}
.foal-origins>span{display:block;font-size:10px;color:#788a66;line-height:1.6}
.foal-origins b{font-family:var(--serif);display:block;font-size:23px;font-weight:500;line-height:1.3;color:#3e6244;margin:7px 0}
.foal-origins b em{font-style:normal;color:#9dac8b;margin:0 5px}
.foal-origins small{display:block;font-size:11px;color:#718365;line-height:1.8}
.foal-origins.unknown{background:#f7f3e7;border-color:#e7e0ce}
.foal-origins.unknown p{font-size:11px;line-height:1.8;margin-top:7px;color:#928367}
.animal-origins-card .linked-journey{padding-top:12px}
.animal-origins-card .reproduction-family{margin:15px 0}
.animal-origins-card .reproduction-family-intro{flex-direction:column;gap:9px}
.animal-origins-card .reproduction-family-intro h3{font-size:22px}
.animal-origins-card .reproduction-family-intro p{font-size:11px}
.animal-origins-card .family-role-grid{grid-template-columns:1fr}
.animal-origins-card .family-role-card.with-model{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.8fr);gap:8px 10px;padding:15px}
.animal-origins-card .family-role-card header{min-height:0;grid-column:1}
.animal-origins-card .family-role-card h3{font-size:24px}
.animal-origins-card .family-role-card .home-horse-preview{grid-column:2;grid-row:1/4;height:180px;margin:0;align-self:center}
.animal-origins-card .family-role-tags{grid-column:1;min-height:0}
.animal-origins-card .family-role-caption{grid-column:1;margin:0}
.animal-origins-card .family-role-actions{grid-column:1/-1;margin:0}
.animal-origins-card .reproduction-flow{flex-direction:column;gap:3px;padding:16px}
.animal-origins-card .reproduction-flow-step strong{font-size:20px}
.animal-origins-card .reproduction-flow-arrow{align-self:flex-start;margin-left:44px;transform:rotate(90deg);height:23px}
.animal-origins-card .family-birth-link{grid-template-columns:1fr;padding:4px 18px 20px;gap:0}
.animal-origins-card .family-birth-link .home-horse-preview{height:180px}
.animal-origins-card .family-birth-link h3{font-size:25px}
@media(max-width:650px){.foal-hub-avatar .home-horse-preview{height:260px}.foal-origins{padding:14px 16px}.animal-origins-card .family-role-card.with-model{grid-template-columns:1fr}.animal-origins-card .family-role-card header,.animal-origins-card .family-role-tags,.animal-origins-card .family-role-caption,.animal-origins-card .family-role-actions{grid-column:1}.animal-origins-card .family-role-card .home-horse-preview{grid-column:1;grid-row:auto;height:220px}.animal-origins-card .family-role-card h3{font-size:29px}.animal-origins-card .family-role-caption{margin-top:5px}}
@media(max-width:650px){.page-heading{flex-direction:column;align-items:stretch}.page-heading>div{min-width:0}.page-heading p{max-width:none}.page-heading>.btn{align-self:flex-start;padding:11px 14px;font-size:12px}.page-heading>.btn .icon{width:17px}}
