:root{--bg:#faf6f0;--surface:#fff;--surface-2:#f3ece2;--ink:#2a211b;--muted:#7d6f63;--line:#e8ddd0;--brand:#4b3fd1;--brand-2:#7a6cf0;--accent:#f29b38;--yes:#1f8a5b;--yes-bg:#e2f5ea;--no:#b0452f;--no-bg:#fbe7e1;--shadow:0 1px 2px #3c28140f, 0 8px 24px #3c281414;--shadow-lg:0 24px 60px #1e140a40;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17141f;--surface:#211d2b;--surface-2:#2b2638;--ink:#f1ecf7;--muted:#a59cb3;--line:#362f45;--brand:#8b7fff;--brand-2:#b3a9ff;--yes:#5fd39c;--yes-bg:#1c3a2c;--no:#ff9a84;--no-bg:#43251f;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Fraunces,Georgia,serif}a{color:var(--brand)}main{max-width:1560px;min-height:calc(100vh - 80px);margin:0 auto;padding:24px clamp(16px,4vw,40px) 48px}.muted{color:var(--muted)}.center{text-align:center}.mono{font-variant-numeric:tabular-nums;font-weight:600}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;font-family:Fraunces,serif;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex}.brand em{color:var(--brand);font-style:italic}.brand-mark{object-fit:cover;background:var(--brand);border-radius:12px;flex:none;width:58px;height:58px;display:block}.topbar nav{align-items:center;gap:4px;display:flex}.topbar-user{color:var(--muted);white-space:nowrap;margin-right:12px;font-size:.9rem}.topbar-user strong{color:var(--ink)}.topbar-user-icon{display:none}.topbar nav a{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:600;text-decoration:none}.topbar nav a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.footer{text-align:center;color:var(--muted);padding:24px;font-size:.85rem}.btn{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:10px 18px;font-weight:600;transition:transform .15s,background .15s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:progress}.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;box-shadow:0 6px 18px color-mix(in srgb, var(--brand) 35%, transparent)}.btn.primary:hover{box-shadow:0 10px 24px color-mix(in srgb, var(--brand) 45%, transparent)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{background:var(--no);color:#fff}.btn.small{border-radius:10px;padding:6px 10px;font-size:.85rem}input,textarea,.form-field select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}.choice-new{align-items:center;gap:6px;display:flex}.choice-new .btn{flex:none}.th-filter{appearance:none;max-width:150px;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-overflow:ellipsis;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237d6f63'/%3E%3C/svg%3E") right 2px center no-repeat;border:0;padding:4px 18px 4px 0}.th-filter:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.th-filter.on{color:var(--brand);font-weight:700}.filter-menu{display:none;position:relative}.filter-btn{border:1px solid var(--line);background:var(--surface-2);width:46px;height:46px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.filter-btn.on{color:var(--brand);border-color:var(--brand)}.filter-badge{background:var(--brand);color:#fff;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:-3px;right:-3px}.filter-panel{z-index:30;border:1px solid var(--line);background:var(--surface);width:min(260px,100vw - 32px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.filter-all{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:9px 12px;font-weight:600}.filter-all.on{color:var(--brand);border-color:var(--brand)}.filter-field{flex-direction:column;gap:4px;display:flex}.filter-field>span{color:var(--muted);font-size:.78rem;font-weight:600}.m-filter{appearance:none;border:1px solid var(--line);background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237d6f63'/%3E%3C/svg%3E") no-repeat right 12px center;width:100%;color:var(--ink);font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:12px;padding:9px 30px 9px 12px}.m-filter.on{color:var(--brand);border-color:var(--brand);font-weight:600}.m-filter option,.th-filter option{color:var(--ink);background:var(--surface);text-transform:none;letter-spacing:normal}input:focus,textarea:focus,.form-field select:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.segmented{background:var(--surface-2);border-radius:12px;gap:2px;padding:4px;display:inline-flex}.segmented button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:.88rem;font-weight:600}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.pill{border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-block}.pill.yes{background:var(--yes-bg);color:var(--yes)}.pill.no{background:var(--no-bg);color:var(--no)}.error{color:var(--no);background:var(--no-bg);border-radius:12px;padding:10px 14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{color:#fff;background:radial-gradient(circle at 85% 15%,#ffffff2e 0 80px,#0000 81px),radial-gradient(circle at 95% 90%,#f29b388c,#0000 45%),linear-gradient(135deg,#3a2fb8,#6b5cf0 55%,#9a7bf5);border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;padding:clamp(24px,5vw,48px);display:flex;position:relative;overflow:hidden}.hero:after{content:"🐾";opacity:.12;pointer-events:none;font-size:140px;position:absolute;top:-10px;right:4%;transform:rotate(-18deg)}.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.hero .accent{color:#ffd29a;font-style:italic}.hero p{opacity:.85;max-width:44ch;margin:12px 0 0}.hero-stats{flex-wrap:wrap;gap:12px;display:flex}.hero-stats div{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #fff3;border-radius:16px;min-width:96px;padding:12px 18px}.hero-stats strong{font-family:Fraunces,serif;font-size:1.8rem;display:block}.hero-stats span{opacity:.85;font-size:.8rem}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:20px;display:flex}.search{border-radius:999px;flex:240px;max-width:380px;padding-left:18px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;display:grid}.dog-card{text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);padding:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;display:block;overflow:hidden}.dog-card:hover,.dog-card:focus-visible{outline:none;transform:translateY(-6px)rotate(-.4deg);box-shadow:0 20px 40px #3c28142e}.dog-card:hover .photo{transform:scale(1.06)}.dog-card-media{aspect-ratio:4/3.4;position:relative;overflow:hidden}.dog-card-media .photo{width:100%;height:100%;transition:transform .5s}.status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700;position:absolute;top:12px;left:12px}.status.adopted{color:#1f6b48;background:#ffffffd9}.status.available{color:#6b3d00;background:#ffd278eb}.dog-card-body{padding:14px 16px 16px}.dog-card-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.dog-card-title h3{font-size:1.25rem}.dog-card-body p{margin:4px 0 10px;font-size:.88rem}.sex{border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.sex-m{color:#2d5bd8;background:#e3ecff}.sex-f{color:#c7307a;background:#ffe3ef}.contract{letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, transparent);border-radius:8px;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-block}.photo{object-fit:cover;background:var(--surface-2);display:block}.photo.placeholder{background:linear-gradient(135deg,#fde9cf,#e7e1ff);place-items:center;font-size:3.5rem;display:grid}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;height:320px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.fade-in{animation:.45s cubic-bezier(.2,.8,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.empty{text-align:center;color:var(--muted);padding:60px;font-size:1.2rem}.backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140e1e8c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{background:var(--bg);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:24px;animation:.3s cubic-bezier(.2,.9,.3,1.2) pop;position:relative;overflow:auto}.modal.wide{width:min(920px,100%)}.modal-close{float:right;z-index:2;background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:50%;margin:12px 12px -52px 0;font-size:1.5rem;line-height:1;position:sticky;top:12px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(20px)scale(.97)}}.details section{border-top:1px solid var(--line);padding:18px 28px}.details h4{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:.95rem;display:flex}.details-hero{grid-template-columns:minmax(0,260px) 1fr;align-items:start;gap:24px;padding:28px;display:grid}.details-photo{object-fit:contain;width:100%;height:auto;max-height:340px;box-shadow:var(--shadow);border-radius:20px}.details-photo.placeholder{aspect-ratio:1}.details-photo-link{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.lightbox{z-index:100;cursor:zoom-out;background:#0a080eeb;place-items:center;padding:56px 16px 72px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;filter:drop-shadow(0 24px 60px #00000080);opacity:0;width:100%;height:calc(100vh - 128px);transition:opacity .2s}.lightbox img.loaded{opacity:1}.lightbox-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.lightbox-close{top:calc(12px + env(safe-area-inset-top));color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;width:44px;height:44px;font-size:1.8rem;line-height:1;position:absolute;right:16px}.lightbox-close:hover{background:#ffffff42}.lightbox-caption{bottom:calc(16px + env(safe-area-inset-bottom));color:#fff;white-space:nowrap;cursor:default;background:#ffffff1f;border-radius:999px;align-items:center;gap:16px;padding:8px 16px;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lightbox-caption a{color:#fff;opacity:.8;font-size:.9rem;font-weight:500}.details-heading{flex-direction:column;align-items:flex-start;gap:10px;padding-top:8px;display:flex}.details-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.details-contracts{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.contract-form>.muted{margin:-6px 0 4px;font-size:.9rem}.form-hint{background:var(--surface-2);color:var(--muted);border-radius:10px;grid-column:1/-1;margin:0;padding:8px 12px;font-size:.85rem}.admins-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admins-list li{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.admins-list .pill{margin-left:10px}.admins-actions{gap:6px;display:flex}.admins-reset{background:var(--surface-2);border-radius:12px;padding:14px}.small-note{margin:6px 0 0;font-size:.85rem}.passport-scan{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:14px;display:flex}.passport-scan .small-note{margin:0}.scan-note{background:var(--yes-bg);color:var(--yes);border-radius:12px;margin:0 0 14px;padding:10px 14px;font-size:.9rem}.contract-loading{border:1px dashed var(--line);height:max(320px,100vh - 340px);color:var(--muted);border-radius:12px;place-items:center;display:grid}.contract-preview iframe{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;height:max(320px,100vh - 340px)}.pdf-card{border:1px dashed var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.pdf-card p{margin:0}.pdf-card-icon{font-size:2.6rem;line-height:1}.pdf-card .btn{text-decoration:none}.health-grid{flex-direction:column;gap:8px;display:flex}.health-row{grid-template-columns:minmax(150px,1.2fr) 80px 1.4fr 1fr;align-items:center;gap:8px;font-size:.9rem;display:grid}.health-row select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 8px}@media (width<=760px){.health-row{grid-template-columns:1fr 70px}.health-row input{grid-column:1/-1}}.contract-confirm{border:1px solid var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--surface));border-radius:12px;padding:12px 14px}.contract-confirm p{margin:0 0 4px}.contract-confirm .form-actions{background:0 0;padding:8px 0 0;position:static}.contract-saved-note{background:var(--yes-bg);color:var(--yes);border-radius:10px;margin:0;padding:10px 14px}.details-heading h2{font-size:clamp(2rem,4vw,2.8rem);line-height:1}.details-heading p{margin:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:6px 0;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.stat strong{font-family:Fraunces,serif;font-size:1.3rem;display:block}.stat span{color:var(--muted);font-size:.72rem}.note{color:#6b4a00;white-space:pre-line;background:#fff4dc;border-radius:12px;margin:0;padding:10px 14px}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 20px;margin:0;display:grid}.field.full{grid-column:1/-1}.field-pair{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 20px;display:grid}.field dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px;font-size:.72rem;font-weight:600}.field dd{overflow-wrap:anywhere;margin:0;font-weight:500}.multiline{white-space:pre-line}.private{background:color-mix(in srgb, var(--brand) 6%, transparent)}.lock{color:var(--brand);font-size:.72rem;font-weight:600}.login{text-align:center;flex-direction:column;gap:14px;max-width:380px;margin:8vh auto;padding:36px;display:flex}.login p{margin:0}.login-icon{font-size:2.6rem}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.admin-head h1{font-size:2.2rem}.admin-head p{margin:4px 0 0}.admin-actions{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:10px;display:flex}.admin-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 12px;position:sticky;top:96px}.sidebar-admins{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-weight:600;display:flex}.sidebar-admins:hover{border-color:var(--brand);color:var(--brand)}.sidebar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 8px 10px;font-size:.75rem;font-weight:700}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar-item{border-radius:12px}.sidebar-item.on{background:var(--surface-2)}.sidebar-link{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.sidebar-link:hover{background:var(--surface-2)}.sidebar-item.on .sidebar-link{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff}.sidebar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-count{background:var(--surface-2);min-width:28px;color:var(--muted);text-align:center;border-radius:999px;flex:none;padding:2px 8px;font-size:.8rem}.sidebar-item.on .sidebar-count{color:#fff;background:#ffffff38}.sidebar-tools{justify-content:flex-end;gap:4px;padding:4px 6px;display:flex}.sidebar-tools .icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;width:34px;height:34px;font-size:.9rem}.sidebar-add{border:1px dashed var(--line);color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:12px;margin-top:6px;padding:10px 12px;font-weight:600}.sidebar-add:hover{color:var(--brand);border-color:var(--brand)}.sidebar-form{flex-direction:column;gap:6px;padding:6px 0;display:flex}.sidebar-form select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:.85rem}.sidebar-form-actions{gap:6px;display:flex}.sidebar .error{margin:6px 0 0;font-size:.85rem}.pill.neutral{background:var(--surface-2);color:var(--ink);white-space:normal}.note-cell{white-space:pre-line;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-width:160px;max-width:260px;font-size:.85rem;display:-webkit-box;overflow:hidden}.section-cell{letter-spacing:.02em;max-width:180px;color:var(--muted);font-size:.78rem;font-weight:700}.admin-table tbody tr.row-signing,.m-item.row-signing{color:#0b1d26;background:#00bfff}.admin-table tbody tr.row-signing:hover{background:#00ace6}.m-item.row-signing{border-color:#00ace6}.row-signing .muted,.row-signing .section-cell{color:#1d3d4c}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);white-space:nowrap;padding:14px 12px;font-size:.72rem}.th-sort{font:inherit;color:var(--brand);text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.th-filter-sort{align-items:center;gap:6px;display:inline-flex}.th-filter-sort .th-sort{border-radius:4px;padding:2px 4px}.sort-btn{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:.88rem;font-weight:600;transition:border-color .15s;display:inline-flex}.sort-btn:hover{border-color:var(--brand)}.sort-arrow{color:var(--brand);font-weight:800}.sort-hint{color:var(--muted);background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:700}.admin-table td{border-top:1px solid var(--line);vertical-align:middle;padding:10px 12px}.admin-table tbody tr:hover{background:color-mix(in srgb, var(--brand) 4%, transparent)}.thumb,.photo.placeholder.thumb{border-radius:12px;width:52px;height:52px;font-size:1.6rem}.row-actions{white-space:nowrap;text-align:right}.row-actions .btn+.btn{margin-left:6px}.toast{z-index:60;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:14px;padding:12px 20px;font-weight:600;animation:.3s rise;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.dog-form{flex-direction:column;gap:18px;padding:28px;display:flex}.form-top{grid-template-columns:200px 1fr;align-items:start;gap:20px;display:grid}.form-top>.btn{grid-area:2/1;justify-self:center}.dropzone{aspect-ratio:1;cursor:pointer;border:2px dashed var(--line);border-radius:20px;position:relative;overflow:hidden}.dropzone .photo{width:100%;height:100%}.dropzone-label{text-align:center;color:#fff;background:linear-gradient(#0000,#000000a6);padding:10px;font-size:.82rem;font-weight:700;position:absolute;inset:auto 0 0}.dropzone.busy{opacity:.6}.dropzone:hover{border-color:var(--brand)}fieldset{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0;padding:16px 18px 18px}legend{padding:0 6px;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start;gap:12px 16px;display:grid}.form-grid>*{min-width:0}.form-grid>.check{align-self:end}.form-field{flex-direction:column;gap:5px;display:flex}.form-field.full{grid-column:1/-1}.form-field>span{color:var(--muted);font-size:.78rem;font-weight:600}.check{cursor:pointer;align-items:center;gap:8px;padding:10px 0;font-weight:500;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.inline-check{color:var(--muted);padding:2px 0 0;font-size:.8rem}.inline-check input{width:15px;height:15px}.computed{background:var(--surface-2);border-radius:12px;flex-direction:column;padding:8px 12px;display:flex}.computed span,.computed small{color:var(--muted);font-size:.75rem}.computed strong{font-family:Fraunces,serif;font-size:1.2rem}.form-actions{background:linear-gradient(transparent, var(--bg) 30%);justify-content:flex-end;gap:10px;padding:14px 0 4px;display:flex;position:sticky;bottom:-28px}@media (width<=720px){.details-hero,.form-top{grid-template-columns:1fr}.details-hero{padding:20px}.details section{padding:16px 20px}.dropzone{max-width:220px}.form-top>.btn{grid-row:auto;justify-self:start}.dog-form{padding:20px}.topbar nav a{padding:8px 10px}}.link{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.modal .login{margin:0 auto;padding:36px 28px}.login-page{margin:14vh auto 0}.login-page h2 em{color:var(--brand);font-style:italic}.login-mark{background:linear-gradient(135deg, var(--brand), var(--accent));border-radius:24px;place-items:center;width:96px;height:96px;margin:0 auto 4px;font-size:1.9rem;display:grid}.admin-table tr.clickable{cursor:pointer}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:.9rem;display:flex}.pages{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.page-btn{border:1px solid var(--line);background:var(--surface);min-width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:0 10px;font-weight:600;transition:background .15s,border-color .15s}.page-btn:hover:not(:disabled){border-color:var(--brand)}.page-btn.on{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-color:#0000}.page-btn:disabled{opacity:.4;cursor:default}.page-gap{color:var(--muted);padding:0 4px}.page-nums{display:contents}.page-nums.narrow{display:none}.page-size{align-items:center;gap:8px;display:flex}.page-size select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 8px}.table-wrap{container:content/inline-size}@media (width>=761px) and (width<=1100px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:16px}.sidebar{box-shadow:none;background:0 0;border:0;padding:0;position:static}.sidebar-title{display:none}.sidebar nav{flex-flow:wrap;align-items:center;gap:8px}.sidebar-item{border-radius:999px;align-items:center;display:flex}.sidebar-link,.sidebar-add{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:auto;margin:0}.sidebar-admins{border-radius:999px;width:auto;margin:0 0 10px}.sidebar-tools{padding:0 4px}.sidebar-form{width:260px}}@container content (width<=1300px){.admin-table{font-size:.85rem}.admin-table th{white-space:normal;padding:12px 8px}.admin-table td{padding:8px}.thumb,.photo.placeholder.thumb{border-radius:10px;width:44px;height:44px;font-size:1.3rem}.note-cell{min-width:120px;max-width:180px}.section-cell,.th-filter{max-width:130px}.row-actions .btn{padding:6px 8px}}@container content (width<=1050px){.admin-table .hide-md{display:none}}@container content (width<=880px){.admin-table .hide-sm{display:none}.admin-table td,.admin-table th{padding-left:5px;padding-right:5px}.note-cell{line-clamp:2;min-width:100px;max-width:130px}.section-cell{max-width:96px;font-size:.72rem}.th-filter{max-width:96px}.thumb,.photo.placeholder.thumb{width:38px;height:38px}.row-actions{white-space:normal;text-align:center;width:44px}.row-actions .btn{padding:4px 6px}.row-actions .btn+.btn{margin:4px 0 0}}.m-list{margin:0;padding:0;list-style:none;display:none}@media (width<=760px){input,textarea,select{font-size:16px}main{padding:14px 14px calc(96px + env(safe-area-inset-bottom));min-height:auto}.topbar{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top))}.brand{font-size:1.15rem}.brand-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar-user{margin-right:6px;font-size:.85rem}.topbar-user-label{display:none}.topbar-user-icon{display:inline}.brand-mark{border-radius:10px;width:52px;height:52px;font-size:.95rem}.login-page{margin:8vh auto 0;padding:28px 22px}.admin-layout{grid-template-columns:minmax(0,1fr);gap:14px}.sidebar{box-shadow:none;background:0 0;border:0;padding:0;position:static}.sidebar-title{display:none}.sidebar-admins{border-radius:999px;width:auto;margin:0 0 10px}.sidebar nav{flex-direction:row;align-items:center;overflow-x:auto}.sidebar-item{border-radius:999px;flex:none;align-items:center;display:flex}.sidebar-link,.sidebar-add{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;width:auto;margin:0}.sidebar-form{flex:none;width:240px}.admin-head{gap:12px;margin-bottom:14px}.admin-head h1{font-size:1.7rem}.admin-head p{font-size:.85rem}.admin-head{row-gap:10px}.admin-actions{display:contents}.admin-actions .search{flex:100%;order:1;min-width:0;max-width:none}.sort-btn{flex:auto;justify-content:center}.admin-actions .segmented{flex-shrink:0}.filter-menu{margin-left:auto;display:block}.admin-actions .segmented button{padding:7px 11px}.view-label{display:none}.new-btn{right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:60px;height:60px;box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 50%, transparent);border-radius:20px;padding:0;position:fixed}.new-plus{font-size:2rem;font-weight:400;line-height:1}.new-label,.table-wrap{display:none}.m-list{flex-direction:column;gap:10px;display:flex}.m-item{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;transition:transform .12s;display:grid}.m-item:active{transform:scale(.985)}.m-thumb,.photo.placeholder.m-thumb{border-radius:14px;width:64px;height:64px;font-size:2rem}.m-main{flex-direction:column;gap:3px;min-width:0;display:flex}.m-title{align-items:center;gap:6px;min-width:0;display:flex}.m-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;overflow:hidden}.m-title .sex{width:20px;height:20px;font-size:.72rem}.m-sub{align-items:center;gap:6px;min-width:0;font-size:.8rem;display:flex}.m-sub .contract{flex-shrink:0;padding:2px 6px;font-size:.68rem}.m-sub .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-meta{color:var(--muted);flex-wrap:wrap;gap:2px 10px;min-width:0;font-size:.76rem;display:flex}.m-adopter{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.m-actions{flex-direction:column;gap:6px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:12px;width:40px;height:40px;font-size:1rem}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dog-card{border-radius:14px}.dog-card:hover{transform:none}.dog-card-body{padding:10px 10px 12px}.dog-card-title h3{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.dog-card-body p{margin:2px 0 8px;font-size:.75rem}.dog-card .sex{width:22px;height:22px;font-size:.75rem}.dog-card .contract{font-size:.65rem}.status{padding:3px 7px;font-size:.66rem;top:8px;left:8px}.photo.placeholder{font-size:2.6rem}.pagination{flex-direction:column;gap:10px;margin-top:16px}.pages{flex-wrap:nowrap;order:-1;justify-content:center;gap:3px}.page-btn{min-width:36px;height:40px;padding:0 6px}.page-gap{padding:0 1px}.page-nums.wide{display:none}.page-nums.narrow{display:contents}.page-size-label{display:none}.backdrop{place-items:end stretch;padding:0}.modal,.modal.wide{border-radius:0;width:100%;height:100dvh;max-height:100dvh;animation:.28s cubic-bezier(.2,.9,.3,1) sheet}.modal-close{top:calc(10px + env(safe-area-inset-top));background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:10px 10px -50px 0}.details-hero{grid-template-columns:1fr;gap:16px;padding:0 0 16px}.details-photo{max-height:40vh;box-shadow:none;background:var(--surface-2);border-radius:0}.details-photo.placeholder{aspect-ratio:auto;height:150px;font-size:4rem}.details-heading{padding:0 18px}.details-heading h2{font-size:2rem}.details-heading .btn{width:100%}.stats{gap:8px}.stat{padding:8px 10px}.stat strong{font-size:1.05rem}.stat span{font-size:.68rem;line-height:1.25;display:block}.details section{padding:16px 18px calc(16px + env(safe-area-inset-bottom))}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.dog-form{gap:14px;padding:18px 16px 0}.dog-form h2{padding-right:48px;font-size:1.4rem}.form-top{grid-template-columns:1fr;gap:14px}.dropzone{justify-self:center;width:150px;max-width:none}.form-top>.btn{grid-row:auto;justify-self:center}fieldset{border-radius:14px;padding:12px 12px 14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:10px}.form-grid>.form-field.wide-m,.form-grid>.check,.form-grid>.computed{grid-column:1/-1}.form-spacer{display:none}input[type=date]{appearance:none;width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 8px;display:block}input[type=date]::-webkit-date-and-time-value{text-align:center;margin:0}.dog-form .segmented{width:100%}.dog-form .segmented button{flex:1}.form-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);margin:0 -16px;bottom:0}.form-actions .btn{flex:1;padding:13px}.toast{bottom:calc(92px + env(safe-area-inset-bottom));text-align:center;width:max-content;max-width:calc(100% - 32px)}.modal .login{padding:56px 20px 28px}}@media (width<=380px){.form-grid,.grid{grid-template-columns:1fr}.m-item{grid-template-columns:52px minmax(0,1fr) auto;gap:10px}.m-thumb,.photo.placeholder.m-thumb{width:52px;height:52px}}@keyframes sheet{0%{opacity:0;transform:translateY(40px)}}
