*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f5;--surface:#fff;--border:#e2e2e2;--text:#111827;--muted:#6b7280;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--danger-hover:#b91c1c;--radius:8px;--nav-h:56px}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}.app-shell{flex-direction:column;min-height:100vh;display:flex}nav{z-index:10;height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;display:flex;position:sticky;top:0}nav .nav-brand{color:var(--text);padding:0 20px;font-size:16px;font-weight:700;text-decoration:none}nav .nav-links{align-items:stretch;height:100%;display:flex}nav a.nav-link{height:100%;color:var(--muted);border-bottom:3px solid #0000;align-items:center;padding:0 18px;font-size:14px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s;display:flex}nav a.nav-link:hover{color:var(--text)}nav a.nav-link.active{color:var(--primary);border-bottom-color:var(--primary)}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:32px 16px 80px}button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;line-height:1;transition:background .12s;display:inline-flex}button:hover{background:#f3f4f6}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;padding:4px 8px}.btn-ghost:hover{color:var(--text);background:#f3f4f6}.btn-sm{padding:5px 10px;font-size:13px}label{color:var(--muted);margin-bottom:5px;font-size:13px;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:15px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical;min-height:80px}.form-row{margin-bottom:14px}.form-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.error-msg{color:var(--danger);margin-top:8px;font-size:13px}h1{margin-bottom:20px;font-size:22px;font-weight:700}h2{margin-bottom:14px;font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}.muted{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}hr{border:none;border-top:1px solid var(--border);margin:24px 0}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:36px 32px}.login-card h1{text-align:center;margin-bottom:4px;font-size:24px}.login-card .subtitle{text-align:center;color:var(--muted);margin-bottom:28px;font-size:14px}.login-toggle{text-align:center;color:var(--muted);margin-top:18px;font-size:14px}.login-toggle button{color:var(--primary);background:0 0;border:none;padding:0;font-size:14px;font-weight:500}.home-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.pet-select{flex:1;min-width:120px;font-size:16px;font-weight:600}.date-nav{align-items:center;gap:10px;margin-bottom:24px;display:flex}.date-label{text-align:center;flex:1;font-size:18px;font-weight:600}.record-list{margin-bottom:24px}.record-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.record-name{font-weight:500}.record-value{color:var(--muted);margin-left:auto;font-size:14px}.add-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:600}.add-buttons{flex-wrap:wrap;gap:8px;display:flex}.inline-editor{border:2px solid var(--primary);border-radius:var(--radius);background:var(--surface);margin-bottom:8px;padding:14px 16px}.editor-label{color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:600}.bool-buttons{gap:10px;display:flex}.bool-buttons button{flex:1;justify-content:center;padding:10px;font-size:15px}.input-with-unit{align-items:center;gap:8px;display:flex}.input-with-unit input{flex:1}.unit-label{color:var(--muted);white-space:nowrap;font-size:14px}.history-header{align-items:center;gap:10px;margin-bottom:24px;display:flex}.history-day{margin-bottom:28px}.history-date{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:600}.history-record{background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:baseline;margin-bottom:6px;padding:9px 14px;display:flex}.history-record-name{font-weight:500}.history-record-value{color:var(--muted);font-size:14px}.settings-section{margin-bottom:40px}.item-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;display:flex}.item-label{flex:1;min-width:0;font-weight:500}.item-sub{color:var(--muted);font-size:13px}.tag{color:var(--muted);background:#f3f4f6;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.inline-form{border:1px solid var(--border);border-radius:var(--radius);background:#f9fafb;margin-bottom:12px;padding:16px}.inline-form h3{margin-bottom:14px}.cols-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.option-item{align-items:center;gap:8px;margin-bottom:6px;display:flex}.option-item span{flex:1;font-size:14px}.load-more{justify-content:center;margin-top:24px;display:flex}.empty{color:var(--muted);text-align:center;padding:40px 0}
