:root{font-family:"Segoe UI",Arial,sans-serif;color:#23382f;background:#f4f5ef;font-size:18px;line-height:1.6;--green:#173f37;--border:#d5ded2;--muted:#4e6258}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer;border:2px solid var(--green);border-radius:8px;background:var(--green);color:white;padding:.65rem 1.1rem;min-height:48px;font-weight:650;line-height:1.35}button:hover{filter:brightness(.92)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:white;color:var(--green);border-color:#a9bbb0}button.text-button{background:transparent;color:inherit;border-color:transparent;text-decoration:underline;padding:.4rem .6rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ab5700;outline-offset:4px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(1.9rem,4vw,2.85rem);line-height:1.17;letter-spacing:-.03em;margin-bottom:1rem}h2{font-size:1.45rem;line-height:1.3}h3{font-size:1.1rem;margin-bottom:.65rem}p{margin-bottom:1rem}strong{font-weight:650}.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1350px;margin:auto;padding:1.3rem 2rem}.brand{display:flex;gap:.8rem;align-items:center}.brand img{width:68px;height:68px;object-fit:contain;border-radius:8px;background:white}.brand strong{display:block;font-size:1.1rem}.eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:#52644f;margin-bottom:.55rem}.test-badge{font-size:.72rem;border:1px solid #b6c5b7;border-radius:99px;padding:.3rem .8rem;text-align:center;color:#465f50}.status-bar{background:#e4ede0;color:#26482e;padding:.35rem max(2rem,calc((100vw - 1278px)/2));display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.status-bar button{font-size:.8rem;min-height:44px}nav{display:flex;max-width:1350px;margin:auto;padding:.5rem 2rem;gap:.25rem;border-bottom:1px solid var(--border)}nav button{border:0;background:transparent;color:#4b5c51;font-size:.85rem;border-radius:4px;padding:.65rem .85rem}nav .nav-active{background:#dfe8dc;color:#153c30}nav .change-person{margin-left:auto;border:1px solid #bdcbbd}main{max-width:1278px;margin:auto;padding:2rem 0 3rem;min-height:60vh}main:focus{outline:none}.hero{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 2rem;gap:1rem}.hero p{max-width:700px;color:var(--muted)}.hero-mark{font-size:6rem;color:#a8b897;line-height:1}.person-line{font-size:.85rem;margin-bottom:1rem;color:var(--muted)}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-bottom:2rem}.task-card{border:1px solid var(--border);background:#fff;color:var(--green);padding:1.55rem;text-align:left;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;border-radius:14px;box-shadow:0 3px 0 #173f3707;min-height:290px;font-weight:400;position:relative}.task-card strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:500;line-height:1.15}.task-card>span:not(.card-number):not(.card-link){font-size:.9rem;line-height:1.6;color:#4b5c51}.task-card .card-number{font-size:.68rem;letter-spacing:.14em;font-weight:700;padding:.3rem .55rem;border-radius:4px;background:#e9eee5}.task-card .card-link{margin-top:auto;padding-top:.8rem;font-size:.84rem;font-weight:650;border-top:1px solid #ccd7ca;width:100%}.health{background:#edf2e5}.behaviour{background:#f8f0dd}.behaviour .card-number{background:#eae1c8;color:#59471a}.environment{background:#e7efed}.environment .card-number{background:#d2e2de}.panel{border:1px solid var(--border);background:#fff;padding:1.6rem;border-radius:12px;margin-bottom:1.3rem}.welcome{max-width:760px;margin:1rem auto 2rem;padding:2.2rem}.welcome li{padding:.2rem 0}.welcome form{margin-top:1.7rem}.welcome input{max-width:550px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.3rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;margin-bottom:1.1rem}input,select,textarea{color:#20372b;border:1px solid #849b8c;border-radius:6px;background:white;padding:.6rem .7rem;min-height:48px;max-width:100%;width:100%;font-weight:400}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--green)}.check{flex-direction:row;align-items:center;gap:.65rem;font-weight:400}fieldset{border:0;padding:0;min-width:0}.range-fields{border:1px solid var(--border);border-radius:8px;display:flex;gap:1rem;padding:.9rem 1rem 0;margin-bottom:1.3rem;flex-wrap:wrap}.range-fields legend{font-weight:650;padding:0 .35rem}.range-fields label{flex:1;min-width:130px}.range-fields legend .hint{font-weight:400;margin-left:.5rem}.hint{font-size:.8rem;font-weight:400;color:var(--muted);line-height:1.5}.notice,.practice-banner{background:#edf2e4;border-left:4px solid #658846;padding:.9rem 1.1rem;border-radius:4px;margin-bottom:1.3rem}.error,.validation-errors{background:#fff0ec;border-left:4px solid #a53723;color:#7a2012;padding:.85rem 1rem;border-radius:4px;margin:1rem 0}.validation-message{color:#9b2113;font-size:.85rem}.invalid{border:2px solid #a53723}.practice-banner{background:#fff1cf;border-color:#9c6700;margin:0;border-radius:0;text-align:center;font-weight:650}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:.6rem 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h1,.section-heading h2,.section-heading h3{margin-bottom:0}.list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #e0e6dc}.list-row span{display:block;color:var(--muted);font-size:.83rem}.list-row .actions{flex-shrink:0}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.reading-grid>div{background:#f1f5ed;border-radius:8px;padding:.8rem}.reading-grid dt{font-size:.8rem;color:var(--muted)}.reading-grid dd{margin:0;font-weight:600;overflow-wrap:anywhere}.reading-grid dd+dd{font-size:.77rem;font-weight:400;margin-top:.3rem}.badge{padding:.3rem .6rem;border:1px solid var(--border);border-radius:99px;font-size:.72rem;white-space:nowrap}.empty{padding:2rem;border:1px dashed #a9b8a6;border-radius:10px;text-align:center;margin-top:1rem}.timer-box{background:var(--green);color:#fff;border-radius:10px;padding:1.1rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin:1rem 0}.timer-box button{background:white;color:var(--green);border-color:white}.timer-box .check{margin:0}.timer-box strong{font-size:1.3rem}.timer-box>span{font-size:.8rem}.scan-scroll{max-height:530px;overflow:auto;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th{text-align:left;font-weight:650;background:#e7eee1}td,th{padding:.65rem;border-bottom:1px solid #d9e2d3;vertical-align:top}thead{position:sticky;top:0;z-index:1}.scan-table{table-layout:fixed}.scan-table th:first-child{width:65px}.scan-table th:nth-child(2){width:40%}.scan-table input,.scan-table select{font-size:.85rem;padding:.45rem;min-height:46px}.active-scan{background:#edf4df;box-shadow:inset 4px 0 #3f651d}.chart-row{display:grid;grid-template-columns:minmax(110px,1fr) 2fr minmax(85px,1fr);gap:.75rem;align-items:center;font-size:.85rem;margin:.55rem 0}meter{width:100%;height:1.1rem;accent-color:#426840}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem}pre{white-space:pre-wrap;font:inherit;font-size:.82rem;background:#f0f3ed;padding:1rem;overflow-wrap:anywhere}.conflict{border-color:#b47c2c}.animal-photo{width:100px;height:100px;object-fit:cover;border-radius:8px;margin:0 1rem 1rem 0}.preserve{white-space:pre-wrap}details{padding:.8rem 0;margin-bottom:1rem}summary{cursor:pointer;font-weight:650;padding:.6rem 0;min-height:48px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:absolute;top:-100px;left:15px;padding:1rem;background:white;z-index:20}.skip:focus{top:10px}footer{border-top:1px solid var(--border);padding:1.4rem 2rem;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;gap:1rem}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff2d6;color:#562c09;padding:1rem;width:100%;z-index:100;border-top:2px solid #9f6023}.loading-progress{width:100px;height:100px;margin:20vh auto 0;display:block;transform:rotate(-90deg)}.loading-progress circle{fill:none;stroke:#d9e5d1;stroke-width:8;r:40%;cx:50%;cy:50%}.loading-progress circle+circle{stroke:var(--green);stroke-dasharray:calc(251.327 * var(--blazor-load-percentage,0%) / 100) 251.327}.loading-progress-text{text-align:center}.loading-progress-text:after{content:"Opening Animal Care… " var(--blazor-load-percentage-text,"Please wait")}
@media(max-width:1350px){main{margin:0 2rem}}@media(max-width:850px){.masthead{padding:1rem}.test-badge{max-width:150px}.task-grid{grid-template-columns:1fr}.task-card{min-height:210px}.hero-mark{display:none}main{margin:0 1rem;padding-top:1.4rem}nav{padding:.5rem 1rem;flex-wrap:wrap}.status-bar{padding:.5rem 1rem;flex-wrap:wrap;gap:0}.brand strong{font-size:.95rem}.brand .eyebrow{font-size:.6rem}footer{flex-direction:column}.reading-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.task-card strong{font-size:1.6rem}}@media(max-width:520px){:root{font-size:17px}.masthead{align-items:flex-start;flex-direction:column;gap:.6rem}.test-badge{max-width:100%;font-size:.65rem}.brand img{height:54px;width:54px}.brand strong{font-size:1rem}.panel{padding:1rem}.welcome{padding:1.2rem}.form-grid,.comparison{grid-template-columns:1fr}.list-row{align-items:flex-start;flex-direction:column}.list-row .actions{flex-shrink:1}nav{gap:.15rem}nav button{font-size:.8rem;padding:.5rem .6rem}nav .change-person{margin-left:0}td,th{padding:.3rem}.scan-table th:first-child{width:48px}.scan-table th:nth-child(2){width:33%}.scan-table input,.scan-table select{font-size:.75rem;padding:.25rem}.chart-row{gap:.4rem;grid-template-columns:1fr 1fr 80px;font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:white;font-size:11pt}.masthead{padding:0}.test-badge,nav,.status-bar,footer,.no-print,.person-line,.actions,button,.welcome{display:none!important}main{padding:0;margin:0}.panel{break-inside:avoid;box-shadow:none;border:1px solid #999}.scan-scroll{max-height:none;overflow:visible}details>*,details:not([open])>*{display:block}summary{display:none}thead{position:static}meter{print-color-adjust:exact}}
.current-label{display:block;font-size:.65rem;font-weight:700;line-height:1.3;margin-top:.25rem}@media screen and (max-width:520px){.scan-table thead{display:none}.scan-table tbody{display:block}.scan-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.8rem;border-bottom:1px solid #c5d2bf}.scan-table th{grid-column:1/-1;width:auto!important;padding:0;background:transparent;display:flex;align-items:center;gap:.6rem}.scan-table td{display:flex;flex-direction:column;padding:0;border:0}.scan-table td:nth-child(2){grid-column:1/-1}.scan-table td:before{font-size:.8rem;font-weight:600;margin-bottom:.3rem}.scan-table td:nth-child(2):before{content:"Behaviour"}.scan-table td:nth-child(3):before{content:"Typical or atypical"}.scan-table td:nth-child(4):before{content:"State or event"}.scan-table input,.scan-table select{font-size:1rem;padding:.5rem;min-height:48px}.scan-table .current-label{margin:0;font-size:.8rem}.scan-scroll{max-height:620px}}
.demo-banner{background:#fff0cb;color:#65450e;border-bottom:1px solid #d8bd81;text-align:center;padding:.65rem 1rem;font-size:.85rem;font-weight:650}.animal-dashboard{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.5rem;align-items:start}.animal-roster{padding:.85rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}.animal-roster label{font-size:.85rem}.roster-list{display:flex;flex-direction:column;gap:.35rem}.animal-choice{display:flex;align-items:flex-start;gap:.7rem;border:1px solid transparent;background:transparent;color:#23382f;text-align:left;padding:.7rem .45rem;width:100%;font-weight:400}.animal-choice.selected{background:#e1eadb;border-color:#6d8e65}.animal-choice strong{display:block;font-size:.85rem}.animal-choice>span>span{display:block;font-size:.75rem;line-height:1.5}.animal-initial{background:#e0eadb;border-radius:7px;min-width:35px;padding:.3rem;text-align:center;font-family:Georgia,serif;font-weight:700}.overdue-text{color:#a13120}.overdue-notice{border-color:#b54b34;background:#fff0eb;color:#842c1c}.animal-detail{min-width:0}.animal-detail .section-heading h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.animal-detail .section-heading p{margin-bottom:0;margin-top:.4rem}.health-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.health-tiles .panel{padding:.9rem;display:flex;flex-direction:column;gap:.5rem;overflow-wrap:anywhere}.health-tiles .eyebrow{font-size:.6rem;letter-spacing:.08em;margin:0}.health-tiles strong{font-size:.92rem;line-height:1.4}.weight-chart{display:block;width:100%;height:160px}.weight-labels{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;margin:.4rem 0 1rem;color:#4e6258}.health-history{min-width:850px}.health-history td{min-width:90px;max-width:220px;overflow-wrap:anywhere}.animal-detail .table-wrap:focus-visible{outline:3px solid #ab5700;outline-offset:3px}@media(max-width:1000px){.animal-dashboard{grid-template-columns:220px minmax(0,1fr)}.health-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.animal-dashboard{grid-template-columns:1fr}.animal-roster{position:static;max-height:none}.roster-list{max-height:255px;overflow:auto}.health-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-chart{height:140px}}@media print{.animal-roster{display:none}.animal-dashboard{display:block}.health-history{min-width:0;font-size:.65rem}.health-history td{min-width:0}.demo-banner{font-size:.7rem}}
