.dash-shell{--cream:#fbf7f0;--cream2:#f5efe4;--sage:#8fae8b;--sage-light:#c8dcc5;--sage-dark:#5a7a56;--peach:#e8917a;--peach-light:#f5c4b3;--peach-soft:#fae8e0;--beige:#d4c4a8;--beige-light:#ede5d4;--dusty-blue:#7a9bb8;--dusty-blue-light:#c2d4e3;--dusty-blue-soft:#e8f0f7;--warm-brown:#8b6e52;--text-dark:#3d2e22;--text-mid:#6b5544;--text-soft:#9b8878;--white:#fffdf9;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:32px;display:flex;align-items:stretch;height:calc(100vh - 60px);min-height:calc(100vh - 60px);max-height:calc(100vh - 60px);margin:0;padding:0;font-family:var(--font-dm-sans),system-ui,sans-serif;background:var(--cream);color:var(--text-dark);overflow:hidden}.dash-shell .display,.dash-shell h1,.dash-shell h2,.dash-shell h3{font-family:var(--font-fraunces),Georgia,serif}.dash-shell .sidebar{width:92px;background:var(--white);border-right:1px solid var(--beige-light);display:flex;flex-direction:column;align-items:center;padding:16px 0 12px;gap:6px;align-self:stretch;flex-shrink:0;height:100%;overflow:hidden;z-index:40}.dash-shell .sidebar-logo{width:100%;height:80px;display:flex;align-items:center;justify-content:center;padding:0;margin-bottom:4px;flex-shrink:0;overflow:visible}.dash-shell .sidebar-logo-img{width:68px;max-width:none;height:auto;-o-object-fit:contain;object-fit:contain;transform:rotate(-90deg)}.dash-shell .sidebar-pets{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;flex:1;min-height:0;overflow-y:auto;padding:4px 0}.dash-shell .dash-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dash-shell .pet-nav-add,.dash-shell .pet-nav-item{width:76px;border:none;border-radius:16px;padding:8px 4px 6px;transition:all .2s;color:var(--text-soft);font-family:var(--font-dm-sans),system-ui,sans-serif;position:relative;text-decoration:none}.dash-shell .pet-nav-add,.dash-shell .pet-nav-item,.dash-shell .pet-nav-select{background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.dash-shell .pet-nav-select{width:100%;border:none;padding:0;color:inherit;font-family:inherit}.dash-shell .pet-nav-add:hover,.dash-shell .pet-nav-item:hover{background:var(--cream2);color:var(--text-mid)}.dash-shell .pet-nav-item.active{background:var(--peach-soft);color:var(--text-dark)}.dash-shell .pet-nav-item.active .pet-nav-avatar{border-color:rgba(232,145,122,.55);box-shadow:0 0 0 2px rgba(232,145,122,.25)}.dash-shell .pet-nav-avatar{position:relative;width:44px;height:44px;border-radius:14px;background:#fff;border:1px solid rgba(43,38,32,.14);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;overflow:hidden;transition:border-color .2s,box-shadow .2s}.dash-shell .pet-nav-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.dash-shell .pet-nav-avatar-emoji{line-height:1}.dash-shell .pet-nav-avatar-edit{position:absolute;right:2px;top:2px;width:20px;height:20px;border-radius:999px;border:1px solid rgba(43,38,32,.12);background:#fff;color:var(--text-mid);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;opacity:0;transition:opacity .15s,background .15s;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.08)}.dash-shell .pet-nav-avatar-edit:focus-visible,.dash-shell .pet-nav-item:hover .pet-nav-avatar-edit{opacity:1}.dash-shell .pet-nav-avatar-edit:hover{background:var(--cream2);color:var(--text-dark)}.dash-shell .pet-nav-name{font-size:11px;font-weight:500;line-height:1.2;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.dash-shell .pet-nav-add{margin-top:auto;flex-shrink:0}.dash-shell .pet-nav-add span:first-child{width:44px;height:44px;border-radius:14px;border:1.5px dashed rgba(43,38,32,.18);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--text-soft);background:#fff}.dash-shell .main{flex:1;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.dash-shell .content{padding:28px 40px 48px;max-width:none;width:100%;box-sizing:border-box;min-width:0}.dash-shell .page-tabs{display:flex;gap:0;border-bottom:1px solid var(--beige-light);background:var(--white);padding:0 40px;overflow-x:auto;margin:0;flex-shrink:0;position:sticky;top:0;z-index:39}.dash-shell .page-tab{padding:14px 20px;font-size:13px;color:var(--text-soft);cursor:pointer;transition:all .2s;white-space:nowrap;font-family:var(--font-dm-sans),system-ui,sans-serif;background:none;border:none;border-bottom:2px solid transparent}.dash-shell .page-tab.active{color:var(--sage-dark);border-bottom-color:var(--sage)}.dash-shell .page-tab.lost-alert{color:#c45c3e;font-weight:600}.dash-shell .page-tab.lost-alert.active{color:#c45c3e;border-bottom-color:#e8715a}.dash-shell .section{display:none}.dash-shell .section.active{display:block}.dash-shell .hero-card{background:var(--white);border-radius:var(--radius-xl);padding:28px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-bottom:24px;border:1px solid var(--beige-light)}.dash-shell .overview-top-row{align-items:stretch}.dash-shell .overview-top-row>.hero-card{margin-bottom:0;height:100%;min-height:100%;box-sizing:border-box}.dash-shell .overview-top-row>.nfc-dash-card{margin-bottom:0;height:100%;display:flex;flex-direction:column;justify-content:center}.dash-shell .pet-avatar-wrap{position:relative}.dash-shell .pet-avatar{position:relative;width:110px;height:110px;border-radius:28px;background:#fff;border:1px solid rgba(43,38,32,.14);display:flex;align-items:center;justify-content:center;font-size:52px;flex-shrink:0;overflow:hidden}.dash-shell .pet-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.dash-shell .pet-avatar-edit{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(43,38,32,.12);background:#fff;color:var(--text-mid);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.1);opacity:0;transition:opacity .15s,background .15s,color .15s}.dash-shell .pet-avatar-edit:focus-visible,.dash-shell .pet-avatar-wrap:hover .pet-avatar-edit{opacity:1}.dash-shell .pet-avatar-edit:hover{background:var(--cream2);color:var(--text-dark)}.dash-shell .pet-status-badge{position:absolute;bottom:-6px;right:-6px;background:var(--white);border:2px solid var(--sage-light);border-radius:12px;padding:4px 10px;font-size:11px;color:var(--sage-dark);font-weight:500}.dash-shell .pet-info-heading{margin-bottom:4px}.dash-shell .pet-info-actions,.dash-shell .pet-info-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.dash-shell .pet-info h2{font-family:var(--font-fraunces),Georgia,serif;font-size:28px;font-weight:400;color:var(--text-dark);margin:0}.dash-shell .pet-edit-trigger{border:none;background:transparent;padding:0;font-size:12px;color:var(--text-soft);cursor:pointer;text-decoration:none}.dash-shell .pet-edit-trigger:hover{color:var(--text-mid);text-decoration:underline}.dash-shell .pet-age-line{margin:0 0 4px;font-size:13px;color:var(--text-mid)}.dash-shell .pet-breed-line{margin:0 0 12px;font-size:13px;color:var(--text-mid)}.dash-shell .pet-traits{display:flex;flex-wrap:wrap;gap:8px}.dash-shell .pet-trait{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;font-size:12px;color:var(--text-mid);background:var(--cream2);border:1px solid var(--beige-light)}.dash-shell .pet-meta{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.dash-shell .pet-meta-pill{background:var(--cream2);border-radius:8px;padding:4px 12px;font-size:12px;color:var(--text-mid);display:flex;align-items:center;gap:5px}.dash-shell .wellness-ring{text-align:center;padding:8px 20px}.dash-shell .wellness-score{font-family:var(--font-fraunces),Georgia,serif;font-size:42px;font-weight:300;color:var(--sage-dark);line-height:1}.dash-shell .wellness-label{font-size:11px;color:var(--text-soft);margin-top:4px}.dash-shell .wellness-sub{font-size:12px;color:var(--sage);margin-top:2px}.dash-shell .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.dash-shell .stat-card{display:flex;align-items:center;gap:18px;background:var(--white);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--beige-light);transition:transform .15s;min-height:96px}.dash-shell .stat-card:hover{transform:translateY(-2px)}.dash-shell .stat-icon{font-size:22px;line-height:1;flex-shrink:0}.dash-shell .stat-body{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start}.dash-shell .stat-lbl{font-size:11px;color:var(--text-soft);line-height:1.3;order:1}.dash-shell .stat-val{font-family:var(--font-fraunces),Georgia,serif;font-size:22px;font-weight:400;color:var(--text-dark);line-height:1.2;margin-top:4px;order:2}.dash-shell .stat-change{font-size:11px;margin-top:auto;padding-top:8px;order:3}.dash-shell .stat-change.up{color:#8fae8b}.dash-shell .stat-change.warn{color:var(--peach)}.dash-shell .two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.dash-shell .assessment-dash-card{margin-bottom:24px;padding:14px 16px}.dash-shell .assessment-dash-card .card-eyebrow{margin-bottom:6px}.dash-shell .assessment-dash-empty{margin:0 0 8px;font-size:.82rem;line-height:1.4;color:var(--charcoal-soft,#6b5544)}.dash-shell .assessment-dash-cta{display:inline-flex;padding:6px 12px;font-size:.8rem}.dash-shell .assessment-dash-list{display:flex;flex-direction:column;gap:0;margin-top:2px}.dash-shell .assessment-dash-row{padding:8px 0;border-bottom:1px solid var(--cream2,#f1e7d8)}.dash-shell .assessment-dash-row.is-last{padding-bottom:0;border-bottom:0}.dash-shell .assessment-dash-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dash-shell .assessment-dash-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 10rem}.dash-shell .assessment-dash-icon{font-size:1.15rem;line-height:1;flex-shrink:0}.dash-shell .assessment-dash-text{min-width:0}.dash-shell .assessment-dash-name{font-weight:650;font-size:.92rem;line-height:1.25;color:var(--text-dark,#2b2620)}.dash-shell .assessment-dash-meta{font-size:.72rem;color:var(--charcoal-soft,#6b5544);margin-top:1px}.dash-shell .assessment-dash-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto}.dash-shell .assessment-dash-link,.dash-shell .assessment-dash-link-btn{font-size:.78rem;color:var(--charcoal-soft,#6b5544);text-decoration:underline;background:transparent;border:0;cursor:pointer;padding:0}.dash-shell .assessment-dash-link-btn.is-danger{color:#9a4f3f}.dash-shell .assessment-dash-prompt{margin:6px 0 0;font-size:.78rem;line-height:1.4;color:var(--charcoal-soft,#6b5544)}.dash-shell .assessment-dash-error{margin:4px 0 0;font-size:.75rem;color:#9a4f3f}.dash-shell .card{background:var(--white);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--beige-light)}.dash-shell .card-title{font-family:var(--font-fraunces),Georgia,serif;font-size:15px;font-weight:400;color:var(--text-dark);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.dash-shell .card-title-icon{font-size:16px;margin-right:6px}.dash-shell .see-all{font-size:12px;color:var(--dusty-blue);text-decoration:none;cursor:pointer;background:none;border:none;font-family:var(--font-dm-sans),system-ui,sans-serif}.dash-shell .reminder-scroll{max-height:245px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.dash-shell .recent-updates-scroll{max-height:280px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.dash-shell .recent-updates-scroll::-webkit-scrollbar,.dash-shell .reminder-scroll::-webkit-scrollbar{width:6px}.dash-shell .recent-updates-scroll::-webkit-scrollbar-thumb,.dash-shell .reminder-scroll::-webkit-scrollbar-thumb{background:var(--beige-light);border-radius:3px}.dash-shell .reminder-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--cream2)}.dash-shell .reminder-item:last-child:not(:only-child){border-bottom:none;padding-bottom:0}.dash-shell .reminder-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dash-shell .reminder-type-icon{width:24px;flex-shrink:0;font-size:16px;line-height:1;text-align:center}.dash-shell .reminder-dot.green{background:var(--sage)}.dash-shell .reminder-dot.orange{background:var(--peach)}.dash-shell .reminder-dot.blue{background:var(--dusty-blue)}.dash-shell .reminder-text{flex:1}.dash-shell .reminder-name{font-size:13px;color:var(--text-dark);font-weight:500}.dash-shell .reminder-date{font-size:11px;color:var(--text-soft)}.dash-shell .reminder-tag{font-size:10px;padding:3px 8px;border-radius:6px;font-weight:500}.dash-shell .tag-soon{background:#fff0eb;color:var(--peach)}.dash-shell .tag-ok{background:#edf5ec;color:var(--sage-dark)}.dash-shell .tag-new{background:var(--dusty-blue-soft);color:var(--dusty-blue)}.dash-shell .update-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--cream2)}.dash-shell .update-item:last-child{border-bottom:none;padding-bottom:0}.dash-shell .update-icon-wrap{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.dash-shell .update-body{flex:1}.dash-shell .update-body p{font-size:13px;color:var(--text-dark);line-height:1.5}.dash-shell .update-body span{font-size:11px;color:var(--text-soft)}.dash-shell .upload-zone{border:1.5px dashed var(--beige);border-radius:var(--radius-lg);padding:36px;text-align:center;background:var(--cream2);cursor:pointer;transition:all .2s;margin-bottom:24px}.dash-shell .upload-zone:hover{border-color:var(--sage);background:#edf5ec}.dash-shell .upload-zone-icon{font-size:36px;margin-bottom:10px;color:var(--beige)}.dash-shell .upload-zone h3{font-family:var(--font-fraunces),Georgia,serif;font-weight:400;font-size:17px;color:var(--text-mid);margin-bottom:4px}.dash-shell .upload-zone p{font-size:12px;color:var(--text-soft)}.dash-shell .upload-cats{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}.dash-shell .upload-cat{padding:5px 14px;border-radius:20px;font-size:11px;border:1px solid var(--beige);background:var(--white);cursor:pointer;transition:all .2s;color:var(--text-mid);font-family:inherit}.dash-shell .upload-cat:hover{border-color:var(--sage);color:var(--sage-dark)}.dash-shell .records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.dash-shell .record-card{position:relative;display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-md);padding:16px 16px 40px;border:1px solid var(--beige-light);cursor:default;transition:all .2s}.dash-shell .record-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.06)}.dash-shell .record-edit-btn{position:absolute;bottom:12px;right:14px;z-index:2;border:none;background:transparent;color:var(--warm-brown,#A9895A);font-size:12.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease}.dash-shell .record-card:focus-within .record-edit-btn,.dash-shell .record-card:hover .record-edit-btn,.dash-shell .record-edit-btn:focus-visible{opacity:1;pointer-events:auto}.dash-shell .record-edit-btn:focus-visible,.dash-shell .record-edit-btn:hover{color:var(--text,#2B2620)}.dash-shell .record-card>.record-type{position:absolute;bottom:12px;left:14px;margin-top:0;max-width:calc(100% - 64px)}.dash-shell .record-thumb{position:relative;width:100%;height:135px;border-radius:12px;background:var(--cream2);display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:10px;overflow:hidden}.dash-shell .record-download-btn{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;border:none;margin:0;padding:0;background:rgba(43,38,32,.45);color:#fff;font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease;font-family:var(--font-dm-sans),system-ui,sans-serif}.dash-shell .record-download-btn:focus-visible,.dash-shell .record-thumb:focus-within .record-download-btn,.dash-shell .record-thumb:hover .record-download-btn{opacity:1;pointer-events:auto}.dash-shell .record-name{font-size:13px;font-weight:500;color:var(--text-dark);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-shell .record-meta{font-size:11px;color:var(--text-soft)}.dash-shell .record-type{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:3px 8px;border-radius:6px;margin-top:8px}.dash-shell .type-blood{background:#fff0eb;color:var(--peach)}.dash-shell .type-xray{background:var(--dusty-blue-soft);color:var(--dusty-blue)}.dash-shell .type-vaccine{background:#edf5ec;color:var(--sage-dark)}.dash-shell .type-rx{background:#f5eff9;color:#8b6ab0}.dash-shell .type-notes{background:var(--beige-light);color:var(--warm-brown)}.dash-shell .analyze-btn{width:100%;margin-top:10px;padding:8px;border-radius:10px;border:1px solid var(--sage-light);background:var(--white);color:var(--sage-dark);font-size:12px;cursor:pointer;transition:all .2s;font-family:var(--font-dm-sans),system-ui,sans-serif}.dash-shell .analyze-btn:hover{background:var(--sage-light);color:var(--white)}.dash-shell .ai-header{background:linear-gradient(135deg,var(--sage-light) 0,var(--dusty-blue-soft) 100%);border-radius:var(--radius-xl);padding:28px;margin-bottom:24px;position:relative;overflow:hidden;border:1px solid var(--sage-light)}.dash-shell .ai-header:before{content:"";position:absolute;top:-30px;right:-30px;width:150px;height:150px;background:rgba(255,255,255,.15);border-radius:50%}.dash-shell .ai-header-icon{font-size:32px;margin-bottom:8px}.dash-shell .ai-header h2{font-family:var(--font-fraunces),Georgia,serif;font-size:22px;font-weight:400;color:var(--sage-dark);margin-bottom:4px}.dash-shell .ai-header p{font-size:13px;color:var(--text-mid)}.dash-shell .report-selector{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.dash-shell .report-pill{padding:9px 18px;border-radius:20px;font-size:12px;border:1px solid var(--beige);background:var(--white);cursor:pointer;transition:all .2s;color:var(--text-mid);font-family:var(--font-dm-sans),system-ui,sans-serif}.dash-shell .report-pill.active,.dash-shell .report-pill:hover{background:var(--sage);border-color:var(--sage);color:var(--white)}.dash-shell .ai-chat-wrap{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--beige-light);overflow:hidden;margin-bottom:20px}.dash-shell .ai-chat-body{padding:20px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dash-shell .msg{display:flex;gap:10px;align-items:flex-start}.dash-shell .msg.user{flex-direction:row-reverse}.dash-shell .msg-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px}.dash-shell .msg-avatar.ai{background:var(--sage-light);color:var(--sage-dark)}.dash-shell .msg-avatar.user{background:var(--peach-soft);color:var(--peach)}.dash-shell .msg-bubble{max-width:75%;padding:11px 15px;border-radius:16px;font-size:13px;line-height:1.6}.dash-shell .msg-bubble.ai{background:var(--cream2);color:var(--text-dark);border-bottom-left-radius:4px}.dash-shell .msg-bubble.user{background:var(--sage-light);color:var(--sage-dark);border-bottom-right-radius:4px}.dash-shell .ai-insight-card{border:1px solid var(--sage-light);border-radius:12px;padding:12px 14px;margin-top:6px;background:rgba(143,174,139,.08)}.dash-shell .ai-insight-title{font-size:11px;font-weight:500;color:var(--sage-dark);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.dash-shell .ai-insight-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-mid);padding:4px 0;line-height:1.5}.dash-shell .ai-insight-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:6px}.dash-shell .dot-sage{background:var(--sage)}.dash-shell .dot-peach{background:var(--peach)}.dash-shell .dot-blue{background:var(--dusty-blue)}.dash-shell .ai-chat-input{border-top:1px solid var(--beige-light);padding:14px 16px;display:flex;gap:10px;background:var(--cream2)}.dash-shell .ai-input-field{flex:1;background:var(--white);border:1px solid var(--beige);border-radius:20px;padding:10px 16px;font-size:13px;outline:none;font-family:var(--font-dm-sans),system-ui,sans-serif;color:var(--text-dark)}.dash-shell .ai-input-field::-moz-placeholder{color:var(--text-soft)}.dash-shell .ai-input-field::placeholder{color:var(--text-soft)}.dash-shell .ai-send-btn{width:40px;height:40px;border-radius:50%;background:var(--sage);border:none;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;flex-shrink:0}.dash-shell .ai-send-btn:hover{background:var(--sage-dark)}.dash-shell .typing-indicator{display:flex;align-items:center;gap:5px;padding:4px 0}.dash-shell .typing-dot{width:6px;height:6px;border-radius:50%;background:var(--sage);animation:dashTypingBounce 1.2s infinite}.dash-shell .typing-dot:nth-child(2){animation-delay:.2s}.dash-shell .typing-dot:nth-child(3){animation-delay:.4s}@keyframes dashTypingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.dash-shell .timeline-wrap{position:relative;padding-left:28px}.dash-shell .timeline-wrap:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--sage-light),var(--dusty-blue-light),var(--peach-light))}.dash-shell .timeline-item{position:relative;margin-bottom:20px}.dash-shell .timeline-dot{position:absolute;left:-24px;top:14px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--white);z-index:1}.dash-shell .td-sage{background:var(--sage)}.dash-shell .td-peach{background:var(--peach)}.dash-shell .td-blue{background:var(--dusty-blue)}.dash-shell .td-beige{background:var(--beige)}.dash-shell .timeline-card{position:relative;background:var(--white);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--beige-light);transition:all .2s}.dash-shell .timeline-card:hover{border-color:var(--sage-light)}.dash-shell .tl-date{font-size:10px;color:var(--text-soft);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.dash-shell .tl-title{font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:4px}.dash-shell .tl-desc{font-size:12px;color:var(--text-mid);line-height:1.5}.dash-shell .tl-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:3px 8px;border-radius:6px;margin-top:6px}.dash-shell .milestone-banner{background:linear-gradient(135deg,var(--peach-soft),var(--dusty-blue-soft));border-radius:var(--radius-md);padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:14px;border:1px solid var(--peach-light)}.dash-shell .milestone-icon{font-size:28px}.dash-shell .milestone-text h4{font-family:var(--font-fraunces),Georgia,serif;font-size:14px;font-weight:400;color:var(--text-dark)}.dash-shell .milestone-text p{font-size:12px;color:var(--text-mid);margin-top:2px}.dash-shell .reminders-hero{background:var(--white);border-radius:var(--radius-xl);padding:24px;margin-bottom:20px;border:1px solid var(--beige-light)}.dash-shell .reminders-hero h2{font-family:var(--font-fraunces),Georgia,serif;font-size:20px;font-weight:400;margin-bottom:4px}.dash-shell .reminders-hero p{font-size:13px;color:var(--text-soft);margin-bottom:18px}.dash-shell .reminder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.dash-shell .reminder-big-card{background:var(--cream2);border-radius:var(--radius-md);padding:18px;position:relative;overflow:hidden;transition:all .2s;display:flex;flex-direction:column}.dash-shell .reminder-big-card:hover{transform:translateY(-2px)}.dash-shell .rbc-edit-btn{position:absolute;top:12px;right:14px;z-index:2;border:none;background:transparent;color:var(--warm-brown,#A9895A);font-size:12.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease}.dash-shell .rbc-edit-btn:focus-visible,.dash-shell .reminder-big-card:focus-within .rbc-edit-btn,.dash-shell .reminder-big-card:hover .rbc-edit-btn{opacity:1;pointer-events:auto}.dash-shell .rbc-edit-btn:focus-visible,.dash-shell .rbc-edit-btn:hover{color:var(--text,#2B2620)}.dash-shell .reminder-big-card:after{content:"";position:absolute;bottom:-20px;right:-20px;width:80px;height:80px;border-radius:50%;opacity:.12}.dash-shell .rbc-sage:after{background:var(--sage)}.dash-shell .rbc-peach:after{background:var(--peach)}.dash-shell .rbc-blue:after{background:var(--dusty-blue)}.dash-shell .rbc-beige:after{background:var(--warm-brown)}.dash-shell .rbc-title-block{display:flex;align-items:flex-start;gap:8px;margin-bottom:2px}.dash-shell .rbc-title-lines{min-width:0;flex:1}.dash-shell .rbc-title{font-size:13px;font-weight:500;color:var(--text-dark)}.dash-shell .rbc-type-icon{flex:0 0 auto;font-size:15px;line-height:1.2}.dash-shell .rbc-title-text{min-width:0}.dash-shell .rbc-title-line2,.dash-shell .rbc-title-meta{font-size:11px;font-weight:400;color:var(--text-soft)}.dash-shell .rbc-title-line2{margin-top:2px}.dash-shell .rbc-pet{font-size:11px;color:var(--text-soft);margin-bottom:12px}.dash-shell .rbc-date-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.dash-shell .rbc-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 10px;flex-wrap:wrap}.dash-shell .rbc-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-size:11px;font-weight:500;line-height:1;padding:2px 0;cursor:pointer;transition:color .15s,opacity .15s}.dash-shell .rbc-action-btn:hover:not(:disabled){opacity:.75}.dash-shell .rbc-action-btn:disabled{opacity:.55;cursor:not-allowed}.dash-shell .rbc-action-complete{color:var(--sage-dark)}.dash-shell .rbc-action-reschedule{color:var(--dusty-blue)}.dash-shell .rbc-action-cancel{color:#c45c5c}.dash-shell .rbc-date{font-family:var(--font-fraunces),Georgia,serif;font-size:17px;color:var(--text-dark)}.dash-shell .rbc-badge{font-size:10px;padding:3px 8px;border-radius:6px;font-weight:500}.dash-shell .badge-urgent{background:#fff0eb;color:var(--peach)}.dash-shell .badge-ok{background:#edf5ec;color:var(--sage-dark)}.dash-shell .badge-soon{background:var(--dusty-blue-soft);color:var(--dusty-blue)}.dash-shell .wellness-insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.dash-shell .wi-card{background:var(--white);border-radius:var(--radius-lg);padding:18px;border:1px solid var(--beige-light)}.dash-shell .wi-icon{font-size:24px;margin-bottom:10px}.dash-shell .wi-title{font-size:12px;color:var(--text-soft);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.dash-shell .wi-value{font-family:var(--font-fraunces),Georgia,serif;font-size:26px;font-weight:300;color:var(--text-dark);margin-bottom:4px}.dash-shell .wi-note{font-size:11px;color:var(--text-mid);line-height:1.5}.dash-shell .mini-chart{height:40px;margin-top:10px;display:flex;align-items:flex-end;gap:4px}.dash-shell .mini-bar{flex:1;border-radius:3px 3px 0 0;transition:height .3s}.dash-shell .b-sage{background:var(--sage-light)}.dash-shell .b-peach{background:var(--peach-light)}.dash-shell .tip-section{background:var(--white);border-radius:var(--radius-xl);padding:24px;border:1px solid var(--beige-light)}.dash-shell .tip-section h3{font-family:var(--font-fraunces),Georgia,serif;font-size:18px;font-weight:400;margin-bottom:16px}.dash-shell .tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-shell .tip-card{padding:16px;border-radius:var(--radius-md);border:1px solid transparent}.dash-shell .tc-sage{background:#edf5ec;border-color:var(--sage-light)}.dash-shell .tc-peach{background:var(--peach-soft);border-color:var(--peach-light)}.dash-shell .tc-blue{background:var(--dusty-blue-soft);border-color:var(--dusty-blue-light)}.dash-shell .tc-beige{background:var(--beige-light);border-color:var(--beige)}.dash-shell .tip-card-icon{font-size:18px;margin-bottom:6px}.dash-shell .tip-card h4{font-size:13px;font-weight:500;color:var(--text-dark);margin-bottom:4px}.dash-shell .tip-card p{font-size:12px;color:var(--text-mid);line-height:1.5}.dash-shell .fade-in{animation:dashFadeIn .4s ease both}@keyframes dashFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.dash-shell .sidebar{width:72px}.dash-shell .sidebar-logo{height:64px}.dash-shell .sidebar-logo-img{width:52px}.dash-shell .pet-nav-add,.dash-shell .pet-nav-item{width:60px}.dash-shell .pet-nav-add span:first-child,.dash-shell .pet-nav-avatar{width:38px;height:38px;font-size:18px}.dash-shell .pet-nav-name{font-size:10px;max-width:56px}.dash-shell .content{padding:16px}.dash-shell .hero-card{grid-template-columns:auto 1fr;gap:14px}.dash-shell .wellness-ring{display:none}.dash-shell .stats-row{grid-template-columns:repeat(2,1fr)}.dash-shell .two-col{grid-template-columns:1fr}.dash-shell .overview-top-row>.hero-card{margin-bottom:0}.dash-shell .wellness-insights-grid{grid-template-columns:1fr 1fr}.dash-shell .tips-grid{grid-template-columns:1fr}.dash-shell .topbar{padding:12px 16px}.dash-shell .page-tab{padding:12px 14px;font-size:12px}.dash-shell .page-tabs{padding:0 16px}}.dash-shell .dash-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:10px}.dash-shell .dash-greeting{font-family:var(--font-fraunces),Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.3px}.dash-shell .dash-greeting-sub{font-size:13.5px;color:var(--text-soft);margin-top:2px}.dash-shell .dash-date{text-align:right;font-size:12.5px;color:var(--text-mid)}.dash-shell .dash-weekday{font-family:var(--font-fraunces),Georgia,serif;font-size:19px;display:block;color:var(--text-soft)}.dash-shell .dash-date-full{display:block;margin-top:2px}.dash-shell .dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-shell .card-eyebrow{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);margin-bottom:14px}.dash-shell .card-eyebrow--inline{margin-bottom:0}.dash-shell .card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dash-shell .card-sage{background:#edf5ec;border-color:transparent}.dash-shell .card-peach{background:var(--peach-soft);border-color:transparent}.dash-shell .mood-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.dash-shell .mood-btn{flex:unset;min-width:0;padding:8px 2px;border:1.5px solid var(--beige);border-radius:11px;background:#fff;cursor:pointer;text-align:center;font-size:11.5px;line-height:1.25;transition:all .2s;font-family:var(--font-dm-sans),system-ui,sans-serif;color:var(--text-soft)}.dash-shell .mood-btn.on,.dash-shell .mood-btn:hover{border-color:var(--peach);background:var(--peach-soft);color:var(--warm-brown)}.dash-shell .mood-emoji{font-size:19px;display:block;margin-bottom:3px}.dash-shell .hbars{display:flex;flex-direction:column;gap:9px}.dash-shell .hbar-row{display:flex;align-items:center;gap:9px;font-size:13px}.dash-shell .hbar-lbl{width:66px;color:var(--text-soft);font-size:12px;flex-shrink:0}.dash-shell .hbar-bg{flex:1;height:5px;background:var(--beige);border-radius:10px;overflow:hidden;position:relative}.dash-shell .hbar-bg--interactive{height:14px;overflow:visible;cursor:pointer;touch-action:none;display:flex;align-items:center;background:transparent}.dash-shell .hbar-bg--interactive:before{content:"";position:absolute;inset:50% 0 auto;height:6px;border-radius:10px;background:var(--beige);transform:translateY(-50%)}.dash-shell .hbar-bg--interactive .hbar-fill{height:6px;position:relative;z-index:1;pointer-events:none}.dash-shell .hbar-thumb{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 2px #fff;pointer-events:none}.dash-shell .hbar-fill{height:100%;border-radius:10px}.dash-shell .hbar-val{font-size:11.5px;color:var(--text-mid);width:36px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.dash-shell .feed-list{display:flex;flex-direction:column;gap:7px}.dash-shell .feed-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:11px;background:var(--cream2);font-size:13.5px}.dash-shell .feed-item.done .feed-title{color:var(--text-soft);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text-soft) 55%,transparent)}.dash-shell .feed-title{flex:1;min-width:0;color:var(--text-dark)}.dash-shell .feed-empty{margin:0;font-size:12.5px;color:var(--text-soft);padding:4px 2px}.dash-shell .feed-chk{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--beige);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:10px;transition:all .2s;background:#fff;padding:0}.dash-shell .feed-chk.ok{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.dash-shell .feed-time{font-size:11.5px;color:var(--text-mid);margin-left:auto}.dash-shell .dash-visit-date{font-family:var(--font-fraunces),Georgia,serif;font-size:21px;color:var(--warm-brown)}.dash-shell .dash-visit-detail{font-size:13px;color:var(--text-soft);margin-top:4px;line-height:1.5}.dash-shell .dash-visit-title{color:var(--text-mid);font-weight:500}.dash-shell .dash-visit-remarks{opacity:.9}.dash-shell .dash-visit-countdown{margin-top:12px;font-size:12px;font-weight:500;color:var(--sage-dark)}.dash-shell .dash-ai-tip{font-size:13.5px;color:var(--text-soft);line-height:1.55}.dash-shell .dash-ai-btn{margin-top:12px;background:var(--peach);border:none;padding:7px 15px;border-radius:20px;font-size:12.5px;color:#fff;cursor:pointer;font-family:var(--font-dm-sans),system-ui,sans-serif}.dash-shell .prof-hero{background:linear-gradient(135deg,var(--warm-brown) 0,#4a2e22 100%);border-radius:24px;padding:32px;margin-bottom:18px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden}.dash-shell .prof-hero:before{content:"";position:absolute;right:-24px;top:-24px;width:180px;height:180px;border-radius:50%;background:rgba(232,169,138,.1)}.dash-shell .prof-big-av{width:82px;height:82px;border-radius:50%;background:var(--peach-soft);display:flex;align-items:center;justify-content:center;font-size:40px;border:2.5px solid rgba(250,247,242,.18);flex-shrink:0;overflow:hidden}.dash-shell .prof-big-av-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dash-shell .prof-info h2{font-family:var(--font-fraunces),Georgia,serif;font-size:30px;color:#faf7f2;letter-spacing:-.5px}.dash-shell .prof-breed-line{font-size:13.5px;color:rgba(250,247,242,.6);margin:3px 0 12px}.dash-shell .prof-tags{display:flex;gap:7px;flex-wrap:wrap}.dash-shell .prof-tag{padding:5px 11px;border-radius:20px;background:rgba(250,247,242,.12);color:rgba(250,247,242,.82);font-size:11.5px;border:1px solid rgba(250,247,242,.18)}.dash-shell .prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:18px}.dash-shell .prof-stat-card{background:#fff;border-radius:15px;padding:16px 14px;text-align:center;border:1px solid rgba(139,111,94,.08)}.dash-shell .prof-stat-val{font-family:var(--font-fraunces),Georgia,serif;font-size:24px;color:var(--text-dark)}.dash-shell .prof-stat-unit{font-size:14px}.dash-shell .prof-stat-lbl{font-size:11.5px;color:var(--text-mid);margin-top:2px}.dash-shell .prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-shell .info-list{display:flex;flex-direction:column}.dash-shell .info-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--cream2);font-size:13.5px}.dash-shell .info-row:last-child{border-bottom:none}.dash-shell .info-k{color:var(--text-mid);font-size:12.5px}.dash-shell .info-v{font-weight:500}.dash-shell .mem-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:12px;flex-wrap:wrap}.dash-shell .mem-title{font-family:var(--font-fraunces),Georgia,serif;font-size:26px}.dash-shell .mem-sub{font-size:13.5px;color:var(--text-soft);margin-top:4px}.dash-shell .mem-add-btn{border:none;padding:9px 18px;border-radius:24px;font-size:13px;font-family:var(--font-dm-sans),system-ui,sans-serif;cursor:pointer;background:var(--warm-brown);color:#faf7f2;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}.dash-shell .tl-month{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);margin:22px 0 12px}.dash-shell .tl-month:first-of-type{margin-top:0}.dash-shell .mem-entry{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--cream2)}.dash-shell .mem-entry:last-child{border-bottom:none}.dash-shell .mem-entry-main{display:flex;gap:15px;flex:1;min-width:0}.dash-shell .mem-day{font-family:var(--font-fraunces),Georgia,serif;font-size:21px;color:var(--text-mid);width:30px;flex-shrink:0;line-height:1}.dash-shell .mem-content{flex:1;min-width:0}.dash-shell .mem-edit-btn{position:absolute;top:12px;right:14px;z-index:2;border:none;background:transparent;color:var(--warm-brown,#A9895A);font-size:12.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease}.dash-shell .mem-edit-btn:focus-visible,.dash-shell .timeline-card:focus-within .mem-edit-btn,.dash-shell .timeline-card:hover .mem-edit-btn{opacity:1;pointer-events:auto}.dash-shell .mem-edit-btn:focus-visible,.dash-shell .mem-edit-btn:hover{color:var(--text,#2B2620)}.dash-shell .mem-content h4{font-size:14.5px;font-weight:500;margin-bottom:4px}.dash-shell .mem-content p{font-size:13px;color:var(--text-soft);line-height:1.55}.dash-shell .mem-photos{display:flex;gap:7px;margin-top:10px}.dash-shell .mem-photo{width:64px;height:64px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:25px}.dash-shell .mem-tags{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.dash-shell .mem-tag{font-size:10.5px;padding:2px 9px;border-radius:20px;background:var(--cream2);color:var(--text-mid);font-weight:500}.dash-shell .mem-timeline .tl-month{position:relative;margin:20px 0;padding-left:0}.dash-shell .mem-timeline .tl-month:first-of-type{margin-top:0}.dash-shell .mem-timeline .mem-entry{border-bottom:none;padding:0;align-items:flex-start}.dash-shell .mem-timeline .mem-entry-main{flex:2 1 0;min-width:0}.dash-shell .mem-timeline .mem-photos{flex:1 1 0;margin-top:0;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;min-width:0}.dash-shell .mem-timeline .mem-photo{width:auto;height:auto;max-width:160px;max-height:100px;border-radius:16px;font-size:50px}.dash-shell .mem-timeline .mem-photo:not(:has(.mem-photo-img)){width:100px;height:100px}.dash-shell .mem-photo{overflow:hidden;background:var(--cream2)}.dash-shell .mem-photo-img{width:auto;height:auto;max-width:160px;max-height:100px;-o-object-fit:contain;object-fit:contain;display:block}.dash-shell .mem-timeline>:last-child .timeline-item:last-child{margin-bottom:0}@media (max-width:700px){.dash-shell .dash-grid,.dash-shell .prof-grid,.dash-shell .prof-stats{grid-template-columns:1fr}.dash-shell .mood-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-shell .mood-btn{min-width:0;flex:unset}}