*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.inset-0{inset:0}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.min-h-\[60px\]{min-height:60px}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-lg{max-width:32rem}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1\.3fr_1fr_160px_180px\]{grid-template-columns:1.3fr 1fr 160px 180px}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgb(0 0 0/.8)}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-primary{background-color:hsl(var(--primary))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-0{padding-top:0}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--background:0 0% 100%;--foreground:218 24% 16%;--card:0 0% 100%;--card-foreground:218 24% 16%;--muted:210 20% 96%;--muted-foreground:215 12% 48%;--primary:24 86% 46%;--primary-foreground:0 0% 100%;--destructive:0 67% 46%;--destructive-foreground:0 0% 100%;--border:214 20% 89%;--input:214 20% 84%;--ring:24 86% 46%;--radius:8px}*{border-color:hsl(var(--border))}body{min-height:100vh;background:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) minmax(360px,460px);background:#eef1f4}.login-intro{display:flex;flex-direction:column;justify-content:center;padding:8vw;color:#f7f8fa;background:#172a38}.brand-mark,.sidebar-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:#fff;background:#c9641b}.login-intro .brand-mark{margin-bottom:48px}.eyebrow,.login-kicker{color:#b6652e;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-intro .login-kicker{color:#d9a27c}.login-intro h1{max-width:620px;margin:14px 0 20px;font-size:clamp(32px,4vw,58px);font-weight:650;letter-spacing:-.045em;line-height:1.12}.login-copy{max-width:420px;color:#b8c5ce;font-size:15px;line-height:1.8}.login-rule{width:72px;height:2px;margin:42px 0 16px;background:#c9641b}.login-footnote{color:#82929d;font-size:12px}.login-card{align-self:center;margin:32px;border:1px solid #dce1e5;box-shadow:0 20px 60px rgba(25,42,54,.08)}.login-card-header{padding-bottom:18px}.login-card-header .eyebrow{margin-bottom:18px}.field-label{display:block;color:#34414c;font-size:13px;font-weight:600}.field-label input{margin-top:8px}.readonly-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.readonly-info-block{padding:11px 12px;border:1px solid #e8edf0;border-radius:8px;background:#f8faf9}.readonly-info-block span{display:block;color:#7b8992;font-size:12px;line-height:1.4}.readonly-info-block strong,.readonly-link{display:block;margin-top:5px;color:#1b2a35;font-size:14px;font-weight:700;line-height:1.4}.readonly-link{max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.readonly-link:hover{color:#c9641b}.pet-person-link:focus-visible,.readonly-link:focus-visible{outline:2px solid #f2a762;outline-offset:2px}.owned-pet-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.owned-pet-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 8px;border:1px solid #f1dcc7;border-radius:999px;background:#fffaf6;color:#34414c;cursor:pointer;font-size:12px;line-height:1.2;transition:background .16s ease,border-color .16s ease,color .16s ease}.owned-pet-chip:hover{border-color:#e7b886;background:#fff3e8;color:#1f2c36}.owned-pet-chip:focus-visible{outline:2px solid #f2a762;outline-offset:2px}.owned-pet-chip small{color:#b6652e;font-size:11px}.feedback-error{border:1px solid #f2c8c5;background:#fff5f4;color:#ae3e36;font-size:13px;line-height:1.5}.status-badge{border:1px solid transparent;font-weight:650}.status-badge.status-primary{border-color:#f3c37c;background-color:#fff0d2!important;color:#9b5100!important}.status-badge.status-info{border-color:#bcd5ee;background-color:#e2f0ff!important;color:#1d568c!important}.status-badge.status-success{border-color:#b8ddc2;background-color:#e3f5e7!important;color:#26733b!important}.status-badge.status-warning{border-color:#f3cf8d;background-color:#ffedbd!important;color:#8b5700!important}.status-badge.status-reviewing{border-color:#d8c7ec;background-color:#eee2ff!important;color:#66368f!important}.status-badge.status-neutral{border-color:#d9e0e5;background-color:#edf0f2!important;color:#56636e!important}.status-badge.status-danger{border-color:#efc0bd;background-color:#ffe0de!important;color:#a93630!important}.login-card .feedback-error{padding:10px 12px}.admin-shell{min-height:100vh;background:#fff}.admin-layout{width:100%}.admin-layout,.admin-sidebar{display:flex;min-height:100vh}.admin-sidebar{position:sticky;top:0;width:286px;min-width:286px;flex-direction:column;padding:22px 16px;color:#526170;background:#fff;border-right:1px solid #edf0f2;transition:width .18s ease,min-width .18s ease,padding .18s ease}.sidebar-header{display:flex;min-height:40px;align-items:center;gap:12px;padding:0 8px}.sidebar-brand-copy{min-width:0;flex:1}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border:0;border-radius:6px;color:#9aa5ad;background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}.sidebar-toggle:hover{color:#b6652e;background:#fff8f3}.admin-sidebar-collapsed{width:76px;min-width:76px;padding-right:10px;padding-left:10px}.admin-sidebar-collapsed .sidebar-header{justify-content:center;gap:0;padding:0}.admin-sidebar-collapsed .sidebar-brand-copy,.admin-sidebar-collapsed .sidebar-label,.admin-sidebar-collapsed .sidebar-section-label{display:none}.admin-sidebar-collapsed .sidebar-toggle{position:absolute;top:62px;left:50%;transform:translateX(-50%)}.admin-sidebar-collapsed nav{margin-top:28px}.admin-sidebar-collapsed .nav-item{justify-content:center;padding-right:0;padding-left:0}.sidebar-subtitle{color:#98a4af;font-size:11px}.sidebar-section-label{margin:28px 8px 8px;color:#98a4af;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav-item{color:#6c7a88;transition:background .16s ease,color .16s ease}.nav-item:hover{color:#b6652e;background:#fff8f3}.nav-item-active{color:#b6652e;background:#fff0e6;box-shadow:none}.admin-content{min-width:0;flex:1;padding:0 48px 48px}.admin-header{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;border-bottom:1px solid #dce1e5}.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-user-summary{display:flex;min-width:0;align-items:center;gap:8px;margin-right:8px;padding-right:16px;border-right:1px solid #edf0f2}.admin-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;color:#fff;background:#dca77e}.admin-user-copy{display:grid;min-width:0;gap:2px}.admin-user-copy span,.admin-user-copy strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-copy strong{color:#34414c;font-size:12px;font-weight:600}.admin-user-copy span{color:#98a4af;font-size:11px}.breadcrumbs{display:flex;align-items:center;gap:8px;color:#9aa5ad;font-size:12px}.breadcrumbs b{color:#c7ced3;font-size:10px;font-weight:500}.admin-header h1{margin-top:5px;color:#1b2a35;letter-spacing:-.025em}.admin-header .eyebrow{color:#7a8993;letter-spacing:.08em}.admin-feedback{margin-bottom:16px;padding:12px 14px}.admin-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.data-panel,.metric-card,.overview-note{border:1px solid #dce1e5;box-shadow:0 5px 18px rgba(32,49,61,.035)}.metric-card{min-height:124px}.review-metric-card{border-color:#f0c47c;background:#fffaf2;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.review-metric-card:focus-visible,.review-metric-card:hover{border-color:#d8891d;box-shadow:0 8px 24px rgba(201,100,27,.12);outline:none;transform:translateY(-1px)}.review-metric-card .metric-icon{color:#a95c08;background:#ffe9c7}.metric-action{margin-top:5px;color:#a95c08;font-size:11px;font-weight:600}.metric-label{color:#71808b;font-size:12px;font-weight:600}.metric-value{margin-top:10px;color:#1b2a35;font-size:32px;font-weight:650;letter-spacing:-.04em}.metric-icon{display:flex;height:36px;width:36px;align-items:center;justify-content:center;border-radius:7px;color:#c9641b;background:#fff0e6}.overview-note{grid-column:1/-1;margin-top:8px}.operations-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;margin-top:12px}.operations-panel{border:1px solid #dce1e5;box-shadow:0 5px 18px rgba(32,49,61,.035)}.operations-card-header{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:10px}.operations-card-header h3{margin-top:4px;color:#1b2a35;font-size:16px;letter-spacing:-.015em}.panel-kicker{color:#7a8993;font-size:11px;font-weight:700}.panel-icon{display:flex;width:32px;height:32px;flex-shrink:0;align-items:center;justify-content:center;border-radius:8px;color:#c9641b;background:#fff0e6}.growth-summary{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.growth-summary strong{color:#1b2a35;font-size:34px;font-weight:700;letter-spacing:-.04em}.growth-summary span{color:#7a5b32;font-size:12px;font-weight:700}.growth-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;min-height:164px}.growth-day{display:grid;grid-template-rows:110px auto auto;gap:7px;min-width:0;text-align:center}.growth-bar-track{display:flex;align-items:end;justify-content:center;border-radius:8px;background:#f4f6f7;overflow:hidden}.growth-bar{width:100%;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#ffb340,#f48700)}.growth-day span{color:#7a8993;font-size:11px}.growth-day b{color:#1b2a35;font-size:12px}.funnel-list{display:grid;gap:12px}.funnel-row{display:grid;gap:7px}.funnel-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.funnel-row-head span{color:#657580;font-size:13px;font-weight:600}.funnel-row-head strong{color:#1b2a35;font-size:15px;font-weight:700;white-space:nowrap}.funnel-track{height:8px;border-radius:999px;background:#f1f4f6;overflow:hidden}.funnel-fill{height:100%;min-width:4px;border-radius:inherit}.publish-summary{margin-bottom:18px}.publish-bar{background:linear-gradient(180deg,#7db0dd,#4d88c7)}.tone-orange{background:#f48700}.tone-blue{background:#4d88c7}.tone-green{background:#34834a}.tone-red{background:#d9563f}.tone-muted{background:#aab5bd}.empty-panel-text{color:#7a8993;font-size:13px}.priority-item{border-top:2px solid #e5e9ec;padding:16px 2px 2px}.data-panel{overflow:hidden}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid #e3e7ea;background:#fbfcfd}.toolbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.toolbar-create-button{height:34px;white-space:nowrap}.filter-search{display:flex;min-width:220px;flex:1 1 240px;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid #d7dde1;border-radius:6px;background:#fff}.filter-search input{height:32px;min-width:0;border:0;padding:0;box-shadow:none}.filter-search input:focus{box-shadow:none}.filter-select{height:36px;min-width:128px;border:1px solid #d7dde1;border-radius:6px;background:#fff;padding:0 30px 0 10px;color:#34414c;font-size:13px}.sort-order-button{white-space:nowrap}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #e3e7ea;color:#71808b;font-size:12px}.audit-json{max-height:360px;overflow:auto;border:1px solid #e3e7ea;background:#f7f9fa;padding:12px;color:#46545e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.delete-confirmation{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #f0d1ce;border-radius:8px;background:#fff8f7}.delete-confirmation-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;color:#a93630;background:#ffe0de}.data-panel>div>.divide-y>div{min-height:92px;transition:background .16s ease}.data-panel>div>.divide-y>div:hover{background:#fffaf6}.data-panel .rounded-full{border-radius:4px;background:#f0f3f5;color:#50606b}.user-list-header{padding:11px 20px;border-bottom:1px solid #e3e7ea;color:#8a969e;background:#fbfcfd;font-size:11px;font-weight:700;letter-spacing:.04em}.user-list-header,.user-management-row{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(150px,.8fr) minmax(220px,1fr) 170px 150px;gap:18px}.user-management-row{align-items:center;min-height:112px;padding:17px 20px;transition:background .16s ease}.user-management-row:hover{background:#fffaf6}.user-identity-cell{display:flex;align-items:center;gap:13px;min-width:0}.user-avatar-cell{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:46px;height:46px;overflow:hidden;border:1px solid #e1e6e9;border-radius:50%;color:#7a8790;background:#f5f7f7}.user-avatar-cell img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-identity-main{min-width:0}.user-identity-main p{min-width:0;color:#1b2a35}.user-identity-main small,.user-identity-main span,.user-pets-cell span,.user-time-cell small,.user-time-cell span{display:block;min-width:0;overflow:hidden;color:#8a969e;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.user-identity-main span{margin-top:4px;font-size:11px}.user-identity-main small{margin-top:2px;max-width:260px}.user-actions-cell,.user-status-cell{display:flex;flex-wrap:wrap;gap:8px}.user-pets-cell{min-width:0}.user-pets-cell strong{display:block;color:#1b2a35;font-size:13px;line-height:1.4}.user-pet-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.user-pet-more{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;color:#7a8993;background:#f0f3f5;font-size:12px}.user-time-cell{min-width:0}.user-time-cell small{margin-top:4px}.user-actions-cell{justify-content:flex-end}.user-actions-cell button{white-space:nowrap}.pet-list-header{padding:11px 20px;border-bottom:1px solid #e3e7ea;color:#8a969e;background:#fbfcfd;font-size:11px;font-weight:700;letter-spacing:.04em}.pet-list-header,.pet-management-row{display:grid;grid-template-columns:minmax(300px,1.45fr) minmax(160px,.75fr) minmax(180px,.85fr) 150px 220px;gap:18px}.pet-management-row{align-items:center;min-height:126px;padding:17px 20px;transition:background .16s ease}.pet-management-row:hover{background:#fffaf6}.pet-identity-cell{display:flex;align-items:center;gap:14px;min-width:0}.pet-cover-cell{display:flex;flex:0 0 auto;width:86px;height:86px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e1e6e9;border-radius:8px;color:#c9641b;background:#fff0e6}.pet-cover-cell img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pet-management-main{min-width:0}.pet-management-title{display:flex;align-items:baseline;gap:10px;min-width:0}.pet-management-title p{min-width:0;max-width:220px;color:#1b2a35}.pet-management-title span{flex-shrink:0;color:#9aa5ad;font-size:11px}.pet-data-cell small,.pet-data-cell span,.pet-management-note,.pet-people-cell span,.pet-trait-line{display:block;min-width:0;overflow:hidden;color:#8a969e;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.pet-trait-line{margin-top:7px;color:#657580}.pet-management-note{margin-top:7px;max-width:360px}.pet-management-actions,.pet-status-cell{display:flex;flex-wrap:wrap;gap:8px}.pet-data-cell,.pet-people-cell{display:grid;gap:9px;min-width:0}.pet-data-cell strong,.pet-people-cell strong,.pet-person-link{display:block;min-width:0;overflow:hidden;color:#1b2a35;font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.pet-person-link{max-width:100%;text-align:left}.pet-person-link:hover{color:#c9641b}.pet-data-cell strong{color:#6f4b1d}.pet-management-actions{justify-content:flex-end}.pet-management-actions button{white-space:nowrap}.banner-list-header{display:grid;grid-template-columns:minmax(0,1fr) 220px 220px;gap:20px;padding:11px 20px;border-bottom:1px solid #e3e7ea;color:#8a969e;background:#fbfcfd;font-size:11px;font-weight:700;letter-spacing:.04em}.banner-row{display:grid;grid-template-columns:184px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:136px;padding:16px 20px;transition:background .16s ease}.banner-row:hover{background:#fffaf6}.banner-thumbnail{aspect-ratio:16/7;overflow:hidden;border:1px solid #e1e6e9;border-radius:6px;background:#f3f5f6}.banner-detail-preview,.banner-thumbnail img,.banner-upload-preview{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.banner-main{min-width:0}.banner-title-line{display:flex;align-items:center;gap:8px;min-width:0}.banner-title-line p{min-width:0}.banner-key{max-width:520px;margin-top:7px;overflow:hidden;color:#99a3aa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.banner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;color:#74818a;font-size:12px}.banner-meta span+span{position:relative}.banner-meta span+span:before{position:absolute;top:50%;left:-8px;width:3px;height:3px;border-radius:50%;background:#c9d0d5;content:"";transform:translateY(-50%)}.banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.banner-upload-field{position:relative;display:block;overflow:hidden;aspect-ratio:16/7;border:1px dashed #d6b18f;border-radius:8px;background:#fffaf6;cursor:pointer}.banner-upload-field:hover{border-color:#c9641b;background:#fff6ee}.banner-replace-field input,.banner-upload-field input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.banner-upload-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#b6652e;text-align:center}.banner-upload-placeholder strong{color:#7f4b2a;font-size:13px}.banner-upload-placeholder small{color:#a28a79;font-size:11px;font-weight:400}.banner-file-name{overflow:hidden;color:#7b8992;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.banner-detail-preview{aspect-ratio:16/7;overflow:hidden;border:1px solid #e1e6e9;border-radius:6px;background:#f3f5f6}.banner-replace-field{position:relative;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d7dde1;border-radius:6px;color:#6f7d86;cursor:pointer;font-size:12px;font-weight:600}.banner-replace-field:hover{border-color:#c9641b;color:#b6652e;background:#fffaf6}.banner-object-info{display:grid;gap:5px;padding:10px 12px;border:1px solid #e3e7ea;border-radius:6px;background:#f8fafb}.banner-object-info span{color:#89959d;font-size:11px}.banner-object-info code{overflow:hidden;color:#5f6d76;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:800px){.login-shell{display:block}.login-intro{min-height:270px;padding:34px 24px}.login-intro .brand-mark{margin-bottom:24px}.login-intro h1{font-size:30px}.login-copy,.login-footnote,.login-rule{display:none}.login-card{margin:-24px 16px 24px;position:relative}.admin-layout{display:block}.admin-sidebar{min-height:auto;width:100%;min-width:0;padding:14px 12px 12px;position:static}.admin-sidebar>.sidebar-header{margin-bottom:12px}.admin-sidebar-collapsed{width:100%;min-width:0;padding-right:12px;padding-left:12px}.admin-sidebar-collapsed .sidebar-header{justify-content:flex-start;gap:12px;padding:0 8px}.admin-sidebar-collapsed .sidebar-brand-copy{display:block}.admin-sidebar-collapsed .sidebar-toggle{position:static;margin-left:auto;transform:none}.admin-sidebar-collapsed nav{margin-top:0}.admin-sidebar-collapsed .sidebar-label{display:inline}.admin-sidebar-collapsed .nav-item{justify-content:center;padding-right:8px;padding-left:8px}.sidebar-section-label{display:none}.admin-content{padding:20px 16px 40px}.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-grid{grid-template-columns:1fr}.user-list-header{display:none}.user-management-row{grid-template-columns:minmax(0,1fr);gap:13px;padding:16px}.user-actions-cell,.user-status-cell{justify-content:flex-start}.user-pet-chip-row{margin-top:7px}.pet-list-header{display:none}.pet-management-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.pet-cover-cell{width:82px;height:82px}.pet-management-actions,.pet-status-cell{justify-content:flex-start}.pet-data-cell,.pet-people-cell{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-list-header{display:none}.banner-row{grid-template-columns:136px minmax(0,1fr);gap:14px;padding:14px 16px}.banner-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:520px){.admin-header{align-items:flex-start;flex-direction:column;padding-bottom:16px}.admin-header-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.admin-user-summary{margin-right:0;padding-right:0;border-right:0}.admin-user-copy span{display:none}.admin-overview{grid-template-columns:1fr}.overview-note{grid-column:auto}.growth-bars{gap:6px}.growth-day{grid-template-rows:88px auto auto}.filter-toolbar{align-items:stretch}.filter-search,.filter-select,.filter-toolbar>button,.sort-order-button{width:100%}.toolbar-actions{width:100%;justify-content:space-between;margin-left:0;padding-top:4px}.toolbar-create-button{flex:1;justify-content:center}.pagination-bar{align-items:stretch;flex-direction:column}.pet-management-row{grid-template-columns:1fr}.pet-identity-cell{align-items:flex-start;flex-direction:column}.pet-cover-cell{width:100%;height:auto;aspect-ratio:16/10}.pet-management-title{align-items:flex-start;flex-direction:column;gap:3px}.pet-data-cell,.pet-people-cell{grid-template-columns:1fr}.pet-management-actions button{flex:1 1 auto}.banner-row{grid-template-columns:1fr}.banner-thumbnail{width:100%;max-width:260px}.banner-actions{grid-column:auto}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}@media (min-width:640px){.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:inline{display:inline}.md\:grid{display:grid}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-\[1\.3fr_1fr_160px_180px\]{grid-template-columns:1.3fr 1fr 160px 180px}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}