.pt{--pt-ink: #16211f;--pt-ink-2: #5a6a66;--pt-surface: #ffffff;--pt-ground: #f4f7f6;--pt-line: #e2eae8;--pt-brand: var(--brand, #0e8f8f);--pt-brand-deep: var(--brand-deep, #0a6f6f);--pt-brand-tint: var(--brand-tint, #e3f2f2);--pt-good: #2b7a4b;--pt-good-bg: #e7f2ea;--pt-warn: #96660d;--pt-warn-bg: #fbf0d9;--pt-bad: #b03a3a;--pt-bad-bg: #f9e7e7;min-height:100%;background:var(--pt-ground);color:var(--pt-ink);display:flex;flex-direction:column;padding-bottom:76px}.pt *,.pt-signin *{box-sizing:border-box}.pt-splash{display:grid;place-items:center;height:100%;color:#6b7a76}.pt-top{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--pt-surface);border-bottom:1px solid var(--pt-line);position:sticky;top:0;z-index:5}.pt-brand{display:flex;align-items:center;gap:11px}.pt-brand b{display:block;font-size:15px;font-weight:650;letter-spacing:-.01em}.pt-brand small{display:block;font-size:12px;color:var(--pt-ink-2)}.pt-mark{width:36px;height:36px;border-radius:11px;background:var(--pt-brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.pt-mark.lg{width:52px;height:52px;border-radius:15px;font-size:17px;margin:0 auto 14px}.pt-signout{margin-left:auto;font-size:13px;font-weight:600;color:var(--pt-ink-2);padding:7px 12px;border-radius:9px}.pt-signout:hover{background:var(--pt-ground);color:var(--pt-ink)}.pt-main{flex:1}.pt-page{max-width:620px;margin:0 auto;padding:18px;display:flex;flex-direction:column;gap:16px}.pt-page-hd{display:flex;align-items:center;gap:12px}.pt-page-hd h2{font-size:21px;font-weight:700;letter-spacing:-.02em}.pt-page-hd .pt-btn{margin-left:auto}.pt-eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--pt-brand);font-weight:700}.pt-card{background:var(--pt-surface);border:1px solid var(--pt-line);border-radius:16px;overflow:hidden}.pt-card.hero{border-color:var(--pt-brand-tint);background:var(--pt-brand-tint)}.pt-hero-row{display:flex;align-items:center;gap:14px;padding:18px;flex-wrap:wrap}.pt-hero-row h2{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:2px 0}.pt-hero-row p{font-size:13.5px;color:var(--pt-ink-2)}.pt-hero-row .pt-btn{margin-left:auto}.pt-card-hd{display:flex;align-items:center;gap:10px;padding:15px 18px 0}.pt-card-hd h3{font-size:15px;font-weight:650}.pt-card-hd .pt-link{margin-left:auto}.pt-sub{padding:15px 18px;border-top:1px solid var(--pt-line);display:flex;flex-direction:column;gap:11px}.pt-card>.pt-sub:first-child,.pt-card form>.pt-sub:first-child{border-top:none}.pt-sub h4{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--pt-ink-2);font-weight:700}.pt-list{list-style:none;padding:8px 0 4px}.pt-list li{display:flex;align-items:center;gap:12px;padding:11px 18px}.pt-list li+li{border-top:1px solid var(--pt-line)}.pt-list li.stacked{flex-direction:column;align-items:stretch;gap:8px}.pt-list-row{display:flex;align-items:center;gap:12px}.pt-list-main{flex:1;min-width:0}.pt-list-main b{display:block;font-size:15px;font-weight:650}.pt-list-main small{display:block;font-size:13px;color:var(--pt-ink-2)}.pt-note{font-size:13px;color:var(--pt-ink-2);background:var(--pt-ground);border-radius:10px;padding:9px 12px}.pt-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pt-plain{list-style:none;display:flex;flex-direction:column;gap:7px;font-size:14px}.pt-plain li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt-av{border-radius:50%;object-fit:cover;flex-shrink:0;display:block}.pt-av.fallback{display:grid;place-items:center;color:#fff;font-weight:700}.pt-timeline{list-style:none;display:flex;flex-direction:column;gap:10px}.pt-timeline li{display:flex;gap:12px;align-items:flex-start;font-size:14px}.pt-t{font-variant-numeric:tabular-nums;color:var(--pt-ink-2);font-weight:650;font-size:12.5px;min-width:62px;padding-top:1px}.pt-timeline b{display:block;font-weight:600}.pt-timeline small{display:block;color:var(--pt-ink-2);font-size:13px;margin-top:1px}.pt-pill{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.pt-pill.ok{background:var(--pt-good-bg);color:var(--pt-good)}.pt-pill.pending{background:var(--pt-warn-bg);color:var(--pt-warn)}.pt-pill.done{background:var(--pt-brand-tint);color:var(--pt-brand-deep)}.pt-pill.off{background:#eef1f0;color:#6b7a76}.pt-alert{background:var(--pt-warn-bg);border:1px solid #ecdcb4;border-radius:16px;padding:15px 18px;display:flex;flex-direction:column;gap:9px}.pt-alert>b{font-size:15px;color:var(--pt-warn)}.pt-alert ul{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13.5px}.pt-alert em{font-style:normal;color:var(--pt-bad);font-weight:650}.pt-alert .pt-btn{align-self:flex-start}.pt-error{background:var(--pt-bad-bg);color:var(--pt-bad);border:1px solid #ecc9c9;border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:600;margin:12px 18px 0}.pt-error.inline{margin:0}.pt-saved{background:var(--pt-good-bg);color:var(--pt-good);border-radius:10px;padding:9px 13px;font-size:13px;font-weight:650}.pt-devnote{background:var(--pt-brand-tint);color:var(--pt-brand-deep);border-radius:10px;padding:10px 13px;font-size:13px}.pt-empty{padding:26px 18px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.pt-empty b{font-size:15px;font-weight:650}.pt-empty small{font-size:13.5px;color:var(--pt-ink-2);max-width:40ch}.pt-fine{font-size:12.5px;color:var(--pt-ink-2);line-height:1.5}.pt-btn{background:var(--pt-brand);color:#fff;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:650;width:100%;transition:background .14s ease}.pt-btn:hover{background:var(--pt-brand-deep)}.pt-btn:disabled{background:#c7d4d2;cursor:not-allowed}.pt-btn.small{width:auto;padding:9px 16px;font-size:13.5px;border-radius:10px}.pt-btn.ghost{background:var(--pt-surface);color:var(--pt-brand);box-shadow:inset 0 0 0 1px var(--pt-line)}.pt-btn.ghost:hover{background:var(--pt-ground)}.pt-link{color:var(--pt-brand);font-weight:650;font-size:13.5px}.pt-link:hover{text-decoration:underline}.pt-link.danger{color:var(--pt-bad)}.pt-link:disabled{opacity:.6}.pt-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.pt-field>span{font-size:12.5px;font-weight:650;color:var(--pt-ink-2)}.pt-field input,.pt-field select,.pt-field textarea{font:inherit;font-size:15px;color:var(--pt-ink);background:var(--pt-surface);border:1px solid var(--pt-line);border-radius:11px;padding:11px 13px;width:100%}.pt-field textarea{resize:vertical}.pt-field input:focus-visible,.pt-field select:focus-visible,.pt-field textarea:focus-visible{outline:none;border-color:var(--pt-brand);box-shadow:0 0 0 3px var(--pt-brand-tint)}.pt-field-row{display:flex;gap:11px;flex-wrap:wrap}.pt-code{font-size:24px!important;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.pt-inline-form{display:flex;flex-direction:column;gap:11px;background:var(--pt-ground);padding:13px;border-radius:12px}.pt-seg{display:flex;border:1px solid var(--pt-line);border-radius:11px;overflow:hidden}.pt-seg button{flex:1;padding:11px 0;font-size:14px;font-weight:650;color:var(--pt-ink-2);background:var(--pt-surface)}.pt-seg button.on{background:var(--pt-brand);color:#fff}.pt-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.pt-check input{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--pt-brand)}.pt-check b{display:block;font-size:14.5px;font-weight:650}.pt-check small{display:block;font-size:13px;color:var(--pt-ink-2);line-height:1.5;margin-top:2px}.pt-photo-btn{display:flex;flex-direction:column;align-items:center;gap:5px}.pt-photo-btn span{font-size:12px;font-weight:650;color:var(--pt-brand)}.pt-pethd{display:flex;gap:15px;align-items:center;padding:18px}.pt-pethd h3{font-size:18px;font-weight:700;letter-spacing:-.02em}.pt-pethd p{font-size:13.5px;color:var(--pt-ink-2)}.pt-refresh{align-self:center;font-size:13px;color:var(--pt-ink-2);padding:8px 16px}.pt-refresh:hover{color:var(--pt-brand)}.pt-tabs{position:fixed;bottom:0;left:0;right:0;z-index:6;display:flex;background:var(--pt-surface);border-top:1px solid var(--pt-line);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.pt-tabs button{flex:1;padding:9px 4px;font-size:12.5px;font-weight:650;color:var(--pt-ink-2);border-radius:10px}.pt-tabs button.on{color:var(--pt-brand);background:var(--pt-brand-tint)}.pt-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1c1a6b;z-index:40;display:flex;align-items:flex-end;justify-content:center}@media (min-width: 620px){.pt-sheet-scrim{align-items:center;padding:24px}}.pt-sheet{background:var(--pt-surface);width:100%;max-width:560px;max-height:88vh;overflow-y:auto;border-radius:20px 20px 0 0;animation:pt-up .2s cubic-bezier(.2,0,0,1)}@media (min-width: 620px){.pt-sheet{border-radius:18px}}@keyframes pt-up{0%{transform:translateY(14px);opacity:0}}@media (prefers-reduced-motion: reduce){.pt-sheet{animation:none}}.pt-sheet-hd{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--pt-line);position:sticky;top:0;background:var(--pt-surface)}.pt-sheet-hd b{font-size:16px;font-weight:650}.pt-sheet-hd .pt-link{margin-left:auto}.pt-sheet-body{padding:18px;display:flex;flex-direction:column;gap:15px}.pt-sheet-sub{font-size:13.5px;color:var(--pt-ink-2)}.pt-sheet-body .pt-sub{border-top:none;padding:0}.pt-signin{min-height:100%;background:var(--ground, #eef0f2);display:grid;place-items:center;padding:24px}.pt-signin-card{--pt-ink: #16211f;--pt-ink-2: #5a6a66;--pt-surface: #fff;--pt-ground: #f4f7f6;--pt-line: #e2eae8;--pt-brand: var(--brand, #0e8f8f);--pt-brand-deep: var(--brand-deep, #0a6f6f);--pt-brand-tint: var(--brand-tint, #e3f2f2);--pt-bad: #b03a3a;--pt-bad-bg: #f9e7e7;background:#fff;border-radius:18px;padding:30px 26px;width:100%;max-width:400px;text-align:center;border:1px solid #e2eae8;color:var(--pt-ink)}.pt-signin-card h1{font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.pt-signin-card p{font-size:14px;color:var(--pt-ink-2);margin-bottom:18px;line-height:1.55}.pt-signin-card form{display:flex;flex-direction:column;gap:14px;text-align:left}.pt-signin-card .pt-fine{margin-top:14px;display:block}.pt-signin-card .pt-link{margin-top:14px}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-vietnamese-wght-normal-BKsN3ITN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-wght-normal-Bl-S9Xys.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Work Sans Variable", "Work Sans", "Segoe UI", -apple-system, Arial, sans-serif;--font-display: var(--font-ui);--brand: #0e8f8f;--brand-deep: #0a6f6f;--brand-tint: #e3f2f2;--accent: #d98324;--accent-ink: #2a1a06;--ink: #11151a;--ink-2: #4d5762;--ink-3: #7a848f;--surface: #ffffff;--surface-2: #f6f8f9;--ground: #eef0f2;--line: #dde2e6;--line-strong: #c2cad2;--chrome: #14171a;--good: #2b7a4b;--good-bg: #e7f2ea;--warn: #96660d;--warn-bg: #fbf0d9;--bad: #b03a3a;--bad-bg: #f9e7e7;--info: #2b6cb0;--info-bg: #e8eff8;--hover: rgba(17, 21, 26, .05);--active: rgba(17, 21, 26, .09);--selected: var(--brand-tint);--focus: var(--brand);--t-3xs: .5938rem;--t-2xs: .6875rem;--t-xs: .75rem;--t-sm: .8125rem;--t-base: .875rem;--t-md: 1rem;--t-lg: 1.125rem;--t-xl: 1.375rem;--t-2xl: 1.75rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--dur-fast: .12s;--dur: .18s;--ease: cubic-bezier(.2, 0, 0, 1);--lift: 0 12px 32px -8px rgba(20, 40, 34, .28)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--brand-tint);color:var(--brand-deep)}:root{caret-color:var(--brand);accent-color:var(--brand)}*{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:3px solid var(--ground);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}a{color:inherit;text-decoration:none;text-underline-offset:.18em}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.num,.tbl td,.taskmeta,.kv dd,.capline,.tile .num,.payline b{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:flex;height:100%}.side{width:216px;flex-shrink:0;background:var(--chrome);color:#cbd3da;display:flex;flex-direction:column;padding:var(--s-4) var(--s-3);gap:var(--s-1)}.logo{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-2) var(--s-5)}.logo .mark{width:30px;height:30px;border-radius:var(--r-md);background:var(--brand);display:grid;place-items:center;color:#fff;font-size:var(--t-2xs);font-weight:700;letter-spacing:.03em}.logo b{font-size:var(--t-base);font-weight:650;color:#fff;letter-spacing:-.01em;line-height:1.2}.side nav{display:flex;flex-direction:column;gap:2px}.side nav a{display:flex;align-items:center;gap:var(--s-3);color:#8d99a4;font-size:var(--t-sm);font-weight:500;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.side nav a:hover{background:#ffffff12;color:#fff}.side nav a:active{background:#ffffff1f}.side nav a.on{background:#ffffff21;color:#fff;font-weight:600}.side nav a .ico{opacity:.75;flex-shrink:0}.side nav a.on .ico{opacity:1}.side .spacer{flex:1}.side .whoami{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-2) var(--s-1);border-top:1px solid rgba(255,255,255,.12);margin-top:var(--s-3)}.whoami .av{width:28px;height:28px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:var(--t-2xs);font-weight:700}.whoami-who{min-width:0;flex:1}.whoami b{font-size:var(--t-xs);color:#fff;display:block;line-height:1.3}.whoami small{font-size:var(--t-2xs);color:#78838d}.signout{color:#8d99a4;width:26px;height:26px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.signout:hover{background:#ffffff1a;color:#fff}.signin{min-height:100%;display:grid;place-items:center;padding:var(--s-5);background:var(--ground)}.signin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6) var(--s-5);width:min(380px,100%);display:flex;flex-direction:column;gap:var(--s-3)}.signin-mark{width:44px;height:44px;border-radius:var(--r-md);background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:var(--t-sm);letter-spacing:.03em;margin:0 auto var(--s-2)}.signin-card h1{font-size:var(--t-lg);font-weight:650;text-align:center;letter-spacing:-.015em}.signin-card>p{font-size:var(--t-sm);color:var(--ink-3);text-align:center;margin-bottom:var(--s-2)}.signin-card .btn{justify-content:center;padding:10px 14px;margin-top:var(--s-1)}.signin-fine{font-size:var(--t-xs);color:var(--ink-3);text-align:center;margin-top:var(--s-2)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.topbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{font-size:var(--t-md);font-weight:650;letter-spacing:-.015em}.topbar .date{color:var(--ink-3);font-size:var(--t-sm)}.topbar .right{margin-left:auto;display:flex;gap:var(--s-2);align-items:center}.content{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--brand);color:#fff;border-radius:var(--r-md);padding:7px 14px;font-size:var(--t-sm);font-weight:600;white-space:nowrap;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{background:var(--brand-deep)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn:disabled:hover{background:var(--line);color:var(--ink-3);cursor:not-allowed;transform:none}.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn.ghost:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.btn.ghost:disabled,.btn.ghost:disabled:hover{background:var(--surface);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-2xs);font-weight:650;border-radius:var(--r-pill);padding:2px 9px;white-space:nowrap;letter-spacing:.01em}.pill.good{background:var(--good-bg);color:var(--good)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.prim{background:var(--brand-tint);color:var(--brand)}.pill.neutral{background:var(--ground);color:var(--ink-2)}.date-input,.field input,.field select,.field textarea,.inline-field input,.inline-field select,.check-input{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);padding:7px 10px;font-size:var(--t-sm);width:100%;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.date-input{width:auto}.field input:hover,.field select:hover,.field textarea:hover,.inline-field input:hover,.inline-field select:hover{border-color:var(--line-strong)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.inline-field input:focus-visible,.inline-field select:focus-visible,.check-input:focus-visible,.date-input:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.field input::placeholder,.field textarea::placeholder,.check-input::placeholder{color:var(--ink-3)}.field textarea{resize:vertical}.toggle{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-2);font-weight:500}.toggle input{width:15px;height:15px}.linkish{color:var(--brand);font-weight:600}.linkish:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.card .hd{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.card .hd b{font-size:var(--t-base);font-weight:650}.card .hd .cnt{font-size:var(--t-2xs);background:var(--ground);color:var(--ink-2);font-weight:650;border-radius:var(--r-pill);padding:1px 8px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}@media (max-width: 900px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4)}.tile .lbl{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.tile .num{font-size:var(--t-2xl);font-weight:680;margin-top:2px;letter-spacing:-.02em}.tile .sub{font-size:var(--t-xs);color:var(--ink-3);margin-top:2px}.meter{height:4px;background:var(--ground);border-radius:var(--r-pill);margin-top:var(--s-2);overflow:hidden}.meter i{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand)}.meter i.hot{background:var(--warn)}.cols{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--s-4);align-items:start}@media (max-width: 1000px){.cols{grid-template-columns:1fr}}table.tbl{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.tbl th{text-align:left;font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);font-weight:650}.tbl td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background var(--dur-fast) var(--ease)}.tbl tbody tr:hover{background:var(--surface-2)}.petcell{display:inline-flex;align-items:center;gap:var(--s-2)}.pav{width:28px;height:28px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:var(--t-2xs);font-weight:700;color:#fff;flex-shrink:0}.petcell small{display:block;color:var(--ink-3);font-size:var(--t-xs);line-height:1.3}.alist{list-style:none}.alist li{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);font-size:var(--t-sm)}.alist li:last-child{border-bottom:none}.alist b{display:block;font-size:var(--t-sm);font-weight:650;margin-bottom:2px}.alist small{display:block;color:var(--ink-3);font-size:var(--t-xs);line-height:1.45}.dot{width:7px;height:7px;border-radius:var(--r-pill);margin-top:6px;flex-shrink:0}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.info{background:var(--info)}.week{display:flex;gap:var(--s-2);padding:var(--s-4);align-items:flex-end;height:132px}.week .day{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;text-align:center;height:100%}.week .stack{display:flex;flex-direction:column;justify-content:flex-end;width:100%;border-radius:var(--r-sm) var(--r-sm) 0 0;overflow:hidden}.week .bar-b{background:var(--brand)}.week .bar-d{background:#8fc3c3}.week small{font-size:var(--t-2xs);color:var(--ink-3);font-weight:600}.week .day.today small{color:var(--brand);font-weight:700}.legend{display:flex;gap:var(--s-4);padding:0 var(--s-4) var(--s-4);font-size:var(--t-2xs);color:var(--ink-3)}.legend i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:5px;vertical-align:0}.zone h2{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-2);font-weight:650}.runs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-2)}.run{position:relative;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:var(--s-3);min-height:76px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.run:hover{border-color:var(--line-strong)}.run .id{font-size:var(--t-2xs);font-weight:700;color:var(--ink-3);letter-spacing:.05em;display:flex;align-items:center;gap:var(--s-2)}.run b{display:block;font-size:var(--t-sm);font-weight:650;letter-spacing:-.005em}.run small{display:block;font-size:var(--t-xs);color:var(--ink-3);line-height:1.35}.run.occ{background:var(--surface)}.run.arr{background:var(--info-bg);border-color:#c2d6ea}.run.dep{background:var(--warn-bg);border-color:#ecdcb4}.run.open{border-style:dashed;background:transparent}.run.open b{color:var(--ink-3);font-weight:500;font-size:var(--t-xs)}.run .id .chips{margin-left:auto;display:inline-flex;gap:4px}.state-chip{font-size:var(--t-3xs);font-weight:700;letter-spacing:.04em;border-radius:var(--r-pill);padding:1px 6px;text-transform:uppercase}.state-chip.arr{background:var(--info);color:#fff}.state-chip.dep{background:var(--accent);color:var(--accent-ink)}.state-chip.med{background:var(--bad-bg);color:var(--bad)}.state-chip.new{background:var(--info-bg);color:var(--info)}.runlink{display:block}.runlink:hover b{color:var(--brand);text-decoration:underline}.runact{margin-top:auto;align-self:flex-start;font-size:var(--t-2xs);font-weight:650;background:var(--brand);color:#fff;border-radius:var(--r-sm);padding:3px 9px;transition:background var(--dur-fast) var(--ease)}.runact:hover{background:var(--brand-deep)}.runact:disabled{opacity:.55;cursor:default}.occ-entry{display:flex;flex-direction:column;gap:2px}.occ-entry+.occ-entry{border-top:1px dashed var(--line);margin-top:5px;padding-top:5px}.run.group{grid-column:1 / -1;border-color:var(--line)}.group-hd{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-2)}.group-hd b{font-size:var(--t-sm)}.grouplist{display:flex;flex-wrap:wrap;gap:5px}.gchip{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 4px 3px 10px;font-size:var(--t-xs);font-weight:550;transition:border-color var(--dur-fast) var(--ease)}.gchip:hover{border-color:var(--line-strong)}.gname{display:inline-flex;align-items:center;gap:var(--s-2)}.gname:hover{color:var(--brand);text-decoration:underline}.gname i{width:8px;height:8px;border-radius:var(--r-pill);display:inline-block}.gmed{font-style:normal;font-size:var(--t-3xs);font-weight:700;background:var(--bad-bg);color:var(--bad);border-radius:var(--r-pill);padding:0 5px}.gact{font-size:var(--t-3xs);font-weight:700;background:var(--brand);color:#fff;border-radius:var(--r-pill);padding:2px 8px}.gact:hover{background:var(--brand-deep)}.gact:disabled{opacity:.55;cursor:default}.board-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--t-xs);color:var(--ink-3)}.board-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:0}.cal{display:grid;grid-template-columns:repeat(7,1fr);overflow-x:auto}.cal .col{border-right:1px solid var(--line);min-height:280px;padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}.cal .col:last-child{border-right:none}.cal .col.today{background:var(--brand-tint)}.cal .dh{text-align:center;font-size:var(--t-2xs);font-weight:650;color:var(--ink-3);padding:var(--s-1) 0 var(--s-2);width:100%;border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.cal .dh b{display:block;font-size:var(--t-lg);color:var(--ink);font-weight:650;letter-spacing:-.02em}.cal .col.today .dh b{color:var(--brand)}.cal button.dh:hover{background:var(--surface);color:var(--brand)}.evt{border-radius:var(--r-sm);padding:5px 8px;font-size:var(--t-2xs);font-weight:600;line-height:1.35;border:1px solid transparent}.evt small{display:block;font-weight:500;opacity:.72;font-size:var(--t-3xs)}.evt.b{background:var(--brand-tint);color:var(--brand-deep);border-color:#c6e0e0}.evt.d{background:var(--warn-bg);color:var(--warn);border-color:#ecdcb4}.evt.hold{background:var(--warn-bg);color:var(--warn);border-color:var(--warn);border-style:dashed}.evt-group{display:flex;flex-direction:column;gap:3px}.evt-label{font-size:var(--t-3xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding-top:3px}.capline{font-size:var(--t-2xs);color:var(--ink-3);font-weight:600;padding-bottom:var(--s-2);border-bottom:1px solid var(--line)}.capline .meter{margin-top:4px}.calswitch{display:inline-flex;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:2px}.calswitch a{padding:5px 16px;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.calswitch a:hover{background:var(--surface-2)}.calswitch a.on{background:var(--brand);color:#fff}.filterbar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.filterbar.tight{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}.filterbar .search{min-width:240px}.filterbar .segmented{flex:0 0 auto}.filterbar .segmented button,.filterbar .segmented.small button{flex:0 0 auto;padding:6px 13px;white-space:nowrap}.filtercount{font-size:var(--t-xs);color:var(--ink-3);font-weight:600;margin-left:auto}.tbl-scroll{max-height:420px;overflow-y:auto}.tbl.sticky thead th{position:sticky;top:0;background:var(--surface);z-index:1;box-shadow:inset 0 -1px 0 var(--line)}.tl-scroll{overflow-x:auto}.tl{min-width:860px}.tl-head,.tl-row{display:grid;grid-template-columns:190px 1fr;align-items:stretch}.tl-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.tl-head>.tl-name{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650;display:flex;align-items:center;padding:var(--s-2) var(--s-4)}.tl-head{grid-template-columns:190px repeat(var(--cols),1fr)}.tl-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:var(--s-2) 2px;border-left:1px solid var(--line);transition:background var(--dur-fast) var(--ease)}.tl-day:hover{background:var(--brand-tint)}.tl-day.weekend{background:var(--surface-2)}.tl-day.today{background:var(--brand-tint)}.tl-dow{font-size:var(--t-3xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.tl-day b{font-size:var(--t-sm);font-weight:650}.tl-day.today b{color:var(--brand)}.tl-cap{font-size:var(--t-3xs);color:var(--ink-3);font-weight:650;font-variant-numeric:tabular-nums}.tl-cap.hot{color:var(--warn)}.tl-row{border-bottom:1px solid var(--line)}.tl-row:last-child{border-bottom:none}.tl-row:hover{background:var(--surface-2)}.tl-row>.tl-name{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);min-width:0}.av-sm{width:22px;height:22px;border-radius:var(--r-pill);flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:var(--t-3xs);font-weight:700}.tl-who{min-width:0;flex:1}.tl-who a{display:block;font-size:var(--t-sm);font-weight:600}.tl-who em{font-style:normal;display:block;font-size:var(--t-3xs);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-weight:650}.tl-track{display:grid;grid-template-columns:repeat(var(--cols),1fr);position:relative;align-items:center;min-height:40px}.tl-cell{border-left:1px solid var(--line);height:100%;grid-row:1}.tl-cell.today{background:var(--brand-tint)}.tl-bar{grid-row:1;margin:0 2px;border-radius:var(--r-pill);height:22px;display:flex;align-items:center;padding:0 var(--s-2);font-size:var(--t-3xs);font-weight:700;color:#fff;overflow:hidden;background:var(--brand)}.tl-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-bar.arriving{background:var(--info)}.tl-bar.departing{background:var(--accent);color:var(--accent-ink)}.tl-bar.pending{background:repeating-linear-gradient(45deg,var(--warn-bg),var(--warn-bg) 5px,#f4e4c4 5px,#f4e4c4 10px);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.dc-scroll{overflow-x:auto}.dc{min-width:640px;display:grid;grid-template-columns:96px repeat(var(--groups),1fr)}.dc-corner{border-bottom:1px solid var(--line)}.dc-grouphd{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface-2)}.dc-grouphd b{display:block;font-size:var(--t-sm);font-weight:650}.dc-grouphd small{font-size:var(--t-3xs);color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;font-weight:650}.dc-rowgroup{display:contents}.dc-dayhd{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:var(--s-3);border-bottom:1px solid var(--line);text-align:left;transition:background var(--dur-fast) var(--ease)}.dc-dayhd:hover{background:var(--brand-tint)}.dc-dayhd span{font-size:var(--t-3xs);letter-spacing:.06em;color:var(--ink-3);font-weight:700}.dc-dayhd b{font-size:var(--t-lg);font-weight:650;line-height:1.1}.dc-dayhd em{font-style:normal;font-size:var(--t-3xs);color:var(--ink-3);font-weight:600}.dc-rowgroup.today .dc-dayhd{background:var(--brand-tint)}.dc-rowgroup.today .dc-dayhd b{color:var(--brand)}.dc-cell{border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s-2) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.dc-count{display:flex;align-items:baseline;gap:4px}.dc-count b{font-size:var(--t-md);font-weight:680;font-variant-numeric:tabular-nums}.dc-of{font-size:var(--t-3xs);color:var(--ink-3);font-weight:650}.dc-count .meter{flex:1;margin-top:0;margin-left:var(--s-2)}.dc-dogs{display:flex;flex-wrap:wrap;gap:4px}.dc-dog{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 9px;font-size:var(--t-3xs);font-weight:600}.dc-dog:hover{border-color:var(--brand);color:var(--brand)}.dc-dog i{width:7px;height:7px;border-radius:var(--r-pill);display:inline-block}.dc-dog em{font-style:normal;font-size:8.5px;font-weight:800;color:var(--bad)}.dc-unassigned{grid-column:1 / -1;padding:var(--s-2) var(--s-3);background:var(--warn-bg);border-bottom:1px solid var(--line);font-size:var(--t-xs)}.dc-unassigned b{color:var(--warn);margin-right:var(--s-2)}.dc-unassigned span{color:var(--ink-2)}.setting-note{padding:var(--s-3) var(--s-4);font-size:var(--t-xs);color:var(--ink-3);border-bottom:1px solid var(--line);max-width:78ch}.group-add{display:flex;gap:var(--s-3);align-items:flex-end;flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-2)}.group-add-actions{display:flex;gap:var(--s-2);margin-left:auto}.cell-input{background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:4px 7px;font-size:var(--t-sm);font-weight:600;width:100%;max-width:220px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.cell-input:hover{border-color:var(--line);background:var(--surface)}.cell-input:focus-visible{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px var(--brand-tint)}.cell-input.narrow{max-width:92px}.readonly-note{background:var(--info-bg);border:1px solid #c2d6ea;border-radius:var(--r-lg);padding:var(--s-3) var(--s-4)}.readonly-note b{display:block;font-size:var(--t-sm);font-weight:650;color:var(--info)}.readonly-note small{display:block;font-size:var(--t-xs);color:var(--ink-2);margin-top:2px}.cell-input[readonly]{cursor:default}.cell-input[readonly]:hover{border-color:transparent;background:transparent}.stay-window{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3)}.stay-window>div{display:flex;flex-direction:column;gap:1px}.stay-window span{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.stay-window b{font-size:var(--t-base);font-weight:650}.stay-window>.ico{color:var(--ink-3);flex-shrink:0}.stay-window em{margin-left:auto;font-style:normal;font-size:var(--t-xs);font-weight:650;background:var(--brand-tint);color:var(--brand-deep);border-radius:var(--r-pill);padding:3px 11px}.ok-note{color:var(--good);font-weight:600}.state-chip.first{background:var(--accent);color:var(--accent-ink)}.first-stay{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);padding:var(--s-3)}.first-stay b{display:block;font-size:var(--t-sm);font-weight:700}.first-stay small{display:block;font-size:var(--t-xs);margin-top:2px;opacity:.85}.check-row.allergy{border-color:var(--bad);background:var(--bad-bg)}.check-row.allergy b{color:var(--bad)}.check-row.allergy small{color:#8c3030}.prefill-note{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;background:var(--info-bg);border:1px solid #c2d6ea;border-radius:var(--r-md);padding:var(--s-3)}.prefill-note.done{background:var(--good-bg);border-color:#bfdcc9}.prefill-note>div{flex:1;min-width:0}.prefill-note b{display:block;font-size:var(--t-sm);font-weight:650;color:var(--info)}.prefill-note.done b{color:var(--good)}.prefill-note small{display:block;font-size:var(--t-xs);color:var(--ink-2);margin-top:2px}.rate-inline{display:inline-flex;align-items:center;gap:3px}.rate-inline>span{font-size:var(--t-sm);color:var(--ink-3);font-weight:650}.rate-inline em{font-style:normal;font-size:var(--t-2xs);color:var(--ink-3);font-weight:650}.rate-inline .cell-input{max-width:78px;text-align:right}.rate-row{display:flex;align-items:flex-end;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);flex-wrap:wrap}.rate-row .field-note{margin:0 0 6px;max-width:46ch}.suffix-field{display:flex;align-items:center;gap:5px}.suffix-field input{width:90px;text-align:right}.suffix-field em{font-style:normal;font-size:var(--t-sm);color:var(--ink-3);font-weight:650}.muted-row{opacity:.6}.terminal-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);align-items:flex-start}.terminal-provider b{display:block;font-size:var(--t-base);font-weight:650}.terminal-provider small{display:block;font-size:var(--t-xs);color:var(--ink-3);max-width:62ch;margin-top:2px}.terminal-result{background:var(--good-bg);border:1px solid #bfdcc9;border-radius:var(--r-md);padding:var(--s-3);font-size:var(--t-xs);width:100%}.terminal-result b{color:var(--good);display:block;font-size:var(--t-sm)}.terminal-result ul{margin:var(--s-2) 0 0 var(--s-4)}.terminal-body code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.95em;background:var(--surface);padding:1px 5px;border-radius:4px;border:1px solid var(--line)}.checkout-lines td{padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.checkout-lines td.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.checkout-lines tr.sub td{color:var(--ink-2);border-bottom:none;padding-top:var(--s-2)}.checkout-lines tr.total td{font-size:var(--t-md);font-weight:700;border-top:2px solid var(--line);border-bottom:none;padding-top:var(--s-2)}.checkout-lines tbody tr:hover{background:transparent}.checkout-done{text-align:center;padding:var(--s-5) var(--s-3)}.checkout-done b{display:block;font-size:var(--t-2xl);font-weight:700;letter-spacing:-.02em}.checkout-done small{display:block;color:var(--ink-3);font-size:var(--t-sm);margin-top:var(--s-1)}.quickdates{display:flex;gap:5px;flex-wrap:wrap}.delta-note{background:var(--brand-tint);border-radius:var(--r-md);padding:var(--s-3);font-size:var(--t-xs);color:var(--brand-deep)}.delta-note.down{background:var(--warn-bg);color:var(--warn)}.daypicker{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);background:var(--surface)}.daypicker-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-2)}.daypicker-hd b{font-size:var(--t-sm)}.daypicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.daypicker-dow{text-align:center;font-size:var(--t-xs);color:var(--ink-3);font-weight:600;padding-bottom:2px}.daypicker-day{aspect-ratio:1;min-height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--t-xs);font-weight:600;cursor:pointer}.daypicker-day:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint)}.daypicker-day.on{background:var(--brand);border-color:var(--brand);color:#fff}.daypicker-day:disabled{color:var(--ink-3);opacity:.4;cursor:default}.daypicker-ft{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--t-xs);color:var(--ink-3);flex-wrap:wrap}.daypicker-actions{display:flex;gap:4px}.delta-note b{display:block;font-size:var(--t-sm)}.delta-note small{display:block;margin-top:2px}.delta-note .btn{margin-top:var(--s-2)}.runacts{margin-top:auto;display:flex;gap:4px;flex-wrap:wrap}.runact.ghost{background:transparent;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}.runact.ghost:hover{background:var(--surface-2);color:var(--ink)}.setting-note.plain{border-bottom:none;padding-top:0}.btn.ghost.danger{color:var(--bad)}.btn.ghost.danger:hover{background:var(--bad-bg);box-shadow:inset 0 0 0 1px var(--bad)}.show-retired{margin:var(--s-3) var(--s-4) var(--s-4);align-self:flex-start}.runtype{border-top:1px solid var(--line);padding:var(--s-3) var(--s-4) var(--s-4)}.runtype.retired{background:var(--surface-2)}.runtype-hd{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.runtype-hd .cell-input{max-width:260px;font-size:var(--t-base);font-weight:650}.runtype-count{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}.runtype-actions{margin-left:auto;display:flex;gap:var(--s-2);flex-wrap:wrap}.runtype-actions .btn{padding:5px 11px;font-size:var(--t-xs)}.rungrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.runchip{position:relative;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:5px 8px;min-height:34px;transition:border-color var(--dur-fast) var(--ease)}.runchip:hover{border-color:var(--line-strong)}.runchip.retired{background:var(--surface-2);opacity:.65;border-style:dashed}.runchip.editing{padding:2px 4px}.runchip-code{font-size:var(--t-sm);font-weight:650;letter-spacing:.02em}.runchip-code:hover{color:var(--brand);text-decoration:underline}.runchip em{font-style:normal;font-size:var(--t-3xs);color:var(--ink-3);font-weight:700}.runchip-dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--good);flex-shrink:0}.runchip-menu{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;gap:var(--s-2);background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--brand)}.runchip:hover .runchip-menu,.runchip:focus-within .runchip-menu{display:flex}.runchip-menu button{font-size:var(--t-3xs);font-weight:700;color:var(--brand)}.runchip-menu button:hover{text-decoration:underline}.runchip-menu button.danger{color:var(--bad)}.runchip-menu button:disabled{opacity:.5}.field-note.wide{flex-basis:100%;margin:0}.code-hint{display:block;font-size:var(--t-3xs);color:var(--ink-3);letter-spacing:.05em;padding-left:7px;font-weight:650}.pethead{display:flex;gap:var(--s-4);padding:var(--s-4) var(--s-5);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.bigav{width:60px;height:60px;border-radius:var(--r-lg);display:grid;place-items:center;font-size:var(--t-xl);font-weight:700;color:#fff;flex-shrink:0}.pethead h1{font-size:var(--t-xl);font-weight:680;letter-spacing:-.02em}.pethead .sub{color:var(--ink-3);font-size:var(--t-sm);margin-top:2px}.tagrow{display:flex;gap:5px;margin-top:var(--s-2);flex-wrap:wrap}.pethead .actions{margin-left:auto;display:flex;gap:var(--s-2)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);align-items:start}@media (max-width: 1000px){.grid2{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:132px 1fr;font-size:var(--t-sm)}.kv dt{color:var(--ink-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}.kv dd{padding:var(--s-2) var(--s-4) var(--s-2) 0;border-bottom:1px solid var(--line);font-weight:550}.kv dt:last-of-type,.kv dd:last-of-type{border-bottom:none}.tasklist{list-style:none}.tasklist li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);transition:background var(--dur-fast) var(--ease)}.tasklist li:last-child{border-bottom:none}.tasklist li:hover{background:var(--surface-2)}.tasklist li.done{background:var(--good-bg)}.tasklist li.done:hover{background:#dcebe1}.tasklist li.done .taskmain b{color:var(--ink-3)}.taskbox{width:22px;height:22px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);flex-shrink:0;background:var(--surface);position:relative;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.taskbox:hover{border-color:var(--brand)}.taskbox.on{background:var(--good);border-color:var(--good)}.taskbox.on:after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}.taskbox:disabled{opacity:.5;cursor:default}.taskmain{flex:1;min-width:0}.taskmain b{font-size:var(--t-sm);font-weight:650;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.taskmain small{display:block;color:var(--ink-3);font-size:var(--t-xs)}.taskrun{font-style:normal;font-size:var(--t-3xs);font-weight:700;letter-spacing:.04em;background:var(--ground);color:var(--ink-2);border-radius:var(--r-sm);padding:1px 5px}.taskmeta{font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;text-align:right}.taskmeta em{font-style:normal;font-weight:600}.alert-banner{display:flex;align-items:flex-start;gap:var(--s-3);background:var(--bad-bg);border:1px solid #ecc9c9;border-radius:var(--r-lg);padding:var(--s-3) var(--s-4)}.alert-banner b{display:block;font-size:var(--t-sm);font-weight:650;color:var(--bad)}.alert-banner small{display:block;font-size:var(--t-xs);color:#8c3030;margin-top:2px}.alert-x{margin-left:auto;color:var(--bad);display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm);flex-shrink:0}.alert-x:hover{background:#b8443c1a}.stay-expiry-warning{background:var(--bad-bg);border:1px solid #ecc9c9;border-radius:var(--r-md);padding:var(--s-3);font-size:var(--t-xs);color:#8c3030}.stay-expiry-warning b{color:var(--bad);display:block;font-size:var(--t-sm)}.stay-expiry-warning ul{margin:5px 0 5px var(--s-4)}.stay-expiry-warning small{display:block;margin-top:4px}.allergy-note{background:var(--warn-bg);color:var(--warn);border:1px solid #ecdcb4;border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--t-xs)}.form-error{background:var(--bad-bg);color:var(--bad);border:1px solid #ecc9c9;border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--t-xs);font-weight:550}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#101e1a6b;display:grid;place-items:center;padding:var(--s-5);z-index:100;animation:scrim-in var(--dur) var(--ease)}.modal{background:var(--surface);border-radius:var(--r-lg);width:min(520px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--lift);animation:modal-in var(--dur) var(--ease)}.modal.wide{width:min(680px,100%)}@keyframes scrim-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}}.modal-hd{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-4);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}.modal-hd b{font-size:var(--t-base);font-weight:650}.modal-x{margin-left:auto;color:var(--ink-3);display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.modal-x:hover{background:var(--ground);color:var(--ink)}.modal-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.modal-ft{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);background:var(--surface-2);position:sticky;bottom:0}.field{display:flex;flex-direction:column;gap:5px}.field>span,.inline-field>span{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.field>span em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:550}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.field-note{font-size:var(--t-xs);color:var(--ink-3);margin-top:-6px}.inline-field{display:flex;flex-direction:column;gap:4px;flex:1}.segmented{display:flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.segmented button{flex:1;padding:7px 0;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:var(--surface);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segmented button:hover{background:var(--surface-2)}.segmented button.on{background:var(--brand);color:#fff}.segmented button+button{box-shadow:inset 1px 0 0 var(--line)}.segmented button.on+button,.segmented button+button.on{box-shadow:none}.segmented.small button{padding:6px 0;font-size:var(--t-xs)}.intake{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.intake legend{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-weight:700;padding:0 var(--s-1)}.sub-label{font-size:var(--t-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.chipset{display:flex;flex-wrap:wrap;gap:5px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:5px 12px;font-size:var(--t-xs);font-weight:550;color:var(--ink-2);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.check-row{display:flex;gap:var(--s-3);align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.check-row:hover{border-color:var(--line-strong);background:var(--surface-2)}.check-row:has(input:checked){border-color:var(--brand);background:var(--brand-tint)}.check-row input{width:17px;height:17px;margin-top:1px;flex-shrink:0}.check-row b{display:block;font-size:var(--t-sm);font-weight:650}.check-row small{display:block;color:var(--ink-3);font-size:var(--t-xs);line-height:1.4}.check-row.compact{border:none;padding:var(--s-1) 0;background:none}.check-row.compact:hover{background:none}.check-input{margin-top:-6px}.checkin-sub{font-size:var(--t-xs);color:var(--ink-3)}.med-row{border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);background:var(--surface-2)}.med-remove{align-self:flex-start;font-size:var(--t-xs);font-weight:600;color:var(--bad)}.med-remove:hover{text-decoration:underline}.hint{color:var(--ink-3);font-size:var(--t-sm);padding:var(--s-5);text-align:center}.hint.error{color:var(--bad)}.empty{padding:var(--s-6) var(--s-5);text-align:center}.empty b{display:block;font-size:var(--t-base);font-weight:650;margin-bottom:var(--s-1)}.empty small{display:block;color:var(--ink-3);font-size:var(--t-sm);max-width:46ch;margin:0 auto}.skel{background:linear-gradient(90deg,var(--ground) 25%,#e4eae7 37%,var(--ground) 63%);background-size:400% 100%;animation:skel 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}.skel-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}@media (max-width: 900px){.skel-tiles{grid-template-columns:repeat(2,1fr)}}.skel-tile{height:92px}.skel-row{height:44px}.skel-stack{display:flex;flex-direction:column;gap:var(--s-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.print-head{display:none}.tbl.report td{vertical-align:top}.phonenav,.phonemore-scrim{display:none}@media (max-width: 768px){.side{display:none}.main{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.phonenav{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--chrome);border-top:1px solid rgba(255,255,255,.1);padding-bottom:env(safe-area-inset-bottom,0px)}.phonenav a,.phonenav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 4px;background:none;border:none;cursor:pointer;color:#ffffff9e;font-size:var(--t-2xs);font-weight:600;text-decoration:none}.phonenav a.on,.phonenav button.on{color:#fff}.phonenav a.on .ico,.phonenav button.on .ico{opacity:1}.phonemore-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f121473}.phonemore{position:absolute;inset:auto 0 0 0;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--s-4) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:2px}.phonemore-who{display:flex;align-items:center;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-2)}.phonemore-who b{display:block;font-size:var(--t-sm)}.phonemore-who small{color:var(--ink-3);font-size:var(--t-xs)}.phonemore a,.phonemore-out{display:flex;align-items:center;gap:var(--s-3);min-height:48px;padding:0 var(--s-2);border-radius:var(--r-md);color:var(--ink);text-decoration:none;font-size:var(--t-sm);font-weight:550;background:none;border:none;cursor:pointer;text-align:left}.phonemore a.on{background:var(--brand-tint);color:var(--brand-deep)}.phonemore-out{color:var(--bad);margin-top:var(--s-2)}.topbar{flex-wrap:wrap;height:auto;padding-top:var(--s-3);padding-bottom:var(--s-3);gap:var(--s-2)}.topbar .right{margin-left:0;width:100%;flex-wrap:wrap}.topbar h1{font-size:var(--t-sm)}.card{overflow-x:auto}table.tbl{min-width:460px}.tiles{grid-template-columns:repeat(2,1fr)}.cols,.grid2{grid-template-columns:1fr}.btn,.runact,.chip{min-height:40px}.modal{max-height:92vh}.taskbox{width:44px;height:44px;border:none;background:none;display:grid;place-items:center}.taskbox:before{content:"";width:24px;height:24px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--surface)}.taskbox.on{background:none}.taskbox.on:before{background:var(--good);border-color:var(--good)}.taskbox.on:after{left:50%;top:50%;margin:-7px 0 0 -3px}.segmented button,.segmented.small button{min-height:40px}.calswitch a{min-height:40px;display:flex;align-items:center}.alert-x{width:40px;height:40px}}@media print{.side,.topbar,.no-print,.board-legend{display:none!important}.main{overflow:visible}.content{padding:0;gap:var(--s-3)}.print-head{display:block;margin-bottom:var(--s-1)}.print-head h2{font-size:var(--t-lg)}.print-head p{font-size:var(--t-xs);color:#555}.card{border:1px solid #ccc;break-inside:auto}.tbl tr{break-inside:avoid}body{background:#fff}}
