:root{--green-50:#f0f7f4;--green-100:#dcefe6;--green-200:#b8dfcd;--green-300:#86c8a8;--green-400:#4fa87c;--green-500:#2e8b57;--green-600:#166534;--green-700:#14532d;--green-800:#0f3d22;--green-900:#0a2917;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg:var(--green-50);--panel:#fff;--panel-soft:var(--gray-50);--panel-muted:var(--green-50);--sidebar:var(--green-800);--sidebar-text:#fff;--text:var(--gray-800);--muted:var(--gray-500);--line:var(--green-100);--line-strong:var(--green-200);--accent:var(--green-600);--accent-dark:var(--green-700);--accent-soft:var(--green-100);--accent-bright:var(--green-500);--success:#15803d;--warning:#b45309;--danger:#b91c1c;--info:#0369a1;--shadow:0 1px 3px #0000000a;--radius:12px;--radius-sm:8px;--radius-pill:20px;--font-body:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-body)}
*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--text);background:var(--bg);margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #1665342e}p{margin-top:0}
.page-header h1,.page-header h2,.panel h3,.auth-card h2,.stat-card strong{font-family:var(--font-display);margin:0}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 .25rem;font-size:.75rem;font-weight:600}.section-copy,.table-subtle,.list-item small,.timeline-item p,.timeline-meta,.auth-link{color:var(--muted)}.section-copy{margin:.35rem 0 0;font-size:.9rem}.page-header h1,.page-header h2{letter-spacing:-.025em;font-size:clamp(1.65rem,2.1vw,1.9rem);font-weight:700;line-height:1.25}.panel h3{font-size:1.25rem;font-weight:600;line-height:1.35}.stat-card span{color:var(--muted);font-size:.82rem}.stat-card strong{font-size:1.65rem;font-weight:700;line-height:1.1}.field label,th,dt{color:var(--gray-700);font-size:.8125rem;font-weight:500}.table-subtle{margin-top:.15rem;font-size:.8rem}.timeline-top span{color:var(--muted);font-size:.85rem}.inline-edit-toggle,.archived-group summary{font-weight:600}.archived-group summary{cursor:pointer;color:var(--accent-dark)}.modal-head h3,.form-error,.form-success{margin:0}.form-error{color:var(--danger)}.form-success{color:var(--success)}.empty-state{text-align:center;color:var(--muted);background:var(--gray-50);border-radius:var(--radius-sm);padding:2rem}
.panel,.stat-card,.page-header,.auth-card,.record-shell{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--panel)}.page-header,.panel,.auth-card{padding:1.25rem}.page-header{box-shadow:none}.stat-card{box-shadow:none;gap:.35rem;padding:1rem;display:grid}.reminder-item{border-bottom:1px solid var(--line);padding:.8rem 0}.reminder-item:last-child{border-bottom:0}.reminder-item.is-overdue{color:var(--danger)}.inline-edit-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);padding:.8rem}.inline-edit-panel{min-width:0}.summary-strip{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem;display:flex}.summary-strip strong{color:var(--text)}.tabs{border-bottom:1px solid var(--line);gap:1.25rem;display:flex}.tab-link{color:var(--gray-600);border-bottom:2px solid #0000;padding:.75rem 0;font-size:.875rem;font-weight:500}.tab-link:hover{color:var(--green-700)}.tab-link.is-active{color:var(--green-700);border-bottom-color:var(--green-600)}.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-popover{z-index:20;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;min-width:210px;padding:.4rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #0f172a1a}.action-menu-popover>*{justify-content:flex-start;width:100%}.action-menu-popover>*+*{margin-top:.25rem}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detail-actions,.hero-actions,.card-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.stack-xl,.stack-lg,.stack-md,.event-card-list,.list-block,.timeline-list{display:grid}.stack-xl{gap:1.5rem}.stack-lg{gap:1rem}.stack-md,.event-card-list,.list-block,.timeline-list{gap:.85rem}.section-head,.record-head,.list-item,.timeline-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.field-span{grid-column:1/-1}.align-right{text-align:right}
.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header-detail{align-items:center}.stats-grid,.dashboard-grid,.grid-two,.detail-grid{gap:1rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid-compact{gap:.75rem}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.dashboard-grid-dense{align-items:start}.detail-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-secondary{grid-column:1/-1}
.field{gap:.35rem;display:grid}input,select,textarea{border:1.5px solid var(--green-200);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--text);background:#fff;padding:.55rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--green-500);outline:none;box-shadow:0 0 0 3px #1665341f}input:disabled,select:disabled,textarea:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}textarea{resize:vertical;min-height:96px}input[type=checkbox]{width:1rem;min-height:1rem;accent-color:var(--accent)}.checkbox-row{align-items:center;gap:.5rem;display:flex}form[aria-busy=true]{pointer-events:none}form[aria-busy=true] input,form[aria-busy=true] select,form[aria-busy=true] textarea{opacity:.72}.filters{gap:.75rem;display:grid}.admin-filters{grid-template-columns:minmax(220px,1.8fr) repeat(2,minmax(150px,1fr)) auto}.admin-filters-wide{grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(130px,1fr)) auto}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.filter-bar>input[type=search]{flex:2 260px}.filter-bar>select{flex:160px}.filter-details{border-top:1px solid var(--line);padding-top:.75rem}.filter-details summary{cursor:pointer;color:var(--accent-dark);font-size:.875rem;font-weight:500}.auth-form,.auth-link{margin-top:.85rem}
.primary-button,.secondary-button,.outline-button,.ghost-button,.danger-button,.account-icon-link{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:40px;padding:.55rem 1rem;font-size:.875rem;font-weight:500;line-height:1.2;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button,.ghost-button{background:var(--green-100);color:var(--green-800)}.secondary-button:hover,.ghost-button:hover{background:var(--green-200)}.outline-button{border-color:var(--green-300);color:var(--green-700);background:0 0}.outline-button:hover{background:var(--green-50)}.danger-button{color:#991b1b;background:#fee2e2}.danger-button:hover{background:#fecaca}.primary-button:disabled,.secondary-button:disabled,.outline-button:disabled,.ghost-button:disabled,.danger-button:disabled,.account-icon-link:disabled,.primary-button.is-pending,.secondary-button.is-pending,.outline-button.is-pending,.ghost-button.is-pending,.danger-button.is-pending,.account-icon-link.is-pending{cursor:wait;opacity:.62}.button-spinner{opacity:0;border:0 solid;border-right-color:#0000;border-radius:50%;width:0;height:.9rem;overflow:hidden}.is-pending .button-spinner{opacity:1;border-width:2px;width:.9rem;animation:.8s linear infinite button-spin}.button-label{align-items:center;display:inline-flex}@keyframes button-spin{to{transform:rotate(360deg)}}
.table-wrap{overflow-x:auto}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm)}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.75rem}th{background:var(--gray-50);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f0f7f48c}.table-primary-link{color:var(--accent-dark);font-weight:600}.table-primary-link:hover{text-underline-offset:3px;text-decoration:underline}.table-status{white-space:nowrap}
.shell{min-height:100vh}.shell-authenticated{padding-top:65px}.content{width:min(100%,1328px);margin:0 auto;padding:1.5rem 1.5rem 3rem}.shell-guest .content{width:100%}
.app-header{z-index:30;border-bottom:1px solid var(--line);background:#fffffff7;height:65px;position:fixed;inset:0 0 auto}.app-nav-inner{align-items:center;gap:2rem;width:min(100%,1328px);height:100%;margin:0 auto;padding:0 1.5rem;display:flex}.app-brand{color:var(--green-700);white-space:nowrap;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.app-brand svg{width:1.55rem;height:1.55rem}.app-nav-links{align-self:stretch;align-items:center;gap:1.5rem;display:flex}.app-nav-link{height:100%;color:var(--gray-600);align-items:center;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.app-nav-link:hover,.app-nav-link.is-active{color:var(--green-700)}.app-nav-link.is-active:after{content:"";background:var(--green-600);border-radius:2px 2px 0 0;height:2px;position:absolute;inset:auto 0 0}.app-nav-account{align-items:center;gap:.65rem;margin-left:auto;display:flex}.locale-switcher{align-items:center;display:inline-flex}.locale-switcher select{min-width:120px;min-height:36px;padding-block:.4rem}.account-link{color:var(--gray-600);align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.account-link:hover,.account-link.is-active{color:var(--green-700)}.account-avatar{background:var(--green-100);width:2rem;height:2rem;color:var(--green-700);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.account-farm{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.account-icon-link{width:2.25rem;height:2.25rem;min-height:2.25rem;color:var(--gray-500);background:0 0;border:0;padding:0}.account-icon-link:hover{color:var(--green-700);background:var(--green-50)}.account-icon-link svg{width:1.2rem;height:1.2rem}
.record-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.record-meta div{gap:.2rem;display:grid}.record-meta dd{margin:0}.detail-more{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.85rem}.detail-title-row{align-items:center;gap:.75rem;display:flex}.reminder-list{gap:.65rem}.archived-group{margin-top:.4rem}
.status-pill{border-radius:var(--radius-pill);align-items:center;gap:.35rem;min-height:26px;padding:.2rem .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.status-active,.status-pregnant{color:#166534;background:#dcfce7}.status-waiting{color:#92400e;background:#fef3c7}.status-treatment{color:#991b1b;background:#fee2e2}.status-archived{background:var(--gray-100);color:var(--gray-600)}
.timeline-item{border-bottom:1px solid var(--line);padding:.85rem 0}.timeline-item:last-child{border-bottom:0}.timeline-meta{flex-wrap:wrap;gap:.85rem;font-size:.85rem;display:flex}.event-summary{color:var(--gray-600);margin:.35rem 0 0;font-size:.875rem}
.modal-dialog{background:0 0;border:0;width:min(100% - 2rem,720px);max-height:calc(100vh - 2rem);margin:auto;padding:0}.modal-dialog::backdrop{background:#0f172a6b}.modal-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:1rem;max-height:calc(100vh - 2rem);padding:1.25rem;display:grid;overflow-y:auto;box-shadow:0 12px 40px #0f172a24}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;display:flex}.modal-close{width:2.25rem;min-height:2.25rem;padding:0;font-size:1.25rem}
.tag-ocr-panel,.tag-ocr-actions{gap:.75rem;display:grid}.tag-ocr-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);padding:.85rem}.tag-ocr-status{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;gap:.35rem;padding:.75rem;display:grid}.tag-ocr-status-line{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.tag-ocr-spinner{border:2px solid #355f2d2e;border-top-color:var(--accent);border-radius:999px;width:.9rem;height:.9rem;animation:.8s linear infinite tag-ocr-spin}.tag-ocr-timer{color:var(--accent-dark);margin-left:auto;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:.88rem}@keyframes tag-ocr-spin{to{transform:rotate(360deg)}}
.auth-shell{place-items:center;min-height:calc(100vh - 2.5rem);display:grid}.auth-card{width:min(100%,460px)}
.management-shell{background:var(--bg);grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.management-sidebar{background:linear-gradient(180deg, var(--sidebar) 0%, #1d3019 100%);color:var(--sidebar-text);flex-direction:column;justify-content:space-between;gap:1rem;padding:1.5rem 1.25rem;display:flex}.management-sidebar .nav-list{gap:.55rem;display:grid}.management-sidebar .nav-list a,.management-title{color:var(--sidebar-text)}.management-sidebar .nav-list a{border-radius:var(--radius-sm);padding:.65rem .75rem;font-size:.875rem}.management-sidebar .nav-list a:hover{background:#ffffff1a}.management-content{padding-left:2rem}
@media (max-width:980px){.app-nav-inner{gap:1rem}.app-nav-links{gap:.9rem}.account-farm{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.admin-filters,.admin-filters-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.management-shell{grid-template-columns:1fr}.management-content{padding-left:1rem}}@media (max-width:720px){.shell-authenticated{padding-top:112px}.app-header{height:112px}.app-nav-inner{grid-template-columns:auto 1fr;gap:.25rem .75rem;padding:.5rem 1rem;display:grid}.app-brand{grid-column:1}.app-nav-account{grid-column:2;justify-self:end}.app-nav-links{grid-area:2/1/auto/-1;height:46px;overflow-x:auto}.locale-switcher select{min-width:92px}.content{padding:1rem}.page-header,.section-head,.timeline-top,.list-item,.detail-actions,.hero-actions,.modal-head{flex-direction:column;align-items:flex-start}.grid-two,.record-meta,.stats-grid,.admin-filters,.admin-filters-wide{grid-template-columns:1fr}.align-right{text-align:left}.modal-dialog{width:100%;max-width:100%;min-height:100vh}.modal-card{border-radius:0;min-height:100vh;max-height:100vh}.sidebar-action-row{flex-direction:column}.tabs{overflow-x:auto}.tab-link{white-space:nowrap}.action-menu-popover{left:0;right:auto}}

