:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:13px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width>=768px){:root{font-size:15px}}@media (width>=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}*,:before,:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}h1,h2,h3{color:var(--text-h)}.app{max-width:1200px;margin:0 auto;padding:1rem;overflow-x:hidden}@media (width>=1024px){.app{padding:2rem}}.app-header h1{margin:0 0 1.25rem;font-size:1.4rem}@media (width>=768px){.app-header h1{margin:0 0 2rem;font-size:1.8rem}}.alert-banner{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;gap:.65rem;margin-bottom:1.25rem;padding:.65rem .85rem;display:flex}.alert-banner-icon{color:#fff;background:#f59e0b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;margin-top:.1rem;font-size:.82rem;font-weight:700;display:flex}.alert-banner-content p{color:#92400e;margin:.15rem 0;font-size:.85rem}.alert-overdue{font-weight:500}@media (prefers-color-scheme:dark){.alert-banner{background:#3b2f1a;border-color:#92400e}.alert-banner-content p{color:#fcd34d}}.section-heading{margin:0 0 .75rem;font-size:1.05rem}@media (width>=768px){.section-heading{margin:0 0 1rem;font-size:1.2rem}}.pet-tiles{grid-template-columns:1fr;gap:.6rem;margin-bottom:1.25rem;display:grid}@media (width>=768px){.pet-tiles{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}}@media (width>=1024px){.pet-tiles{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}}.pet-tile{border:1px solid var(--border);color:inherit;border-radius:12px;flex-direction:column;padding:12px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex}.pet-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.pet-tile-header{align-items:center;gap:.6rem;display:flex}.pet-tile-photo img{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.pet-tile-placeholder{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:600;display:flex}.pet-tile-info{flex:1;min-width:0}.pet-tile-info h3{color:var(--text-h);margin:0 0 .1rem;font-size:.95rem;line-height:1.2}.pet-tile-breed{color:var(--text);margin:0;font-size:.8rem;line-height:1.3}.pet-tile-age{color:var(--text);margin:.05rem 0 0;font-size:11px}.pet-tile-chevron{color:var(--text);flex-shrink:0;font-size:1.3rem;line-height:1}.pet-tile-stats{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.45rem .75rem;margin-top:.6rem;padding-top:.6rem;display:grid}.pet-tile-stat{flex-direction:column;gap:.05rem;min-width:0;display:flex}.pet-tile-stat-label{color:var(--text);font-size:11px;line-height:1.3}.pet-tile-stat-value{color:var(--text-h);font-size:13px;font-weight:500;line-height:1.3}.status-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;margin-top:.3rem;padding:.12rem .45rem;font-size:.65rem;font-weight:600;display:inline-block}.status-tag--green{color:#166534;background:#dcfce7}.status-tag--amber{color:#92400e;background:#fef3c7}.status-tag--red{color:#b91c1c;background:#fde2e2}.status-tag--blue{color:#1e40af;background:#dbeafe}.status-tag--gray{color:#6b7280;background:#f3f4f6}@media (prefers-color-scheme:dark){.status-tag--green{color:#86efac;background:#14332a}.status-tag--amber{color:#fcd34d;background:#3b2f1a}.status-tag--red{color:#fca5a5;background:#451a1a}.status-tag--blue{color:#93c5fd;background:#1e2a4a}.status-tag--gray{color:#9ca3af;background:#1f2937}}.spending-total-line{color:var(--text);margin:0 0 .75rem;font-size:.85rem}.spending-chart-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}@media (width>=1024px){.spending-chart-section{margin-top:2rem;padding-top:2rem}}.spending-chart{flex-direction:column;gap:.5rem;display:flex}.spending-chart-row{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.25rem .5rem;display:grid}.spending-chart-label{color:var(--text-h);grid-area:1/1;font-size:.88rem;font-weight:500}.spending-chart-amount{flex-shrink:0;grid-area:1/2;align-items:center;gap:.4rem;display:flex}.spending-chart-bar-wrap{background:var(--code-bg);border-radius:4px;grid-area:2/1/auto/-1;height:16px;overflow:hidden}.spending-chart-bar{border-radius:4px;min-width:4px;height:100%;transition:width .3s}.spending-chart-value{color:var(--text-h);font-size:.85rem;font-weight:500}.spending-chart-pct{color:var(--text);font-size:.78rem}@media (width>=768px){.spending-chart-row{align-items:center;gap:.75rem;display:flex}.spending-chart-label{flex-shrink:0;width:6rem}.spending-chart-bar-wrap{flex:1;height:18px}}.global-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}@media (width>=1024px){.global-section{margin-top:2rem;padding-top:2rem}}.global-info{flex-direction:column;gap:.75rem;display:flex}@media (width>=1024px){.global-info{flex-direction:row;gap:1.5rem}}.global-card{border:1px solid var(--border);border-radius:10px;flex:1;padding:12px}@media (width>=1024px){.global-card{padding:20px}}.global-card h3{color:var(--text-h);margin:0 0 .65rem;font-size:.98rem}@media (width>=1024px){.global-card h3{margin:0 0 .75rem;font-size:1.05rem}}.global-card p{margin:.2rem 0;font-size:.88rem}.meta-detail{color:var(--text);font-size:.85rem}.preventatives-list{margin:0;padding:0;list-style:none}.preventative-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.65rem;padding:.4rem 0;display:flex}.preventative-item:last-child{border-bottom:none}.preventative-info{flex-direction:column;min-width:0;display:flex}.preventative-product{color:var(--text-h);font-size:.88rem;font-weight:500}.preventative-detail{color:var(--text);font-size:.78rem}.frequency-tag{background:var(--code-bg);color:var(--text);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;flex-shrink:0;padding:.12rem .45rem;font-size:.7rem;font-weight:600}.insurance-per-pet-note{color:var(--text);margin:.5rem 0 0;font-size:.8rem;font-style:italic}.emergency-info{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.emergency-label{text-transform:uppercase;letter-spacing:.06em;color:#b91c1c;margin:0 0 .25rem;font-size:.7rem;font-weight:700}@media (prefers-color-scheme:dark){.emergency-label{color:#fca5a5}}.preventatives-missing-note{color:#92400e;background:#fef3c7;border-radius:6px;margin:.6rem 0 0;padding:.4rem .6rem;font-size:.8rem}@media (prefers-color-scheme:dark){.preventatives-missing-note{color:#fcd34d;background:#3b2f1a}}.pet-detail{max-width:900px}.back-link{color:var(--text);margin-bottom:.85rem;font-size:.88rem;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.pet-detail-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.pet-detail-header h2{margin:0;font-size:1.35rem}@media (width>=768px){.pet-detail-header h2{font-size:1.6rem}}.pet-detail-subtitle{color:var(--text);margin:.15rem 0 0;font-size:.88rem}.pet-detail-avatar img{object-fit:cover;border-radius:50%;width:44px;height:44px}@media (width>=768px){.pet-detail-avatar img{width:56px;height:56px}}.pet-detail-avatar-placeholder{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:600;display:flex}@media (width>=768px){.pet-detail-avatar-placeholder{width:56px;height:56px;font-size:1.5rem}}.tab-nav-wrap{position:relative}.tab-nav-wrap:after{content:"";background:linear-gradient(to right, transparent, var(--bg));pointer-events:none;width:32px;position:absolute;top:0;bottom:2px;right:0}.tab-nav{border-bottom:2px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;margin-bottom:1.25rem;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}@media (width>=768px){.tab-nav{gap:.25rem;margin-bottom:1.5rem}}.tab-button{cursor:pointer;color:var(--text);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-2px;padding:.45rem .7rem;font-size:.82rem;transition:color .15s}@media (width>=768px){.tab-button{padding:.5rem 1rem;font-size:.95rem}}.tab-button:hover{color:var(--text-h)}.tab-button.active{color:var(--text-h);border-bottom-color:var(--accent);font-weight:600}.tab-profile{flex-direction:column;gap:1rem;display:flex}@media (width>=600px){.tab-profile{flex-direction:row;gap:2rem}}.profile-photo img{object-fit:cover;border-radius:12px;width:110px;height:110px}@media (width>=600px){.profile-photo img{width:180px;height:180px}}.profile-placeholder{background:var(--code-bg);width:110px;height:110px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;font-size:3rem;font-weight:600;display:flex}@media (width>=600px){.profile-placeholder{width:180px;height:180px;font-size:4rem}}.profile-right{flex-direction:column;flex:1;gap:1.5rem;min-width:0;display:flex}.profile-fields{text-align:left;grid-template-columns:auto 1fr;gap:.35rem 1.25rem;display:grid}.profile-fields dt{color:var(--text);font-size:.85rem;font-weight:600}.profile-fields dd{color:var(--text-h);margin:0;font-size:.85rem}@media (width>=768px){.profile-fields dt,.profile-fields dd{font-size:.95rem}}.profile-insurance{border-top:1px solid var(--border);padding-top:1rem}.profile-insurance-heading{color:var(--text-h);margin:0 0 .6rem;font-size:.95rem}.chart-container{margin-bottom:1.5rem;padding:.5rem 0}.lab-trend{margin-bottom:2rem}.lab-trend h4{color:var(--text-h);margin:0 0 .5rem}.lab-flagged td{color:var(--text-h);font-weight:500}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .55rem;font-size:.82rem}@media (width>=768px){.data-table th,.data-table td{font-size:inherit;padding:.5rem .75rem}}.data-table th{color:var(--text);font-weight:600}.dna-provider{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.25rem;font-size:.78rem;font-weight:600}.dna-summary{color:var(--text);margin:0 0 .5rem;font-size:.88rem;font-style:italic}.dna-section{text-align:left;margin-bottom:1.5rem}.dna-section h4{color:var(--text-h);margin:0 0 .5rem}.dna-section ul{padding:0;list-style:none}.dna-section li{padding:.25rem 0}.dna-vtree{margin-top:.25rem;font-size:.88rem;line-height:1.5}.dna-vt-root{color:var(--accent);padding:.15rem 0 .15rem .25rem;font-weight:700}.dna-vt-level{border-left:2px solid var(--border);margin-left:.6rem;padding-left:1.1rem}.dna-vt-item{margin:.3rem 0;position:relative}.dna-vt-item:before{content:"";border-top:2px solid var(--border);width:.85rem;position:absolute;top:.65em;left:-1.1rem}.dna-vt-label{display:inline}.dna-vt-label--parent{color:#3b82f6;font-weight:600}.dna-vt-label--gp{color:#059669;font-size:.84rem}.dna-vt-label--ggp{color:var(--text);font-size:.8rem;font-style:italic}.dna-supermutt-note{color:var(--text);margin:.75rem 0 0;font-size:.85rem;line-height:1.5}.dna-supermutt-label{color:var(--text-h);font-weight:600}.dna-supermutt-explain{font-style:italic}.lab-preset-bar{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.lab-preset-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.lab-preset-btn:hover{background:var(--code-bg);color:var(--text-h)}.lab-preset-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.marker-selector{grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:.75rem;display:grid}@media (width>=600px){.marker-selector{flex-wrap:wrap;gap:.35rem;display:flex}}.marker-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:0 0;border-radius:20px;padding:.25rem .55rem;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.marker-btn:hover{background:var(--code-bg)}.marker-btn.active{font-weight:600}.visits-section{margin-bottom:1.5rem}.visits-section-heading{color:var(--text-h);margin:0 0 .75rem;font-size:1rem}.event-card-list{flex-direction:column;gap:.5rem;display:flex}.event-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.event-card-header{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.55rem .65rem;font-size:.85rem;display:flex}@media (width>=600px){.event-card-header{flex-wrap:nowrap;gap:.75rem;padding:.65rem .75rem;font-size:.95rem}}.event-card-header:hover{background:var(--code-bg)}.event-card-chevron{text-align:center;width:1rem;color:var(--text);flex-shrink:0}.event-card-name{color:var(--text-h);font-weight:600}.event-card-dates{color:var(--text);font-size:.82rem}.event-card-count{color:var(--text);margin-left:auto;font-size:.82rem}.event-card-tag{text-transform:uppercase;letter-spacing:.03em;background:var(--code-bg);color:var(--text);border-radius:4px;flex-shrink:0;padding:.12rem .45rem;font-size:.72rem;font-weight:600}.event-card-tag--emergency{color:#b91c1c;background:#fde2e2}.event-card-tag--surgery{color:#1e40af;background:#dbeafe}.event-card-tag--illness{color:#92400e;background:#fef3c7}@media (prefers-color-scheme:dark){.event-card-tag--emergency{color:#fca5a5;background:#451a1a}.event-card-tag--surgery{color:#93c5fd;background:#1e2a4a}.event-card-tag--illness{color:#fcd34d;background:#3b2f1a}}.event-card-body{border-top:1px solid var(--border);padding:0 .65rem .65rem}.visit-filter-bar{flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;display:flex}.visit-filter-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:20px;padding:.25rem .6rem;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.visit-filter-btn:hover{background:var(--code-bg);color:var(--text-h)}.visit-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.visit-rows{flex-direction:column;gap:.5rem;display:flex}.visit-row{background:var(--code-bg);border-left:3px solid #0000;border-radius:0 6px 6px 0;padding:.5rem .65rem}.visit-row-line1{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.visit-row-line1-right{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.visit-row-line2{flex-wrap:wrap;gap:.15rem .55rem;margin-top:.2rem;display:flex}.visit-row-date{color:var(--text-h);font-size:.88rem;font-weight:600}.visit-row-clinic{color:var(--text);font-size:.82rem}.visit-row-reason{color:var(--text-h);font-size:.82rem}.visit-row-cost{color:var(--text);font-size:.78rem;font-weight:500}.visit-type-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:.12rem .42rem;font-size:.7rem;font-weight:700}.visit-row-notes{color:var(--text);margin-top:.35rem;font-size:.8rem;line-height:1.5}.visit-notes-toggle{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:.8rem}.vaccines-tab{flex-direction:column;gap:1.25rem;display:flex}.vaccine-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.vaccine-group-header{background:var(--code-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.55rem .75rem;display:flex}.vaccine-group-toggle{cursor:pointer;text-align:left;border:none;width:100%}.vaccine-group-header-right{align-items:center;gap:.5rem;display:flex}.vaccine-group-chevron{color:var(--text);font-size:.85rem}.vaccine-group-name{color:var(--text-h);font-size:.92rem;font-weight:600}.financials-tab{text-align:left}.financials-summary{gap:.75rem;margin-bottom:1.5rem;display:flex}.financials-stat{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:.65rem;display:flex}.financials-stat-label{color:var(--text);margin-bottom:.25rem;font-size:.78rem}.financials-stat-value{color:var(--text-h);font-size:1.15rem;font-weight:700}@media (width>=768px){.financials-stat-value{font-size:1.3rem}}.financials-section{margin-bottom:1.5rem}.financials-section h4{color:var(--text-h);margin:0 0 .5rem}.med-filter-bar{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.med-section{margin-bottom:1.5rem}.med-section-heading{color:var(--text-h);margin:0 0 .5rem;font-size:1rem}.empty{color:var(--text);font-style:italic}.lab-marker-toggle-row{margin-bottom:.5rem}.lab-marker-toggle-btn{cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem 0;font-size:.82rem;display:flex}.lab-marker-toggle-btn:hover{color:var(--text-h)}@media (width<=599px){.data-table-responsive thead{display:none}.data-table-responsive tbody tr{background:var(--code-bg);border-radius:6px;margin-bottom:.5rem;padding:.5rem .6rem;display:block}.vaccine-group .data-table-responsive tbody tr{border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin-bottom:0;padding:.4rem .6rem}.vaccine-group .data-table-responsive tbody tr:last-child{border-bottom:none}.data-table-responsive tbody td{text-align:left;border:none;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.18rem 0;font-size:.82rem;display:flex}.data-table-responsive tbody td:before{content:attr(data-label);color:var(--text);flex-shrink:0;min-width:7rem;font-weight:600}.data-table-responsive tbody td+td{border-top:1px solid var(--border);padding-top:.22rem}.vaccine-group .data-table-responsive tbody td+td{border-top:none}}.lab-panel{border-bottom:1px solid var(--border)}.lab-panel-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.65rem 0;display:flex}.lab-panel-header:hover .lab-panel-name{color:var(--accent)}.lab-panel-title{flex-direction:column;gap:.1rem;display:flex}.lab-panel-name{color:var(--text-h);font-size:.9rem;font-weight:600}.lab-panel-date{color:var(--text);font-size:.78rem}.lab-panel-meta{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.lab-panel-count{color:var(--text);font-size:.75rem}.lab-panel-flags{color:#ef4444;background:#ef44441f;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:600}.lab-panel-chevron{color:var(--text);font-size:.85rem}.dna-breed-pills{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.dna-breed-pill{color:#0d9488;background:#14b8a61f;border:1px solid #14b8a659;border-radius:999px;padding:.2rem .65rem;font-size:.82rem;font-weight:500}
