:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173737;background:#f2f5f2;font-synthesis:none;--ink:#163e3d;--teal:#176962;--muted:#69807c;--line:#dce5df;--coral:#c65d43;--gold:#d4aa59}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e3ac48;outline-offset:3px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#103b3b;color:#d3e4df;padding:31px 21px;display:flex;flex-direction:column;position:fixed;width:232px;inset:0 auto 0 0}.brand{font-size:21px;font-weight:850;letter-spacing:3px;color:#fff}.brand span{display:block;font-size:11px;letter-spacing:4px;color:#9fd0bd;margin-top:8px}.brand-mark{display:flex;gap:5px;margin-bottom:20px}.brand-mark i{height:20px;width:6px;background:#b9d78e;transform:skew(-17deg)}.brand-mark i:nth-child(2){height:29px}.sidebar .section-label{color:#86aaa2;margin:38px 12px 12px;font-size:10px;letter-spacing:2px;text-transform:uppercase}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#bbd3ce;text-align:left;padding:13px 14px;border-radius:7px;font-weight:550;display:flex;gap:12px;align-items:center}.nav button.active{background:#265451;color:#fff}.nav button:hover{background:#204b48}.nav b{width:20px;color:#a9cdab;font-size:17px;font-weight:400}.sidebar-footer{margin-top:auto;padding-top:40px;font-size:12px;color:#91b1a9;line-height:1.6}.sidebar-footer strong{color:#e4efe9;display:block;margin:4px 0;overflow-wrap:anywhere}.main{grid-column:2;padding:0 38px 48px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);height:79px;gap:20px;font-size:12px;color:var(--muted)}.topbar .crumb{display:flex;gap:12px;align-items:center}.topbar strong{color:var(--ink)}.topbar a{font-size:12px;text-decoration:none}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 9px;background:#edf2ed;color:#597569;font-size:10px;font-weight:750;letter-spacing:.4px;white-space:nowrap}.pill.warn{background:#faecd5;color:#896027}.pill.urgent{background:#f8e3db;color:#9c432d}.pill.teal{background:#ddefe5;color:#246652}.pill.demo{background:#e9e8f5;color:#666085}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:34px 0 24px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 9px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 9px;font-weight:650}h2{font-size:18px;letter-spacing:-.25px;margin:0}h3{font-size:15px;margin:0 0 8px}p{line-height:1.6;margin:8px 0;font-size:13px}.sub{color:var(--muted)}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{background:var(--teal);border:1px solid var(--teal);color:white;border-radius:6px;padding:10px 15px;font-size:12px;font-weight:650;white-space:nowrap;line-height:1.3}.btn.secondary{background:white;border-color:#d3dfd8;color:var(--ink)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.danger{background:white;color:#ad4435;border-color:#e8c7be}.link-btn{border:0;background:none;padding:5px 0;color:var(--teal);font-size:12px;font-weight:650}.hero{border-radius:10px;background:#173f3d;color:#fff;padding:29px 30px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:24px;overflow:hidden;position:relative}.hero .eyebrow{color:#b4cfad}.hero h2{font-size:27px;font-weight:550}.hero p{color:#b9d3cb;max-width:590px}.hero .graphic{font-size:65px;color:#9fc68c;letter-spacing:-8px;line-height:1;white-space:nowrap}.hero small{display:block;font-size:10px;letter-spacing:2px;color:#9bb9ae;margin-top:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat{padding:19px 22px;border:1px solid var(--line);border-radius:9px;background:#fff}.stat label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.stat strong{display:block;font-size:30px;font-weight:550;margin-top:9px}.stat small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:23px;min-width:0;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.panel-head p{margin:6px 0 0}.empty{padding:45px 20px;text-align:center;color:var(--muted);border:1px dashed #cbd9d0;border-radius:8px}.empty .symbol{font-size:37px;color:#91aea0;margin-bottom:13px}.empty h3{color:var(--ink)}.empty p{max-width:430px;margin:8px auto 20px}.space-row,.horse-row,.device-row{padding:16px 0;border-bottom:1px solid #ebefea;display:flex;gap:14px;align-items:center}.space-row:last-child,.horse-row:last-child,.device-row:last-child{border-bottom:0}.space-icon{width:43px;height:43px;background:#edf4eb;border:1px solid #d6e4d5;border-radius:8px;display:grid;place-items:center;font-size:20px;color:#659071;flex-shrink:0}.grow{flex:1;min-width:0}.grow strong{font-size:13px}.grow p{font-size:11px;margin:4px 0;color:var(--muted)}.alert-row{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:17px;text-align:left;background:white;width:100%;display:block;color:var(--ink)}.alert-row:hover{border-color:#87a99d}.alert-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.alert-row h3{font-size:13px;margin:8px 0 5px}.alert-row p{font-size:11px;color:var(--muted);margin:4px 0}.notice{background:#f6f1e6;border:1px solid #e9dfc7;color:#7e683f;padding:13px 16px;border-radius:7px;font-size:12px;line-height:1.6;margin:12px 0 22px}.notice.info{background:#eaf1ee;color:#526e61;border-color:#d9e5dc}.mini-list{display:grid;gap:16px}.mini-list p{font-size:12px;color:var(--muted)}.mini-list h3{font-size:13px}.number{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #ccdcd1;border-radius:50%;font-size:11px;margin-right:9px;color:#5c866c}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);border-radius:6px;background:white;color:#698073;padding:9px 14px;font-size:12px}.tabs .active{background:var(--ink);color:white;border-color:var(--ink)}.planner-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:15px;flex-wrap:wrap}.plan{width:100%;height:auto;min-height:220px;max-height:470px;background:#f1f5ec;border:1px solid #dae4d2;border-radius:8px}.plan text{font-family:inherit}.legend{display:flex;gap:18px;font-size:10px;color:var(--muted);margin:13px 0;flex-wrap:wrap}.legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px}.legend .gap{background:#e9b7a4}.legend .covered{background:#bcd8bc}.legend .overlap{background:#6ea99b}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:17px;margin-top:20px;gap:10px}.metric-strip strong{display:block;font-size:22px;font-weight:550}.metric-strip span{color:var(--muted);font-size:10px}.instructions{padding-left:18px;margin:10px 0;color:#62776e;font-size:12px;line-height:1.7}.instructions li{margin:10px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:9px;text-align:left;padding:13px 10px;background:#f5f7f3}td{padding:16px 10px;border-bottom:1px solid #e7ede6;vertical-align:middle}.table-actions{white-space:nowrap}select{background:white;padding:9px;border:1px solid #cfdcd3;border-radius:5px;max-width:100%;color:var(--ink)}.evidence{display:block;width:100%;border-radius:7px;border:1px solid var(--line);margin:14px 0}.detail-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.meta dt{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.meta dd{font-size:12px;margin:5px 0;overflow-wrap:anywhere}.timeline{border-left:2px solid #dce7df;padding-left:18px;margin:18px 0}.timeline article{margin:0 0 20px}.timeline strong{font-size:12px}.timeline small{display:block;font-size:10px;color:var(--muted);margin:5px 0}.timeline p{font-size:12px}dialog{border:1px solid var(--line);border-radius:12px;box-shadow:0 25px 100px #06272233;padding:27px;width:min(620px,94vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#08292377;backdrop-filter:blur(3px)}dialog h2{margin:0 0 7px}dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}label.field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:650;color:#637b70}.field input,.field textarea,.field select{width:100%;border:1px solid #ccd9cf;border-radius:5px;padding:10px;color:var(--ink);background:white;min-width:0}.field.full{grid-column:1/-1}.field textarea{min-height:80px}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:12px 0}.check input{margin-top:4px}.dialog-head{display:flex;justify-content:space-between;gap:12px}.close{border:0;background:#eef3ed;font-size:20px;border-radius:5px;color:var(--muted);width:30px;height:30px}.dialog-foot{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:19px;margin-top:20px}.error{color:#a84836;background:#faeae4;font-size:12px;line-height:1.5;padding:11px;border-radius:5px}.hidden{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 22px;border-radius:8px;background:#163f38;color:white;font-size:12px;box-shadow:0 7px 35px #06272233;z-index:100;display:none}.loading{padding:90px;text-align:center;color:var(--muted)}.login{max-width:580px;margin:12vh auto;padding:40px}.login .brand{color:var(--ink)}.login h1{margin-top:30px}.footer-note{font-size:10px;color:#82948a;margin-top:30px;line-height:1.8}.progress-list{display:grid;gap:10px}.progress-list div{border:1px solid var(--line);padding:15px;border-radius:6px}.progress-list p{font-size:11px;color:var(--muted);margin-bottom:0}.stable-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.stable-metrics strong{font-size:32px;font-weight:500}.stable-metrics span{font-size:11px;color:var(--muted);display:block}.health-mark{color:#ab7750}.obs-list{font-size:12px;line-height:1.8;color:var(--muted)}@media(min-width:1500px){.main{padding-left:55px;padding-right:55px}.content{max-width:1450px;margin:auto}}@media(max-width:1050px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:25px 15px}.main{padding:0 24px 35px}.grid{grid-template-columns:1fr}.hero .graphic{display:none}.stats{gap:10px}.stat{padding:16px}.detail-grid{grid-template-columns:1fr}.heading{align-items:flex-start}.heading .actions{justify-content:flex-end}}@media(max-width:680px){.shell{display:block}.sidebar{position:static;width:auto;padding:17px 18px}.brand-mark,.sidebar .section-label,.sidebar-footer{display:none}.brand{font-size:15px;display:flex;align-items:center;gap:13px}.brand span{font-size:9px;margin:0;letter-spacing:2px}.nav{display:flex;overflow-x:auto;margin-top:18px;gap:5px}.nav button{padding:9px 11px;white-space:nowrap;font-size:11px}.nav b{display:none}.main{padding:0 17px 30px}.topbar{height:60px;font-size:10px;gap:8px}.topbar .crumb{gap:6px}.heading{margin-top:25px;display:block}h1{font-size:27px}.heading .actions{justify-content:flex-start;margin-top:16px}.hero{padding:23px}.hero h2{font-size:23px}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:25px}.panel{padding:18px}.panel-head{align-items:flex-start;gap:8px}.panel-head h2{font-size:16px}.space-row{flex-wrap:wrap}.plan{min-height:180px}.meta{gap:12px}.pill{font-size:9px}.btn{font-size:11px;padding:10px 12px}dialog .form-grid{grid-template-columns:1fr 1fr;gap:10px}.login{margin:4vh 14px;padding:25px}.loading{padding:70px 20px}.notice{font-size:11px}.topbar .dev-text{display:none}}
.stable-brand{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:13px;overflow-wrap:anywhere}.stable-logo{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.branding-preview{display:flex;align-items:center;gap:20px;margin:25px 0}.logo-preview,.logo-placeholder{width:112px;height:112px;object-fit:contain;background:#f2f5f0;border:1px solid var(--line);border-radius:10px;padding:10px}.logo-placeholder{display:grid;place-items:center;font-size:44px;color:#8aa592}.branding-panel{max-width:760px}.branding-panel .actions{margin:15px 0}.upload-label{margin-top:24px}#preferences-form .field{max-width:620px}@media(max-width:680px){.stable-brand{margin-top:14px}.stable-logo{width:30px;height:30px}.device-row{flex-wrap:wrap}.topbar .actions{gap:6px}}

.logout-link{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.workspace-mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;padding:3px;border:1px solid #d4dfd8;border-radius:8px;background:#e9eeea;box-shadow:inset 0 1px 2px rgba(18,59,57,.05)}.topbar .workspace-mode-switch a{display:flex;align-items:center;justify-content:center;gap:6px;min-width:64px;padding:7px 10px;border-radius:5px;color:#89958f;font-size:11px;font-weight:750;text-decoration:none;transition:background .16s,color .16s,box-shadow .16s}.workspace-mode-switch a:hover:not(.active){color:#536a61;background:#f3f5f2}.workspace-mode-switch a.active{background:#176962;color:#fff;box-shadow:0 2px 6px rgba(18,59,57,.2);pointer-events:none}.workspace-mode-switch i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.65}.workspace-mode-switch a.active i{opacity:1;background:#b9d78e}
@media(max-width:680px){.topbar{flex-wrap:wrap;height:auto;min-height:60px;padding:12px 0}.topbar .actions{flex-wrap:wrap}}

.monitor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.monitor-stats>div{background:#173f3d;color:#fff;border-radius:9px;padding:17px 19px}.monitor-stats strong{display:block;font-size:25px;font-weight:600}.monitor-stats span{display:block;color:#b9d3cb;font-size:10px;margin-top:5px;text-transform:uppercase;letter-spacing:.7px}.monitor-section{margin-bottom:28px}.camera-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.camera-feed{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.camera-feed.live{border-color:#9fc9b1}.camera-feed.delayed{border-color:#e3c98f}.camera-feed>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px}.camera-feed h2{font-size:16px}.camera-frame{position:relative;aspect-ratio:16/9;background:#09232c;overflow:hidden}.camera-frame img{width:100%;height:100%;display:block;object-fit:cover}.camera-frame-empty{height:100%;display:grid;place-content:center;text-align:center;color:#a8c1ba;padding:25px}.camera-frame-empty strong{color:#e0eeea;font-size:16px}.camera-frame-empty span{font-size:11px;margin-top:7px}.camera-frame-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:18px 12px 8px;background:linear-gradient(transparent,#041716dd);color:#fff;font-size:10px}.camera-analysis{padding:16px 18px}.camera-analysis>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:14px}.camera-analysis>div:first-child strong{font-size:12px;font-weight:600}.camera-analysis dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.camera-analysis dt{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.camera-analysis dd{font-size:12px;font-weight:650;margin:4px 0 0}.fusion-grid{display:grid;gap:12px}.fusion-card{display:grid;grid-template-columns:minmax(180px,1fr) 150px minmax(240px,1.4fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:5px solid #d3a94e;border-radius:9px;padding:17px 18px}.fusion-card.aligned{border-left-color:#3c8b75}.fusion-card p{font-size:11px;color:var(--muted);margin:4px 0}.fusion-score strong{display:block;font-size:24px}.fusion-score span{font-size:9px;color:var(--muted);text-transform:uppercase}.fusion-views{display:grid;gap:4px}.fusion-views span{font-size:10px;color:#526e61}.demo-monitoring-notice{background:#eeeafa;border-color:#d7d0ec;color:#655987}@media(max-width:1050px){.camera-wall{grid-template-columns:1fr}.fusion-card{grid-template-columns:1fr 130px}.fusion-views{grid-column:1/-1}}@media(max-width:680px){.monitor-stats{grid-template-columns:1fr 1fr}.monitor-stats strong{font-size:20px}.camera-feed>header{padding:14px}.camera-analysis{padding:14px}.camera-analysis dl{grid-template-columns:1fr 1fr}.fusion-card{grid-template-columns:1fr}.fusion-views{grid-column:auto}.camera-wall{gap:14px}}

#preferences-form fieldset{border:0;padding:0;margin:0}.demo-banner{margin-top:20px}

.care-map{height:430px;position:relative;overflow:hidden;border:1px solid #cbd9d1;border-radius:9px;background:#dce5df;touch-action:none;cursor:crosshair;margin:12px 0}.saved-map{height:360px}.camera-map{height:430px}.care-map-tiles{position:absolute;inset:0}.care-map-tiles img{position:absolute;width:256px;height:256px;user-select:none;background:#dce5df}.care-map-tiles img.failed{background:linear-gradient(135deg,#dce5df,#cbd9d1)}.care-map-overlay{position:absolute;inset:0;width:100%;height:100%}.care-map-overlay .map-boundary{stroke:#f7c94b;stroke-width:3;vector-effect:non-scaling-stroke}.care-map-overlay polygon.map-boundary{fill:rgba(185,215,142,.28)}.care-map-overlay polyline.map-boundary{fill:none}.care-map-overlay .map-area{fill:rgba(198,93,67,.46);stroke:#8f3f2f;stroke-width:2;vector-effect:non-scaling-stroke}.care-map-overlay circle[data-vertex]{fill:#fff;stroke:#173f3d;stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.care-map-overlay circle[data-vertex]:active{cursor:grabbing}.map-marker circle{fill:#173f3d;stroke:#fff;stroke-width:3}.map-marker.selected circle{fill:#e3ac48}.map-marker text{fill:#fff;paint-order:stroke;stroke:#173f3d;stroke-width:4px;font-size:12px;font-weight:700;text-anchor:middle}.care-map-zoom{position:absolute;right:12px;top:12px;display:grid;box-shadow:0 2px 8px #0004}.care-map-zoom button{width:38px;height:38px;border:0;background:#fff;color:var(--ink);font-size:22px}.care-map-zoom button+button{border-top:1px solid var(--line)}.care-map-credit{position:absolute;right:5px;bottom:4px;background:#fffd;padding:2px 5px;font-size:9px;color:#405b56}.map-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px}.map-search input,.map-search select{min-width:0;border:1px solid #cbd9d1;border-radius:6px;padding:10px;background:#fff}.map-results{display:grid;position:relative;z-index:2}.map-results button{border:1px solid var(--line);border-top:0;background:#fff;text-align:left;padding:10px;color:var(--ink)}.map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.map-blend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.map-blend input{width:90px}.structure-list{display:grid;gap:7px;margin-top:10px}.structure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.structure-row input{border:1px solid #ccd9cf;border-radius:5px;padding:8px;min-width:0}.kml-import{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.kml-import input{max-width:180px}.paddock-mapper[hidden]{display:none}dialog:has(.paddock-mapper){width:min(940px,96vw);max-width:940px}
@media(max-width:680px){.care-map,.camera-map{height:340px}.saved-map{height:280px}.map-search{grid-template-columns:1fr auto auto}.map-search input{grid-column:1/-1}.map-search select{grid-column:1/-1}.care-map-credit{max-width:75%}}
.camera-cone{fill:rgba(23,105,98,.2);stroke:#176962;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.camera-cone.selected{fill:rgba(227,172,72,.28);stroke:#d89520}.map-marker[data-marker]{cursor:grab}.map-marker[data-marker]:active{cursor:grabbing}.camera-aim{pointer-events:none}.camera-aim line{stroke:#d89520;stroke-width:3;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.camera-aim circle{fill:#fff4d9;stroke:#d89520;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all;cursor:grab}.camera-aim path{fill:#d89520;pointer-events:none}.camera-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px}.camera-legend span{display:flex;align-items:center;gap:6px}.camera-legend i{width:12px;height:12px;border-radius:50%;background:#173f3d;border:2px solid white;box-shadow:0 0 0 1px #173f3d}.camera-legend .selected-camera{background:#e3ac48;box-shadow:0 0 0 1px #d89520}.camera-legend .aim-handle{background:#fff4d9;box-shadow:0 0 0 2px #d89520}
.camera-placement-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px;align-items:start}.camera-preview-list{display:grid;gap:10px;max-height:430px;overflow:auto;margin-top:12px}.camera-preview-card{display:grid;gap:6px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;color:var(--ink)}.camera-preview-card.active{border-color:#d89520;box-shadow:0 0 0 2px rgba(216,149,32,.18)}.camera-preview-card img,.camera-preview-empty{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px;background:#e7ede8}.camera-preview-empty{display:grid;place-items:center;color:var(--muted);font-size:11px}.camera-preview-card strong{font-size:12px}.camera-preview-card small{font-size:10px;line-height:1.4;color:var(--muted)}dialog:has(.camera-placement-layout){width:min(1120px,96vw);max-width:1120px}@media(max-width:760px){.camera-placement-layout{grid-template-columns:1fr}.camera-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.camera-preview-card:last-child:nth-child(odd){grid-column:1/-1}}
.wizard-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 0 11px;margin-bottom:13px;color:var(--ink)}.wizard-progress span{font-size:11px;color:var(--muted);font-weight:700}.placement-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.4fr);gap:12px;margin:16px 0}.camera-placement-layout aside h3{margin:12px 0 0}@media(max-width:760px){.placement-controls{grid-template-columns:1fr}.camera-placement-layout aside h3{margin-top:0}dialog:has(.camera-placement-layout){padding:20px}.camera-placement-layout .camera-map{height:300px}}
.setup-intro{display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(125deg,#173f3d,#205c56);color:#fff;border-radius:12px;padding:28px 30px;margin-bottom:20px}.setup-intro h2{font-size:25px}.setup-intro p:not(.eyebrow){color:#c9ddd7;max-width:610px}.setup-intro .eyebrow{color:#b9d78e}.setup-trust{display:grid;gap:9px;min-width:210px;color:#dceae5;font-size:11px}.setup-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setup-choice{min-height:275px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px;text-align:left;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:11px;box-shadow:0 8px 28px rgba(19,62,61,.04);transition:transform .18s,border-color .18s,box-shadow .18s}.setup-choice:hover{transform:translateY(-2px);border-color:#91b5a4;box-shadow:0 12px 32px rgba(19,62,61,.1)}.setup-choice.stall{background:linear-gradient(145deg,#fff,#f7f2e7)}.setup-choice-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:#e7f0e9;color:var(--teal);font-size:27px;margin-bottom:6px}.setup-choice.stall .setup-choice-icon{background:#f4e8d3;color:#946c2e}.setup-choice strong{font-size:21px}.setup-choice>span:not(.setup-choice-icon):not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65;max-width:430px}.setup-choice em{margin-top:auto;color:var(--teal);font-size:12px;font-style:normal;font-weight:750}.wizard-shell{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.wizard-space-picker{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);background:#f8faf7}.wizard-space-picker label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;min-width:240px}.wizard-space-picker select{font-size:13px;text-transform:none;letter-spacing:0}.setup-stepper{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 24px 8px;position:relative}.setup-stepper:before{content:"";position:absolute;left:12%;right:12%;top:40px;height:1px;background:var(--line)}.setup-step{position:relative;z-index:1;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;gap:8px;padding:0 5px}.setup-step>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f2f5f2;border:1px solid #cddbd2;color:#71847a;font-size:12px;font-weight:750}.setup-step small{font-size:10px;font-weight:700}.setup-step.active>span{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 0 0 5px #e7efeb}.setup-step.done>span{background:#ddefe5;border-color:#9fc5b0;color:#246652}.setup-step.active small{color:var(--ink)}.wizard-stage{padding:30px 30px 25px;min-height:330px}.wizard-stage-copy{max-width:720px;margin-bottom:22px}.wizard-stage-copy h2{font-size:24px}.wizard-stage-copy>p:not(.eyebrow){color:var(--muted);max-width:680px}.wizard-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 22px}.wizard-summary>div{border:1px solid var(--line);border-radius:8px;background:#f8faf7;padding:15px}.wizard-summary small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px}.wizard-summary strong{display:block;font-size:16px;overflow-wrap:anywhere}.setup-check{display:flex;align-items:flex-start;gap:13px;border:1px solid #e0e7e1;border-radius:8px;padding:15px 16px;margin:10px 0;background:#fff}.setup-check>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f4f5f2;color:#86958d;font-weight:800;flex:0 0 auto}.setup-check.done{border-color:#c8dfd2;background:#f5faf6}.setup-check.done>span{background:#ddefe5;color:#246652}.setup-check strong{font-size:13px}.setup-check p{font-size:11px;color:var(--muted);margin:3px 0 0}.wizard-record{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e9eee9;padding:12px 2px;font-size:12px}.wizard-nav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:17px 22px;background:#fbfcfa}.wizard-empty{text-align:center;padding:36px 20px}.wizard-empty>span{display:grid;place-items:center;width:65px;height:65px;border-radius:16px;background:#e9f1eb;color:var(--teal);font-size:31px;margin:0 auto 16px}.wizard-empty p{color:var(--muted);max-width:480px;margin:10px auto 20px}
@media(max-width:760px){.setup-intro{display:block;padding:23px}.setup-trust{margin-top:20px;min-width:0}.setup-choice-grid{grid-template-columns:1fr}.setup-choice{min-height:235px;padding:23px}.wizard-space-picker{align-items:stretch;flex-direction:column}.wizard-space-picker label{min-width:0;width:100%}.setup-stepper{padding:18px 8px 6px}.setup-stepper:before{left:13%;right:13%;top:36px}.setup-step small{font-size:9px;line-height:1.25}.setup-step>span{width:32px;height:32px}.wizard-stage{padding:24px 18px 20px;min-height:0}.wizard-stage-copy h2{font-size:21px}.wizard-summary{grid-template-columns:1fr}.wizard-nav{padding:14px;align-items:stretch}.wizard-nav>div{display:flex}.wizard-nav .btn{white-space:normal}.wizard-record{align-items:flex-start}}
.care-map-overlay line.map-boundary{fill:none}
.horse-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.horse-stats>div{border:1px solid var(--line);background:#f8faf7;border-radius:8px;padding:14px}.horse-stats strong{display:block;font-size:23px;font-weight:600}.horse-stats span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.horse-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(125px,.35fr));gap:10px;align-items:end;margin-bottom:18px}.horse-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.horse-toolbar input,.horse-toolbar select{width:100%;min-width:0;border:1px solid #cfdcd3;border-radius:6px;background:#fff;padding:10px;color:var(--ink);text-transform:none;letter-spacing:0}.horse-table td:first-child{min-width:220px}.horse-table td:first-child small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.horse-table td:first-child p{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0;color:var(--muted)}.horse-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:16px;margin-top:10px;color:var(--muted);font-size:11px}.horse-pager>div{display:flex;align-items:center;gap:10px}.horse-pager strong{color:var(--ink);white-space:nowrap}@media(max-width:900px){.horse-toolbar{grid-template-columns:1fr 1fr}.horse-search{grid-column:1/-1}}@media(max-width:680px){.horse-stats{grid-template-columns:1fr 1fr}.horse-stats>div:last-child{grid-column:1/-1}.horse-toolbar{grid-template-columns:1fr}.horse-search{grid-column:auto}.horse-pager{align-items:stretch;flex-direction:column}.horse-pager>div{justify-content:space-between}.horse-table .actions{min-width:170px}}
.race-session{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin:18px 0;box-shadow:0 12px 34px rgba(19,55,53,.06)}.race-session.active{border:2px solid #d4a33a;background:linear-gradient(180deg,#fffdf7,#fff)}.race-session>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.race-session>header h2{margin:2px 0}.race-session>header p{margin:5px 0;color:var(--muted)}.race-summaries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.race-summary,.race-comparison{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:4px;background:#f8faf7}.race-summary span,.race-comparison span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.race-summary strong,.race-comparison strong{font-size:1.15rem}.race-summary small,.race-comparison small{color:var(--muted);line-height:1.35}.race-comparison.flag{background:#fff4e2;border-color:#e7b55e}.race-comparison.flag strong{color:#9d4b20}.race-step{display:flex;align-items:center;gap:14px;background:#173f3d;color:#fff;border-radius:12px;padding:16px 18px;margin:16px 0}.race-step strong{white-space:nowrap}.race-step p{flex:1;margin:0;color:#cfe0da}.race-step .btn{background:#fff;color:#173f3d}.race-camera-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0}.race-camera{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.race-camera .camera-frame{aspect-ratio:16/9}.race-camera dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px}.race-camera dl div{display:flex;justify-content:space-between;gap:8px}.race-camera dt{color:var(--muted)}.race-camera dd{font-weight:700;margin:0}.race-feed{display:grid;gap:14px}.race-session details{margin-top:16px}.race-session summary{cursor:pointer;font-weight:800;color:var(--teal)}
@media(max-width:700px){.race-session{padding:16px}.race-session>header,.race-step{align-items:stretch;flex-direction:column}.race-summaries{grid-template-columns:1fr}.race-camera-grid{grid-template-columns:1fr}.race-step strong{white-space:normal}}
.camera-feed[data-action="monitor-camera"]{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.camera-feed[data-action="monitor-camera"]:hover,.camera-feed[data-action="monitor-camera"]:focus-visible{transform:translateY(-2px);box-shadow:0 14px 35px rgba(19,55,53,.14);outline:2px solid #71d4bd;outline-offset:2px}.camera-open-hint{display:block;padding:0 18px 16px;color:var(--teal);font-size:11px;font-weight:800}.monitor-detail{max-width:1120px}.camera-feed-detail .camera-frame{aspect-ratio:16/9;max-height:68vh}.camera-feed-detail .camera-analysis dl{grid-template-columns:repeat(6,1fr)}.camera-feed-detail>.sub{padding:0 18px 18px}@media(max-width:680px){.camera-feed-detail .camera-analysis dl{grid-template-columns:1fr 1fr}}
.race-day-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin-bottom:18px;border-radius:18px;background:linear-gradient(135deg,#173f3d,#245b57);color:#fff}.race-day-status h2,.race-day-status p{margin:2px 0}.race-meeting-select{max-width:760px}.race-meeting-select .field{margin:20px 0}.race-card{margin:18px 0}.race-card.locked{opacity:.72}.race-runner-list{display:grid;gap:12px;margin-top:18px}.race-runner{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.race-runner.active{border-color:#d89a3d;box-shadow:0 0 0 3px rgba(216,154,61,.14)}.race-runner header{display:flex;align-items:center;gap:14px}.race-runner-number{display:grid;place-items:center;min-width:44px;height:44px;padding:0 9px;border-radius:10px;background:#173f3d;color:#fff;font-weight:800;font-size:1.1rem}.race-close-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.race-close-bar p{margin:0;color:var(--muted)}.race-queue{display:grid;gap:8px}.race-queue article,.race-archive>article{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.race-queue span,.race-archive span{color:var(--muted)}.race-queue-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}.race-queue-card summary{display:flex;justify-content:space-between;gap:20px;padding:14px 0;cursor:pointer}.race-roster-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:0 0 14px}.race-roster-compact span{padding:8px 10px;border-radius:8px;background:#f4f7f5;color:var(--text)}.race-roster-compact b{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-right:7px;border-radius:6px;background:#173f3d;color:#fff}.setup-choice.race-day{background:linear-gradient(145deg,#fff8e8,#fff);border-color:#d9b56d}.setup-choice.race-day .setup-choice-icon{background:#fff0c7;color:#8f641f}
@media(max-width:760px){.race-day-status,.race-close-bar,.race-queue article,.race-archive>article,.race-queue-card summary{align-items:flex-start;flex-direction:column}.race-runner header{align-items:flex-start}.race-card .panel-head{align-items:flex-start;flex-direction:column}.race-summaries{grid-template-columns:1fr}}
