@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/nunito-sans-latin-500-normal-DlmaWqTx.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/nunito-sans-latin-800-normal-MgCk9Q3Y.woff2) format("woff2")}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;background-color:var(--ps-background);color:var(--ps-text-primary)}a{color:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--ps-focus-outline);outline-offset:3px}.desktop-sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:var(--ps-surface);border-right:1px solid var(--ps-border);z-index:10}.sidebar-inner{display:flex;flex-direction:column;min-height:100dvh;padding:32px 18px 20px}.brand{padding:0 13px 24px}.brand-icon{background:var(--ps-brand-icon-bg);border-radius:12px;color:var(--ps-brand-icon-text);width:40px;height:42px;display:flex;align-items:center;justify-content:center}.brand-dot{color:var(--ps-brand-dot)}.nav-caption{font-size:11px!important;letter-spacing:1.8px;color:var(--ps-text-secondary);padding:0 16px 13px}.nav-link{height:46px;text-decoration:none;display:flex;align-items:center;gap:13px;color:var(--ps-text-secondary);border-radius:9px;margin:4px 0;padding:0 15px;font-size:13px;font-weight:500}.nav-link.active{background:var(--ps-surface-active);color:var(--ps-primary);font-weight:700}.nav-link:hover{background:var(--ps-surface-hover)}.nav-count{margin-left:auto;background:var(--ps-surface-hover);border-radius:5px;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:40px;text-align:center}.app-main{margin-left:238px;min-height:100dvh;background:var(--ps-background)}.topbar{height:76px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:var(--ps-surface);border-bottom:1px solid var(--ps-border)}.mobile-menu{display:none!important}.page-content{max-width:1560px;margin:auto;padding:32px 36px 30px;min-height:calc(100dvh - 130px);background:var(--ps-background)}.footer{display:flex;gap:16px;font-size:10px;color:var(--ps-text-secondary);padding:16px 36px;border-top:1px solid var(--ps-border)}.footer span:last-child{margin-left:auto}.welcome-banner{display:flex;justify-content:space-between;align-items:center;min-height:164px;padding:28px 30px;background:var(--ps-surface-hover);border:1px solid var(--ps-border);border-radius:13px;color:var(--ps-text-primary);margin-bottom:25px;overflow:hidden}.welcome-art{display:flex;flex-direction:column;align-items:center;color:var(--ps-text-secondary);width:220px;flex-shrink:0}.welcome-art span{font-size:10px;letter-spacing:1.5px;margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:27px}.stat-card{display:block;text-decoration:none;padding:21px 20px;background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:12px}.stat-card:hover{border-color:var(--ps-border-hover)}.stat-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--ps-surface-hover)}.green{background:var(--ps-success-soft);color:var(--ps-success)}.amber{background:var(--ps-warning-soft);color:var(--ps-warning)}.blue{background:var(--ps-info-soft);color:var(--ps-info)}.purple{background:var(--ps-secondary-soft);color:var(--ps-secondary)}.stat-value{font-family:var(--ps-font-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:27px!important;font-weight:800!important;letter-spacing:-.8px;margin:12px 0 5px!important;color:var(--ps-text-primary)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:24px;align-items:start}.appointment-row{padding:15px 0;border-bottom:1px solid var(--ps-border)}.appointment-row:last-child{border:0}.time-block{display:flex;flex-direction:column;min-width:45px;color:var(--ps-text-secondary)}.time-block strong{font-size:13px;color:var(--ps-text-primary)}.time-block small{font-size:10px;color:var(--ps-text-secondary);margin-top:4px}.pet-avatar{border-radius:12px!important}.pet-0{background:#f5e9dc!important;color:#ba9164!important}.pet-1{background:#e3edf3!important;color:#809eaf!important}.pet-2{background:#f0e8f2!important;color:#a088af!important}.pet-3{background:#edf0df!important;color:#99a466!important}.text-link{text-decoration:none;color:var(--ps-text-primary)}.text-link:hover{color:var(--ps-primary);text-decoration:underline}.attention-item{display:flex;gap:12px;padding:9px 0 18px}.attention-item+.attention-item{border-top:1px solid var(--ps-border);padding-top:20px}.attention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.attention-dot.amber{background:#c59b50}.attention-dot.purple{background:#aa94c2}.birthday-icon{width:46px;height:46px;background:#faf0e3;color:#bb9660;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.demo-note{padding:0 10px 15px}.table-scroll{overflow-x:auto}.pet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calendar-container{background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:12px;padding:24px}.fc{font-family:inherit;font-size:12px;--fc-border-color: var(--ps-border);--fc-today-bg-color: var(--ps-surface-hover);--fc-now-indicator-color: var(--ps-primary)}.fc .fc-button-primary{background:var(--ps-primary);border-color:var(--ps-primary);text-transform:capitalize;box-shadow:none!important;color:var(--ps-primary-contrast)}.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--ps-primary-dark);border-color:var(--ps-primary-dark)}.fc .fc-toolbar-title{font-size:20px;font-weight:700;color:var(--ps-text-primary)}.fc .fc-timegrid-event{border-radius:6px;padding:4px}.fc .fc-col-header-cell-cushion{padding:10px;color:var(--ps-text-secondary);text-decoration:none}.fc .fc-col-header-cell{color:var(--ps-text-primary)}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:1600px){.page-content{padding-top:40px}.welcome-banner{min-height:180px}.appointment-row{padding:21px 0}}@media(max-width:1200px){.desktop-sidebar{width:214px}.app-main{margin-left:214px}.sidebar-inner{padding-left:12px;padding-right:12px}.page-content{padding:26px 24px}.topbar{padding:0 24px}.stats-grid{gap:12px}.stat-card{padding:18px 15px}.stat-value{font-family:var(--ps-font-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px!important}.dashboard-grid{gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(265px,1fr)}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-art{width:160px}}@media(max-width:950px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.welcome-art{display:none}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.desktop-sidebar{display:none}.app-main{margin-left:0}.mobile-menu{display:inline-flex!important}.topbar{height:64px;padding:0 16px}.page-content{padding:24px 16px}.welcome-banner{padding:23px 20px}.welcome-banner h5{font-size:19px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-value{font-family:var(--ps-font-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:23px!important}.pet-grid,.form-grid{grid-template-columns:1fr}.footer{padding:15px 16px}.footer span:nth-child(2){display:none}.calendar-container{padding:12px 8px}.fc .fc-toolbar{flex-wrap:wrap;gap:10px}.fc .fc-toolbar-title{font-size:15px}.fc .fc-button{font-size:11px}.finance-stats{grid-template-columns:1fr}.appointment-row{gap:10px!important}.appointment-row .pet-avatar{display:none}.appointment-row .MuiChip-root{font-size:10px}.MuiTableCell-root{white-space:nowrap}}[data-color-scheme=dark] .pet-0{background:#5a3a2e!important;color:#d4a573!important}[data-color-scheme=dark] .pet-1{background:#2e3a4a!important;color:#9cb8c8!important}[data-color-scheme=dark] .pet-2{background:#3a324a!important;color:#c3a8c8!important}[data-color-scheme=dark] .pet-3{background:#3a3a2f!important;color:#b3b383!important}[data-color-scheme=dark] .attention-dot.amber{background:#f4b183}[data-color-scheme=dark] .attention-dot.purple{background:#c3b3d8}[data-color-scheme=dark] .birthday-icon{background:#3a322e;color:#d4a573}body,button,input,select,textarea{font-family:var(--ps-font-body)}.brand-icon{color:var(--ps-brand-icon-text);flex-shrink:0}.welcome-art{color:var(--ps-primary)}.brand-name{font-family:var(--ps-font-display)!important;font-weight:500!important}.stat-card,.welcome-banner>div,.form-grid>*,.dashboard-grid>*{min-width:0}.fc{font-size:13px;--fc-event-text-color: var(--ps-event-text)}.fc .fc-button-primary:hover,.fc .fc-button-primary:not(:disabled):active{background:var(--ps-primary-dark);border-color:var(--ps-primary-dark)}.fc .fc-button-primary:focus-visible{outline:3px solid var(--ps-focus-outline);outline-offset:3px}.recharts-wrapper{font-family:var(--ps-font-body);font-variant-numeric:tabular-nums}.recharts-cartesian-axis-tick-value{fill:var(--ps-text-secondary)}.recharts-default-tooltip{background:var(--ps-surface)!important;border-color:var(--ps-border)!important;color:var(--ps-text-primary);font-family:var(--ps-font-body)}.recharts-tooltip-label{color:var(--ps-text-primary)}@media(max-width:700px){.stat-value{font-size:24px!important}.welcome-banner h5{font-size:24px}}.numeric-value{font-family:var(--ps-font-body)!important;font-weight:800!important;font-variant-numeric:tabular-nums}
