:root{color:#172033;font-synthesis:none;--brand:#2563eb;--navy:#172554;--muted:#64748b;--border:#e2e8f0;--surface:#fff;--danger:#dc2626;--green:#15803d;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:8px;font-size:1.8rem}h2{letter-spacing:-.02em;margin-bottom:12px;font-size:1.12rem}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}h4{color:var(--muted);font-size:.88rem}p{line-height:1.6}small{color:var(--muted);line-height:1.5;display:block}.small{font-size:.8rem}.muted{color:var(--muted)}.positive,.success{color:var(--green)}.negative,.error{color:var(--danger)}.error{overflow-wrap:anywhere;font-size:.88rem}.success{background:#f0fdf4;border-radius:10px;padding:12px}.primary,.secondary,.icon-button,.pager button,.tabs button,.segmented button,.menu-button{border:1px solid var(--border);min-height:42px;color:var(--navy);background:#fff;border-radius:9px;padding:10px 15px;font-weight:600}.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.primary:hover{background:#1d4ed8}.secondary:hover{background:#eff6ff;border-color:#93c5fd}.button-link{display:inline-block}.text-button,.name-link{color:var(--brand);text-align:left;background:0 0;border:0;padding:4px 0}.name-link{font-weight:650}.name-link:hover{text-decoration:underline}.badge,.count{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:7px;align-items:center;padding:5px 9px;font-size:.77rem;font-weight:600;display:inline-flex}.badge.good{color:#15803d;background:#f0fdf4}.badge.danger{color:#be123c;background:#fff1f2}.count{margin-left:8px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact{min-width:120px}.compact button{min-height:34px;padding:6px 10px;font-size:.78rem}.brand{color:var(--navy);white-space:nowrap;font-size:1.15rem;font-weight:800}.topbar{z-index:20;border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:24px;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.top-date{color:var(--muted);margin-left:auto;font-size:.85rem}.account-link{font-size:.8rem}.logout{color:var(--navy);background:#f1f5f9;border:0;border-radius:8px;padding:10px 14px;font-weight:600}.menu-button{display:none}.sidebar{background:var(--navy);color:#fff;flex-direction:column;width:230px;padding:32px 18px;display:flex;position:fixed;top:72px;bottom:0;left:0}.sidebar-label{letter-spacing:.16em;color:#94a3b8;margin:0 14px 24px;font-size:.6rem;font-weight:650}.sidebar nav{gap:8px;display:grid}.sidebar nav button{text-align:left;color:#cbd5e1;background:0 0;border:0;border-radius:10px;align-items:center;gap:16px;padding:14px 18px;font-size:.92rem;font-weight:550;display:flex}.sidebar nav button span{text-align:center;width:22px;font-size:1.3rem}.sidebar nav button.active{color:#fff;background:#2563eb}.sidebar nav button:hover{background:#254080}.sidebar-footer{color:#94a3b8;margin-top:auto;padding:12px;font-size:.75rem;line-height:1.7}.workspace{min-width:0;margin-left:230px;padding:32px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.page-heading p{margin-bottom:0}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;margin-bottom:10px!important}.panel{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;margin-bottom:24px;padding:24px;box-shadow:0 3px 10px #17255403}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2,.section-heading h3{margin:0}.section-heading p{margin:4px 0 0}.search-panel>label{margin-bottom:14px;font-weight:650;display:block}.search-box{border:1px solid var(--border);background:#f8fafc;border-radius:10px;align-items:center;gap:12px;padding-left:14px;display:flex}.search-box>span{color:var(--muted);font-size:1.5rem}.search-box input{background:0 0;border:0;width:100%;min-width:0;padding:14px 10px}.suggestions{border:1px solid var(--border);border-radius:10px;margin-top:10px;overflow:hidden}.suggestions>button{border:0;border-bottom:1px solid var(--border);text-align:left;background:#fff;grid-template-columns:1fr auto;width:100%;padding:12px 16px;display:grid}.suggestions>button small{grid-row:2}.suggestions>button span{color:var(--brand);grid-area:1/2/3;align-self:center;font-size:.8rem}.suggestions>button[aria-selected=true],.suggestions>button:hover{background:#eff6ff}.suggestions p{margin:0;padding:12px}.table-wrap{border-radius:10px;width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#f8fafc;padding:12px;font-size:.66rem}td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 12px}tbody tr:last-child td{border-bottom:0}.pet-cell{align-items:center;gap:12px;min-width:190px;display:flex}.avatar{width:42px;height:42px;color:var(--brand);background:#eff6ff;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.empty{text-align:center;color:var(--muted);padding:28px 10px;font-size:.9rem}.date-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-controls input{width:150px}.filter{width:100%;margin-bottom:20px}.pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:18px;display:flex}.pager>span{color:var(--muted);margin-right:auto;font-size:.78rem}.pager button{min-width:40px;min-height:40px;padding:7px 12px}.pager button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid var(--border);color:#172033;background:#fff;border-radius:9px;min-width:0;max-width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{outline-offset:1px;border-color:var(--brand);outline:2px solid #bfdbfe}input[type=checkbox]{accent-color:var(--brand);width:17px;height:17px}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:.8rem}.field input,.field select{width:100%}.form-grid{margin:18px 0}.form-grid fieldset,.form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid fieldset{border:0;min-width:0;margin:0;padding:0}.wide{grid-column:1/-1}.checkbox{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.editor{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:20px}.editor h3{color:#172033;text-transform:none;font-size:1rem}.hint{color:#475569;background:#eff6ff;border-radius:10px;margin:0;padding:14px;font-size:.82rem;line-height:1.6}.hint.warning{color:#92400e;background:#fffbeb;margin-top:20px}.hint input{width:100%}.stack{gap:12px;display:grid}.pass-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.pass-row:last-child{border-bottom:0}.pass-row p{margin:5px 0}.pass-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:250px;display:flex}.pass-actions .actions{justify-content:flex-end}.pass-choice{border:1px solid var(--border);text-align:left;background:#fff;border-radius:12px;gap:6px;width:100%;margin:10px 0;padding:18px;display:grid}.pass-choice:hover{border-color:var(--brand);background:#eff6ff}.pass-choice span{color:var(--muted);font-size:.85rem}.modal{color:#172033;border:0;border-radius:18px;width:min(520px,100vw - 28px);max-height:92vh;padding:26px;box-shadow:0 24px 80px #0f172a40}.modal.large{width:min(850px,100vw - 28px)}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a80}.modal-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.modal-heading h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem}.icon-button{min-width:40px;padding:4px 11px;font-size:1.5rem;line-height:1}.profile-heading{align-items:center;gap:20px;display:flex}.profile-heading>.avatar{border-radius:20px;width:86px;height:86px;font-size:2rem}.profile-heading p{margin:4px 0 10px}.photo-input{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 12px;font-size:.78rem;font-weight:600;display:inline-block}.photo-input input{width:100%;margin-top:6px;font-size:.75rem;display:block}.profile-section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.details{grid-template-columns:minmax(120px,1fr) 3fr;gap:10px 18px;font-size:.87rem;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.sibling{margin-right:10px}.credit{margin-bottom:18px;font-size:1.8rem;font-weight:750}.info-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;gap:15px;padding:12px 0;font-size:.87rem;display:flex}.tabs,.segmented{gap:4px;display:flex}.tabs{border-bottom:1px solid var(--border);margin-bottom:20px}.tabs button{color:var(--muted);border:0;border-radius:0}.tabs button.selected{border-bottom:2px solid var(--brand);color:var(--brand)}.segmented{background:#f1f5f9;border-radius:10px;padding:4px}.segmented button{color:var(--muted);background:0 0;border:0;min-height:36px;padding:8px 12px;font-size:.8rem}.segmented button.selected{color:var(--brand);background:#fff;box-shadow:0 1px 4px #0f172a12}.pet-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.pet-tile{border:1px solid var(--border);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:14px;padding:18px;display:flex}.pet-tile:hover{background:#f8fafc;border-color:#93c5fd}.pet-tile .avatar{width:56px;height:56px}.pet-tile>span{color:var(--brand);margin-left:auto}.embedded-pet{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:22px}.embedded-pet h2{font-size:1rem}.auth-shell{background:var(--navy);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:20px;width:min(440px,100%);padding:34px;box-shadow:0 20px 60px #0f172a30}.auth-card h1{margin-top:28px}.auth-card .form-grid fieldset{grid-template-columns:1fr}.auth-card .form-actions button{width:100%}.auth-links{justify-content:space-between;margin:20px 0;font-size:.84rem;display:flex}.security-shell{max-width:940px;margin:36px auto;padding:0 16px}.security-shell section section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.security-shell h1{margin-top:16px}.setup-key,pre{overflow-wrap:anywhere;white-space:pre-wrap;font-family:monospace;font-size:.95rem}pre{background:#f1f5f9;border-radius:10px;padding:20px;line-height:1.8}.staff-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;display:flex}.staff-row>span:first-child{overflow-wrap:anywhere;flex:1}.loading-screen{color:var(--muted);padding:40px}.menu-backdrop{display:none}@media (width<=900px){.sidebar{width:190px;padding:26px 12px}.workspace{margin-left:190px;padding:24px 18px}.topbar{gap:16px;padding:0 20px}.top-date{display:none}.account-link{margin-left:auto}.panel{padding:20px}.details{grid-template-columns:130px 1fr}}@media (width<=640px){.topbar{gap:10px;height:64px;padding:0 12px}.brand{font-size:1rem}.menu-button{padding:6px 10px;display:block}.account-link{max-width:68px;font-size:.7rem}.logout{padding:8px;font-size:.75rem}.sidebar{z-index:30;width:230px;transition:transform .2s;top:64px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.menu-backdrop{z-index:25;background:#0f172a55;border:0;display:block;position:fixed;inset:64px 0 0}.workspace{margin:0;padding:24px 14px}.page-heading{align-items:flex-start}h1{font-size:1.5rem}.page-heading>button{white-space:nowrap;font-size:.8rem}.panel{border-radius:14px;padding:18px 14px}.date-controls{width:100%}.date-controls input{flex:1}.modal{padding:20px}.details{grid-template-columns:1fr;gap:5px}.details dd{margin-bottom:8px}.profile-heading>.avatar{width:70px;height:70px}.pass-row{flex-direction:column;align-items:flex-start;gap:12px}.pass-actions{justify-content:flex-start;max-width:none}.pass-actions .actions{justify-content:flex-start}.embedded-pet{padding:16px}.form-grid fieldset,.form-fields{gap:14px}.form-actions .primary{flex:1}.pager{justify-content:center}.pager>span{text-align:center;width:100%;margin:0 0 6px}.auth-card{padding:26px}.security-shell{margin:20px auto}.section-heading{gap:12px}.tabs button{padding:10px;font-size:.84rem}.photo-input{overflow-wrap:anywhere;max-width:100%}}@media (width<=480px){.form-grid fieldset,.form-fields{grid-template-columns:1fr}input:not([type=checkbox]):not([type=file]),select,textarea{font-size:16px}.pet-grid{grid-template-columns:1fr}}@media (width<=640px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
