:root{color-scheme:light;--ink:#17211d;--muted:#64716b;--green:#176b4b;--green-soft:#e7f2ec;--coral:#d94f3d;--coral-soft:#fae9e5;--blue:#e7f0f4;--line:#dce3df;--white:#fff;--radius:8px;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;background:#eef2f0;color:var(--ink);letter-spacing:0}.check-field{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.check-field input{width:18px;height:18px;accent-color:var(--green)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;min-height:100vh}.app-shell{width:100%;max-width:720px;min-height:100vh;margin:0 auto;background:#f9fbfa;position:relative;padding-bottom:88px}.topbar{height:82px;padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10}.eyebrow{margin:0 0 3px;font-size:10px;font-weight:800;color:var(--green);text-transform:uppercase}.topbar h1,.page-heading h2,.section-heading h2,.dialog-head h2{margin:0;font-size:22px;line-height:1.2}.view{display:none;padding:20px}.view.active{display:block}.status-band{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--white);border-radius:var(--radius);overflow:hidden}.status-band div{padding:16px 10px;text-align:center;border-right:1px solid var(--line)}.status-band div:last-child{border-right:0}.status-band span{display:block;color:var(--muted);font-size:12px}.status-band strong{display:block;margin-top:4px;font-size:25px}.action-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin:14px 0 28px}.primary-action,.secondary-action{height:72px;border:0;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;font-weight:700}.primary-action{background:var(--green);color:white}.secondary-action{background:var(--coral-soft);color:#a73627;border:1px solid #f2c7be}.primary-action svg,.secondary-action svg{width:22px}.section-heading,.page-heading,.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-heading{min-height:48px;margin-bottom:18px}.text-button{border:0;background:transparent;color:var(--green);font-weight:700;padding:8px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink)}.icon-button svg{width:19px}.icon-button.solid{background:var(--green);color:white;border-color:var(--green)}.case-list,.pet-list,.candidate-results{display:grid;gap:10px}.case-card,.pet-card,.candidate-card{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.case-card img,.pet-card img,.candidate-card img{width:76px;height:76px;object-fit:cover;border-radius:6px;background:var(--blue)}.case-card h3,.pet-card h3,.candidate-card h3{font-size:16px;margin:0 0 5px}.case-card p,.pet-card p,.candidate-card p{font-size:12px;color:var(--muted);margin:2px 0;line-height:1.45}.status-chip{align-self:start;font-size:11px;font-weight:800;color:#a73627;background:var(--coral-soft);padding:5px 7px;border-radius:5px}.empty{padding:42px 18px;text-align:center;border:1px dashed #bdc9c3;border-radius:var(--radius);color:var(--muted);background:white}.empty svg{width:42px;height:42px;color:#8ea89b;margin-bottom:9px}.empty strong{display:block;color:var(--ink);margin-bottom:4px}.tool-surface{display:grid;gap:15px}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#e7ece9;border-radius:var(--radius);height:44px}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{height:38px;display:grid;place-items:center;border-radius:6px;color:var(--muted);font-weight:700}.segmented input:checked+span{background:white;color:var(--green);box-shadow:0 1px 3px #00000014}.capture-zone{height:182px;border:1px dashed #9eb5a9;background:var(--green-soft);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--green);text-align:center;padding:14px}.capture-zone.compact{height:112px}.capture-zone input{position:absolute;opacity:0;width:1px;height:1px}.capture-zone svg{width:34px;height:34px}.capture-zone span{font-size:12px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-row{display:grid;grid-template-columns:1fr 132px;gap:10px;align-items:end}.field{display:grid;gap:6px;min-width:0}.field span{font-size:12px;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cbd6d0;border-radius:6px;background:white;color:var(--ink);font:inherit;padding:11px 12px;letter-spacing:0}textarea{resize:vertical}.location-button,.outline-button{height:43px;border:1px solid #9db7aa;border-radius:6px;background:white;color:var(--green);font-weight:700;display:flex;gap:7px;align-items:center;justify-content:center}.location-button.wide,.outline-button{width:100%}.location-button svg,.outline-button svg{width:18px}.location-button.ready{background:var(--green-soft);border-color:var(--green)}.submit-button{height:48px;border:0;border-radius:6px;background:var(--green);color:white;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.submit-button.danger{background:var(--coral)}.submit-button:disabled{opacity:.55}.candidate-results{margin-top:18px}.score{font-size:18px;font-weight:800;color:var(--green)}.score-note{grid-column:2/-1;padding-top:5px;border-top:1px solid var(--line)}.settings-list{background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px}.settings-list>div{display:flex;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.settings-list>div:last-child{border-bottom:0}.settings-list svg{color:var(--green);flex:0 0 auto}.settings-list strong,.settings-list small{display:block}.settings-list small{color:var(--muted);margin-top:4px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;height:72px;padding:8px max(12px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:white;border-top:1px solid var(--line)}.bottom-nav button{border:0;background:transparent;color:#7a8780;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px}.bottom-nav button.active{color:var(--green);font-weight:800}.bottom-nav svg{width:21px;height:21px}dialog{width:min(100% - 24px,520px);border:0;border-radius:8px;padding:0;max-height:90vh}dialog::backdrop{background:#0d1712aa}.dialog-form{padding:20px;display:grid;gap:15px;overflow:auto}.dialog-head{margin-bottom:2px}.toast{position:fixed;z-index:50;left:50%;bottom:88px;transform:translate(-50%,20px);background:#18231e;color:white;border-radius:6px;padding:10px 14px;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 32px);font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}button{cursor:pointer;font-family:inherit;letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8fc7ac;outline-offset:2px}@media(min-width:721px){body{padding:18px 0}.app-shell{min-height:calc(100vh - 36px);border:1px solid var(--line)}.bottom-nav{bottom:18px}.view{padding:24px 28px}.case-list,.pet-list{grid-template-columns:repeat(2,1fr)}.case-card,.pet-card{grid-template-columns:68px 1fr}.case-card img,.pet-card img{width:68px;height:68px}.status-chip{grid-column:2}.toast{bottom:108px}}
:root{--heat-zone-border:4px solid var(--green)}.heat-zone-list{display:grid;gap:8px;margin:12px 0}.heat-zone{border-left:var(--heat-zone-border);background:var(--green-soft);padding:10px 12px}.heat-zone strong,.heat-zone span{display:block}.heat-zone span,.handoff-note{font-size:12px;color:var(--muted);margin:4px 0 0}.case-card{cursor:pointer}.topbar>div:last-child{display:flex;gap:8px}
.heat-map{height:190px;position:relative;display:grid;place-items:center;overflow:hidden;background:#e7f0f4;border:1px solid var(--line);border-radius:var(--radius)}.heat-ring{position:absolute;border:2px solid #176b4b88;border-radius:50%;background:#176b4b12}.heat-center{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px #d94f3d33}
.heat-ring-1{width:20%;height:20%}.heat-ring-2{width:38%;height:38%}.heat-ring-3{width:56%;height:56%}.heat-ring-4{width:74%;height:74%}.heat-ring-5{width:92%;height:92%}.multiline{white-space:pre-line}.text-link{display:inline-block;margin-top:5px;color:var(--green);font-size:12px;font-weight:700;text-decoration:none}.text-link:focus-visible{outline:3px solid #8fc7ac;outline-offset:2px}
.community-list{display:grid;gap:10px;margin-bottom:24px}.community-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:14px;color:var(--ink)}.community-card strong,.community-card small{display:block}.community-card small{margin-top:4px;color:var(--muted);font-size:12px}.community-card .status-chip{margin-left:auto}.bottom-nav{grid-template-columns:repeat(5,1fr)}
.operations-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 22px}.operations-metrics div,.operations-list article{border:1px solid var(--line);background:white;border-radius:var(--radius)}.operations-metrics div{padding:12px}.operations-metrics span,.operations-metrics strong{display:block}.operations-metrics span{font-size:11px;color:var(--muted)}.operations-metrics strong{font-size:21px;margin-top:4px}.operations-list{display:grid;gap:8px;margin:10px 0 24px}.operations-list article{padding:12px}.operations-list h3,.operations-list p{margin:0}.operations-list h3{font-size:14px}.operations-list p{font-size:12px;color:var(--muted);line-height:1.45;margin-top:4px}.operations-list button{margin-top:10px}.compact-surface{padding:13px;border:1px solid var(--line);background:white;border-radius:var(--radius);margin-bottom:12px}
.staff-entry{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 10px;text-decoration:none}.operations-shell main{padding-bottom:32px}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}output{font-size:12px;color:var(--green);overflow-wrap:anywhere}
