:root{--bg:#f4f7f5;--panel:#fff;--ink:#17252c;--muted:#5f6f77;--line:#d8ded5;--accent:#0f8a84;--accent-2:#d1522a;--danger:#a00025;--soft:#eef7f5;--warm:#fff5e8;--shadow:0 18px 50px #1c2d3014}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;padding:0;font-family:Avenir Next,Segoe UI,sans-serif}a{color:var(--accent);font-weight:700}button,input,select,textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px}button{cursor:pointer;background:var(--accent);color:#fff;border:0;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #0f8a8429}button,input,select,textarea{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);outline:3px solid #0f8a8447}button.secondary{background:var(--accent-2)}button.ghost{border:1px solid var(--line);color:var(--ink);background:#eef3ef}button:disabled{cursor:default;opacity:.6}label{color:var(--muted);margin:10px 0 4px;font-size:.9rem;display:block}textarea{resize:vertical;min-height:96px}.shell{max-width:1240px;margin:0 auto;padding:24px}.topbar{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#f8fffd 100%);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:18px;display:flex}.brand{gap:4px;display:grid}.brand h1{margin:0;font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}.eyebrow{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.subtle{color:var(--muted);font-size:.94rem}.grid{gap:16px;display:grid}.layout{grid-template-columns:minmax(360px,440px) 1fr;align-items:start;margin-top:16px}.panel,.animal{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 12px 34px #1c2d300f}.panel h2,.panel h3{margin:0 0 10px;font-size:1.05rem}.section-heading,.list-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px;display:flex}.section-heading p,.list-header p{color:var(--muted);margin:4px 0 0;font-size:.9rem}.field-help,.login-help{color:var(--muted);margin-top:4px;font-size:.86rem}.row{align-items:center;gap:8px;display:flex}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:14px;display:grid;box-shadow:0 10px 30px #1c2d300d}.summary-card span{color:var(--muted);font-size:.82rem;font-weight:700}.summary-card strong{font-size:1.35rem}.animal-form{gap:10px;display:grid}.form-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-pair.compact{grid-template-columns:minmax(0,1.3fr) minmax(100px,.7fr)}.actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px;display:grid}.animal-list{gap:10px;display:grid}.animal{grid-template-columns:132px 1fr;gap:14px;display:grid}.animal img,.image-placeholder{object-fit:contain;object-position:center;border:1px solid var(--line);background:#eef3ef;border-radius:8px;width:132px;height:132px}.image-placeholder{color:var(--muted);text-align:center;place-items:center;font-size:.8rem;display:grid}.animal h3{margin:0 0 4px}.animal-title-row{justify-content:space-between;align-items:start;gap:10px;display:flex}.animal-meta{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.animal-meta span,.status-pill,.file-pill{background:var(--soft);color:#285f5a;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.status-pill.archived{color:#7a6652;background:#f0ece6}.funding-bar{background:#edf0ec;border-radius:999px;height:9px;margin:10px 0 8px;overflow:hidden}.funding-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #73c7a3);min-width:8px;height:100%;display:block}.photo-field{background:#f9fdfb;border:1px dashed #b7c9c5;border-radius:8px;grid-template-columns:132px 1fr;align-items:center;gap:14px;padding:12px;display:grid}.photo-preview img,.photo-preview .image-placeholder{object-fit:contain;object-position:center;border:1px solid var(--line);background:#eef3ef;border-radius:8px;width:132px;height:132px}.file-pill{overflow-wrap:anywhere;max-width:100%;margin-top:8px}.saving-note{background:var(--warm);color:#8b5525;border:1px solid #f3d7b8;border-radius:8px;padding:10px 12px;font-weight:700}.toggle{border:1px solid var(--line);width:auto;color:var(--ink);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:8px;margin:0;padding:8px 10px;font-weight:700;display:inline-flex}.toggle input{width:18px;min-height:18px;padding:0}.login{max-width:420px;box-shadow:var(--shadow);margin:12vh auto}.message{color:var(--accent);background:#0f8a8414;border:1px solid #0f8a8447;border-radius:8px;margin:12px 0 0;padding:10px 12px}.error{color:var(--danger);background:#a000250f;border:1px solid #a0002538;border-radius:8px;margin:12px 0 0;padding:10px 12px}@media (max-width:820px){.shell{padding:12px}.topbar,.row,.section-heading,.list-header{flex-direction:column;align-items:stretch}.summary-grid{grid-template-columns:1fr 1fr}.layout,.form-pair,.form-pair.compact,.photo-field,.animal{grid-template-columns:1fr}.animal-form-panel{order:1}.animal-list-panel{order:2}.animal img,.image-placeholder,.photo-preview img,.photo-preview .image-placeholder{aspect-ratio:4/3;width:100%;height:auto}.actions{grid-template-columns:1fr}}@media (min-width:821px){.animal-form-panel{position:sticky;top:16px}}
