:root{--color-sheet:oklch(100% 0 0);--color-paper:oklch(97.4% .002 100);--color-paper-veil:oklch(97.4% .002 100/.82);--color-paper-2:oklch(95.4% .003 100);--color-paper-3:oklch(92.6% .003 100);--color-rule:oklch(91% .003 100);--color-rule-strong:oklch(84% .004 100);--color-ghost:oklch(64% .004 100);--color-muted:oklch(48% .005 100);--color-ink:oklch(18% .005 100);--color-ink-2:oklch(31% .005 100);--color-accent:oklch(18% .005 100);--color-accent-hover:oklch(31% .005 100);--color-accent-soft:oklch(95.4% .003 100);--color-on-accent:oklch(100% 0 0);--color-focus:oklch(55% .19 255);--color-bubble-ai:oklch(18% .005 100);--color-on-bubble-ai:oklch(98% .001 100);--color-emergency:oklch(55% .2 27);--color-emergency-soft:oklch(95.5% .03 27);--color-urgent:oklch(50% .13 55);--color-urgent-soft:oklch(95.5% .045 75);--color-routine:oklch(45% .005 100);--color-routine-soft:oklch(94.6% .003 100);--color-ok:oklch(50% .13 150);--color-confetti-1:oklch(82% .11 78);--color-confetti-2:oklch(80% .1 152);--color-confetti-3:oklch(80% .08 250);--color-confetti-4:oklch(83% .08 22);--font-display:"Geist", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--weight-display:400;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:clamp(1.5rem, 1.2vw + 1.1rem, 1.875rem);--text-2xl:clamp(1.875rem, 2.2vw + 1rem, 2.75rem);--text-display:clamp(2.5rem, 4vw + 1rem, 4.25rem);--text-mega:clamp(4rem, 8vw + 1rem, 6.5rem);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--space-4xl:7rem;--page-gutter:clamp(1rem, 4vw, 2rem);--page-max:72rem;--nav-height:4.5rem;--radius-sm:10px;--radius-md:16px;--radius-lg:28px;--radius-bubble:20px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 1px 2px oklch(18% .005 100/.04), 0 16px 40px -20px oklch(18% .005 100/.16);--z-raised:1;--z-nav:20;--z-skip:30;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s}*,:before,:after{box-sizing:border-box}body{background:var(--color-paper);color:var(--color-ink);font:var(--text-base) / 1.55 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 var(--space-md);font-weight:500;line-height:1.15}h1{font-size:var(--text-xl)}h2{font-size:var(--text-md)}h3{font-size:var(--text-base);margin-top:var(--space-lg)}p{margin:0 0 var(--space-md)}a{color:var(--color-accent);text-underline-offset:3px}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}.error{color:var(--color-emergency);font-weight:500}.notice{background:var(--color-accent-soft);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--page-gutter);border-bottom:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;display:flex}.topbar nav{gap:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.topbar nav a{color:var(--color-ink);font-weight:500;text-decoration:none}.topbar nav a[aria-current=page]{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:2px}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;font-weight:500;font-size:var(--text-md);color:var(--color-ink);text-decoration:none}.page{max-width:52rem;padding:var(--space-xl) var(--page-gutter) var(--space-3xl);margin:0 auto}.row{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.row h1{margin:0}.grow{flex:1;min-width:0}.auth{max-width:26rem;padding:var(--space-2xl) var(--page-gutter);margin:0 auto}.auth .wordmark{margin-bottom:var(--space-xl);display:inline-block}form{gap:var(--space-md);margin-bottom:var(--space-lg);display:grid}label{gap:var(--space-2xs);font-weight:500;font-size:var(--text-sm);display:grid}input,textarea{font:inherit;color:inherit;background:var(--color-sheet);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);width:100%;min-width:0;min-height:44px}input[type=file]{padding:var(--space-lg) var(--space-md);background:var(--color-paper-2);cursor:pointer;border-style:dashed;border-width:2px}input[type=file]::file-selector-button{font:600 var(--text-base) var(--font-body);margin-right:var(--space-md);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:0}input:focus,textarea:focus{border-color:var(--color-accent)}.btn{min-height:44px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font:500 var(--text-base) var(--font-body);cursor:pointer;border:0;justify-content:center;justify-self:start;align-items:center;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn:disabled{opacity:.6;cursor:progress}.btn.secondary{background:var(--color-sheet);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-rule-strong)}.btn.secondary:hover{background:var(--color-paper-2);color:var(--color-ink)}.link{padding:var(--space-2xs) 0;font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:0;min-height:44px;text-decoration:underline}.link.danger{color:var(--color-emergency)}.topbar nav .link{color:var(--color-ink);font-weight:500;text-decoration:none}.card>:last-child{margin-bottom:0}.card{background:var(--color-sheet);box-shadow:var(--shadow-card);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md);border:0}.cards{margin:var(--space-lg) 0 0;gap:var(--space-md);padding:0;list-style:none;display:grid}.cards .card{margin:0}.list{border-top:var(--rule-hair) solid var(--color-rule);margin:0;padding:0;list-style:none}.list a{gap:var(--space-md);padding:var(--space-md) 0;border-bottom:var(--rule-hair) solid var(--color-rule);color:inherit;align-items:baseline;text-decoration:none;display:flex}.list a:hover .grow{text-decoration:underline}.tag{font-size:var(--text-sm);text-transform:capitalize;white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-weight:500}.tag.emergency{background:var(--color-emergency-soft);color:var(--color-emergency)}.tag.urgent{background:var(--color-urgent-soft);color:var(--color-urgent)}.tag.routine{background:var(--color-routine-soft);color:var(--color-routine)}.tag.pending{background:var(--color-paper-3);color:var(--color-muted)}.facts{gap:var(--space-2xs) var(--space-lg);grid-template-columns:minmax(8rem,max-content) 1fr;margin:0;display:grid}.facts dt{color:var(--color-muted);text-transform:capitalize}.facts dd{margin:0}.photos{gap:var(--space-sm);margin:var(--space-lg) 0;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.photos img,.photos video{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);width:100%;display:block}.thread{gap:var(--space-sm);padding:0;list-style:none;display:grid}.thread li{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-bubble);background:var(--color-sheet)}.thread li p{white-space:pre-wrap;margin:0}.thread li.agent{background:var(--color-bubble-ai);color:var(--color-on-bubble-ai);justify-self:end}.thread li.agent .muted{color:inherit;opacity:.75}.thread li.landlord{background:var(--color-paper-3);justify-self:end}.steps{gap:var(--space-lg);counter-reset:s;margin:0 0 var(--space-xl);flex-wrap:wrap;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;color:var(--color-muted)}.steps li:before{content:counter(s) ". "}.steps li[aria-current=step]{color:var(--color-ink);font-weight:600}.steps li.done{color:var(--color-routine)}.steps li.done:before{content:"✓ "}.qr-card{border:2px dashed var(--color-rule);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;margin-bottom:var(--space-lg);break-inside:avoid;background:var(--color-sheet)}.qr-card h2{margin-bottom:var(--space-xs)}@media print{.topbar,.no-print{display:none}.page{max-width:none;padding:0}.print{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.qr-card{margin:0}}@media (width<=30rem){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:var(--space-sm)}.list a{flex-wrap:wrap}}@media (prefers-reduced-motion:no-preference){.btn{transition:background var(--dur-micro) var(--ease-out)}}.demo-page{max-width:66rem}.demo-intro{max-width:40rem;padding:var(--space-xl) 0}.demo-intro h1{font-size:var(--text-2xl)}.demo-heading{justify-content:space-between;align-items:end;gap:var(--space-md);flex-wrap:wrap;display:flex}.demo-heading p{margin-bottom:var(--space-xs)}.demo-nav{gap:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);margin-bottom:var(--space-xl);display:flex;overflow-x:auto}.demo-nav a{padding:var(--space-sm) var(--space-md);color:var(--color-muted);font-size:var(--text-sm);border-bottom:2px solid #0000;flex:none;text-decoration:none}.demo-nav a[aria-current=page]{color:var(--color-ink);border-bottom-color:var(--color-ink);font-weight:600}.demo-chat{max-width:44rem}.demo-chat h2{margin:0}.demo-thread{margin:var(--space-lg) 0;padding:var(--space-lg);gap:var(--space-sm);background:var(--color-paper-2);border-radius:var(--radius-md);flex-direction:column;min-height:18rem;max-height:33rem;list-style:none;display:flex;overflow-y:auto}.demo-thread li{max-width:min(85%,30rem);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-bubble);overflow-wrap:anywhere}.demo-thread li p{white-space:pre-wrap;margin:0}.demo-thread li>span{margin-bottom:var(--space-2xs);opacity:.7;display:block}.demo-thread .line-message{background:var(--color-sheet);align-self:flex-start}.demo-thread .person-message{background:var(--color-bubble-ai);color:var(--color-on-bubble-ai);align-self:flex-end}.demo-thread .person-message a{color:inherit}.demo-thread .demo-empty{color:var(--color-muted);text-align:center;background:0 0;align-self:center;margin:auto}.demo-compose{margin-top:var(--space-md)}.tenants{border-top:1px solid var(--color-rule);margin-top:var(--space-md);padding-top:var(--space-md)}.tenants h3{font-size:var(--text-base);margin:0 0 var(--space-sm)}.tenants ul{margin:0 0 var(--space-md);padding:0;list-style:none}.tenants li.row{margin-bottom:var(--space-xs)}.tenants form{gap:var(--space-sm);max-width:24rem;display:grid}.tenants .check{gap:var(--space-xs);font-size:var(--text-sm);align-items:flex-start;display:flex}.tenants .check input{margin-top:.2rem}.segment{background:var(--color-paper-2);margin-bottom:var(--space-md);border-radius:999px;padding:4px;display:inline-flex}.segment button{font:inherit;cursor:pointer;color:var(--color-ink);background:0 0;border:0;border-radius:999px;min-height:40px;padding:.45rem 1rem;font-weight:500}.segment button[aria-selected=true]{background:var(--color-sheet);box-shadow:var(--shadow-card)}.issue{padding:var(--space-md) 0 var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.issue details{margin-top:var(--space-md)}.issue summary{cursor:pointer;font-weight:500}.card fieldset{margin:var(--space-md) 0;gap:var(--space-sm);border:0;padding:0;display:grid}.card legend{margin-bottom:var(--space-2xs);font-weight:600}.pair{gap:var(--space-sm);grid-template-columns:1.2fr 1fr 1.4fr;display:grid}@media (width<=30rem){.pair{grid-template-columns:1fr}}.tenant-form{gap:var(--space-sm);max-width:26rem;margin:var(--space-sm) 0 var(--space-md);display:grid}.facts.small{font-size:var(--text-sm);margin-bottom:var(--space-sm)}.unit-form{gap:var(--space-sm);display:grid}.tenants .tag{text-transform:none}.tenants .check,.tenant-form .check{gap:var(--space-xs);align-items:flex-start;font-weight:400;display:flex}.tenants .check input[type=checkbox]{flex:none;width:1.1rem;height:1.1rem;min-height:0;margin:.15rem 0 0;padding:0}
