@font-face{font-family:DobbSans;src:local("Aptos"),local("Segoe UI");font-display:swap}
:root{--ink:#34454e;--muted:#66717a;--paper:#fbf8f3;--line:#dededb;--accent:#446b86;--sage:#4e6650;--white:#fffdfb;--boy:#d8e9f5;--boy-line:#bad4e7;--girl:#f8e1e7;--girl-line:#e7bdca}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 DobbSans,system-ui,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid transparent;border-radius:9px;background:var(--accent);color:white;padding:10px 17px;font-weight:650;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:wait}.quiet{color:var(--ink);border-color:var(--line);background:var(--white)}.danger{color:#a32727;background:#fff5f2;border-color:#e6c6bd}.small{padding:7px 11px;font-size:13px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba7b34;outline-offset:3px}
.admin-header{min-height:88px;background:var(--white);display:flex;justify-content:space-between;align-items:center;padding:16px max(24px,calc((100vw - 1280px)/2));gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,serif;font-size:28px;font-weight:bold}.brand img{object-fit:contain}.brand span{font:10px system-ui;letter-spacing:2px;border-left:1px solid var(--line);padding-left:12px}.header-actions,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-actions{font-size:13px}.admin-nav{display:flex;gap:8px;padding:12px max(24px,calc((100vw - 1280px)/2));background:var(--white);border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap;scrollbar-width:thin}.admin-nav a{display:flex;align-items:center;min-height:44px;padding:10px 17px;border-radius:8px;text-decoration:none;font-weight:600;color:var(--muted)}.admin-nav a[aria-current=page]{background:#f1e7dd;color:var(--accent)}.admin-nav a:hover{background:#f5eee6}.admin-main{max-width:1280px;margin:auto;padding:48px 24px 64px;min-height:70vh}.page-heading{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:30px}.page-heading p{color:var(--muted);max-width:600px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--accent)!important;margin:0 0 10px}h1{font:400 clamp(30px,4vw,44px)/1.1 Georgia,serif;margin:0 0 14px}h2{font:400 26px/1.2 Georgia,serif;margin:0 0 18px}h3{margin:0;font-size:18px}p{margin:0 0 15px}.toolbar{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}.search-label{width:min(100%,440px)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;color:var(--ink);border:1px solid #cfc5b9;border-radius:7px;background:white}textarea{min-height:95px;resize:vertical}.check{flex-direction:row;align-items:center;gap:10px;min-height:44px}.check input{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}.stack{display:grid;gap:18px}.panel,.litter{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px}.litter{padding:0;overflow:hidden}.litter>summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;align-items:center;gap:16px;justify-content:space-between}.litter>summary::-webkit-details-marker{display:none}.litter>summary:after{content:'＋';font-size:23px;color:var(--accent)}.litter[open]>summary:after{content:'−'}.summary-main{flex:1}.summary-main p{font-size:13px;color:var(--muted);margin:5px 0 0}.badge{font-size:11px;font-weight:700;border-radius:50px;background:#edf1e9;color:#40553f;padding:5px 10px}.badge.past{background:#f0ebe5;color:var(--muted)}.litter-body{border-top:1px solid var(--line);padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.three{grid-template-columns:2fr 1fr 1fr}.litter-form,.puppy-form{display:grid;gap:16px}.puppy-card{border-top:1px solid var(--line);padding:26px 0 8px;margin-top:24px}.puppy-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}.puppy-images{display:flex;gap:12px;overflow:auto;padding:8px 0 14px;min-height:50px}.photo-item{flex:0 0 140px}.photo-item img{width:140px;height:120px;object-fit:cover;border-radius:9px;display:block;background:#eee}.photo-controls{display:flex;gap:4px;margin-top:6px}.photo-controls button{min-height:38px;padding:5px 9px}.photo-controls button:last-child{margin-left:auto}.upload-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;position:relative;cursor:pointer;padding:10px 16px;border:1px dashed #ad9983;border-radius:9px;background:#f9f1e6;min-height:44px}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.help,.meta{font-size:13px;color:var(--muted)}.actions{margin-top:8px}.actions .danger{margin-left:auto}.add-puppy{margin-top:20px}.contact-card a{overflow-wrap:anywhere}.contact-card .meta{margin:8px 0 16px}.past-info{margin-top:16px;font-size:13px}.past-info summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.form-error{color:#9c2626;margin-top:12px}.empty{padding:40px;text-align:center;background:#f1eae0;border-radius:14px;color:var(--muted)}#notice{padding:14px 18px;margin-bottom:24px;border:1px solid #b6c7b1;border-radius:8px;background:#edf3e8;white-space:pre-line;overflow-wrap:anywhere}#notice.error{border-color:#e0b1a7;background:#fff0ed;color:#842a1e}[hidden]{display:none!important}.admin-footer{padding:24px;text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}dialog{width:min(540px,calc(100% - 32px));border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);background:var(--white);max-height:90vh;overflow:auto}dialog::backdrop{background:#302b2799}dialog form{display:grid;gap:16px}.login-wrap{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:28px 18px}.login-panel{width:min(100%,440px);padding:36px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 60px #5b463112}.login-panel form{display:grid;gap:18px}.login-panel h1{font-size:36px}.login-panel .help{margin-top:20px}.setting-field{display:grid;grid-template-columns:minmax(150px,1fr) 3fr;gap:16px}.setting-field textarea{min-height:85px}
@media(max-width:640px){.admin-header{padding:12px 16px;min-height:76px}.brand{font-size:22px;gap:6px}.brand img{width:36px;height:36px}.brand span{display:none}.header-actions{gap:8px}.header-actions>a{max-width:70px;line-height:1.4}.header-actions button{padding:8px 10px}.admin-nav{padding:8px 12px;gap:2px}.admin-nav a{padding:10px 12px;font-size:13px}.admin-main{padding:30px 16px 44px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading p{font-size:14px}.toolbar{align-items:stretch}.toolbar label{flex:1 1 180px}.litter>summary{padding:18px 16px;gap:10px}.badge{font-size:10px;padding:5px 7px}.litter-body,.panel{padding:18px 16px}.form-grid,.form-grid.three,.setting-field{grid-template-columns:1fr}.actions{gap:8px}.actions .danger{margin-left:0}.login-panel{padding:26px}.puppy-heading{align-items:flex-start}.photo-item{flex-basis:120px}.photo-item img{width:120px;height:110px}}
button,.button{background:var(--boy);color:#2d4e66;border-color:var(--boy-line)}.quiet{background:var(--white);color:var(--ink);border-color:var(--line)}.danger{background:#fdf0f3;color:#8a3048;border-color:var(--girl-line)}.admin-nav a[aria-current=page]{background:#e6f0f7;color:#365e7a}.admin-nav a:hover{background:#eff4f7}.upload-label{background:#edf5fb;border-color:var(--boy-line)}.puppy-card{padding-left:15px;border-left:3px solid var(--line);border-radius:0 0 0 10px}.puppy-card.puppy-boy{border-left-color:var(--boy-line)}.puppy-card.puppy-girl{border-left-color:var(--girl-line)}.puppy-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.sex-badge{font-size:11px;font-weight:700;line-height:1.4;border-radius:999px;padding:4px 10px;background:var(--boy);color:#365e7a}.puppy-girl .sex-badge{background:var(--girl);color:#815367}
.summary-main,.puppy-heading h3,.form-grid>*{min-width:0}.summary-main h3,.puppy-heading h3{overflow-wrap:anywhere}.badge{flex-shrink:0}input[type=date]{min-width:0;max-width:100%}form[aria-busy=true]{opacity:.7}.photo-controls button{min-width:44px;min-height:44px;padding:7px}.photo-item{flex-basis:144px}.photo-item img{width:144px}.upload-label:focus-within{outline:3px solid #6e91ac;outline-offset:3px}#notice{position:sticky;top:12px;z-index:10;box-shadow:0 5px 20px #302b2712}.setting-field.known-setting{grid-template-columns:1fr}
@media(max-width:400px){.admin-header{flex-wrap:wrap;gap:10px}.header-actions{width:100%;justify-content:space-between}.header-actions>a{max-width:none}.photo-item{flex-basis:144px}.photo-item img{width:144px;height:120px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
