.app{display:grid;grid-template-columns:1fr;height:100vh;overflow:hidden;background:var(--color-bg)}.sidebar{display:none;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;padding:1.1rem .9rem;gap:.3rem;z-index:40}.brand{display:flex;align-items:center;gap:.7rem;padding:.4rem .6rem 1.1rem}.brand:hover{text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:9px;flex:none;display:grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-display);font-weight:700;font-size:1.2rem;box-shadow:0 4px 14px -4px var(--color-accent)}.brand-name{font-weight:700;font-size:1.15rem;letter-spacing:.04em;color:var(--color-text)}.brand-sub{font-size:.68rem;color:var(--color-text-faint);letter-spacing:.14em;text-transform:uppercase}.nav-section{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600;padding:.8rem .7rem .4rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .7rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:500;font-size:.92rem;transition:background .15s,color .15s;position:relative}.nav-item:hover{text-decoration:none}.nav-item svg{flex:none}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-item.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.nav-item.is-active:before{content:"";position:absolute;left:-.9rem;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-accent);border-radius:0 3px 3px 0}.nav-count{margin-left:auto;font-size:.75rem;color:var(--color-text-faint);font-family:var(--font-mono)}.nav-item.is-active .nav-count{color:var(--color-accent)}.sidebar-foot{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--color-border)}.user-row{display:flex;align-items:center;gap:.65rem;padding:.4rem .5rem;border-radius:var(--radius-sm)}.user-row:hover{background:var(--color-surface-hover)}.user-meta{min-width:0}.user-meta .n{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta .r{font-size:.72rem;color:var(--color-text-faint)}.main{overflow-y:auto;overflow-x:hidden;position:relative;min-width:0}.main-inner{width:100%;max-width:1180px;margin:0 auto;padding:1.1rem 1rem 5rem}@media(min-width:640px){.main-inner{padding:1.5rem 1.5rem 4rem}}@media(min-width:1024px){.main-inner{padding:1.8rem 2rem 4rem}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:30}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.page-title h1{font-size:clamp(1.4rem,4vw,1.75rem);font-weight:600;letter-spacing:-.01em}.page-title .sub{color:var(--color-text-muted);font-size:.9rem}.toolbar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1.3rem}.toolbar .search{flex:1;min-width:200px;max-width:360px}.toolbar .spacer{flex:1}.section{margin-bottom:2rem}.section-h{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600;margin-bottom:.9rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.3rem}.panel+.panel{margin-top:1rem}.list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.detail-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text-muted);font-size:.88rem;font-weight:500;margin-bottom:1.1rem}.detail-back:hover{color:var(--color-text)}.mobile-drawer{position:fixed;inset:0;z-index:80;display:none}.mobile-drawer.is-open{display:block}.mobile-drawer .scrim{position:absolute;inset:0;background:#0000008c}.mobile-drawer .sheet{position:absolute;top:0;left:0;bottom:0;width:min(270px,82vw);background:var(--color-surface);border-right:1px solid var(--color-border);padding:1.1rem .9rem;display:flex;flex-direction:column;gap:.3rem;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:none}}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in oklch,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);padding:.4rem .5rem .5rem}.bottom-nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem;color:var(--color-text-faint);font-size:.68rem;font-weight:500;border-radius:var(--radius-sm)}.bottom-nav a:hover{text-decoration:none}.bottom-nav a.is-on{color:var(--color-accent)}@media(min-width:1024px){.app{grid-template-columns:248px 1fr}.sidebar{display:flex}.topbar,.bottom-nav{display:none}}.select-person{display:flex;flex-direction:column;gap:.25rem}.property-form .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:.55rem 1rem}.property-form .link-row{display:flex;gap:.6rem;align-items:flex-end}.property-form .link-row .input-group{flex:1;min-width:0}.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:1.2rem}.prop-grid-row{display:grid;gap:1.2rem;padding-bottom:1.2rem;align-items:start}.prop-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.3,1),border-color .18s,box-shadow .18s;display:flex;flex-direction:column}.prop-card:hover{transform:translateY(-3px);border-color:var(--color-text-faint);box-shadow:var(--shadow)}.prop-photo{aspect-ratio:3 / 2;position:relative}.prop-photo .badge{background:color-mix(in oklch,var(--color-surface) 84%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.prop-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.prop-row1{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.prop-ref{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-faint)}.prop-loc{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.prop-addr{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-price{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin-top:.15rem}.prop-price .disc{font-family:var(--font-sans);font-size:.7rem;font-weight:600;color:var(--color-success);background:color-mix(in oklch,var(--color-success) 15%,transparent);padding:.1rem .4rem;border-radius:var(--radius-pill);margin-left:.5rem;vertical-align:middle}.prop-foot{display:flex;align-items:center;gap:1rem;padding-top:.65rem;margin-top:auto;border-top:1px solid var(--color-border-soft)}.prop-table-wrap{overflow-x:auto}.prop-table{display:grid;grid-template-columns:54px minmax(90px,1fr) minmax(160px,1.8fr) minmax(110px,1fr) minmax(110px,1fr) minmax(60px,.7fr) minmax(100px,1fr);align-items:center;column-gap:1rem;min-width:560px;padding:0 1rem}.prop-table-head{background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.prop-table-head>div{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600;padding:.75rem 0}.prop-table-body{background:var(--color-surface);min-width:560px}.prop-trow{border-bottom:1px solid var(--color-border-soft);cursor:pointer;transition:background .12s}.prop-trow:hover{background:var(--color-surface-hover)}.prop-tcell{padding:.85rem 0;font-size:.9rem;min-width:0}.prop-table .t-price{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.prop-table .t-loc{font-weight:600}.prop-table .t-thumb{width:54px;height:40px;border-radius:6px}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:200px;gap:.6rem;margin-bottom:1.5rem}.gallery .g-thumb{display:none}.gallery .ph{border-radius:var(--radius)}.gallery .g-main.ph{border-radius:var(--radius-lg)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.4rem;align-items:start}@media(min-width:1024px){.gallery{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:380px}.gallery .g-thumb{display:block}.gallery .g-main{grid-row:1 / 3;border-radius:var(--radius-lg)}.detail-grid{grid-template-columns:minmax(0,1fr) 340px;gap:1.8rem}}.detail-hero{display:flex;align-items:flex-start;gap:1.1rem;margin-bottom:1.4rem}.detail-hero-main{min-width:0;flex:1}.detail-hero .topline{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.5rem}.detail-hero h1{font-size:clamp(1.45rem,5vw,1.9rem);letter-spacing:-.02em;font-weight:600}.detail-hero .addr{color:var(--color-text-muted);display:flex;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.95rem}.detail-hero .addr svg{color:var(--color-text-faint)}.detail-statbar{display:flex;gap:1.6rem;flex-wrap:wrap;padding:1rem 1.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.6rem}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--color-border);margin-bottom:1.4rem;overflow-x:auto}.tab{padding:.7rem .9rem;font-size:.9rem;font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s}.tab:hover{color:var(--color-text)}.tab.is-on{color:var(--color-text);border-bottom-color:var(--color-accent)}.desc-text{font-size:1.02rem;line-height:1.7;color:var(--color-text);text-wrap:pretty}.notes-text{font-size:.92rem;line-height:1.6;color:var(--color-text-muted);border-left:2px solid var(--color-accent-line);padding-left:.9rem}.price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.price-card-top{padding:1.3rem;background:linear-gradient(160deg,var(--color-surface-2),var(--color-surface));border-bottom:1px solid var(--color-border)}.price-card-top .lbl{font-size:.78rem;color:var(--color-text-muted)}.price-card-top .big{font-family:var(--font-display);font-size:clamp(1.8rem,6vw,2.3rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:.2rem;overflow-wrap:break-word}@media(min-width:1024px){.price-card{position:sticky;top:0}}.price-card-body{padding:.5rem 1.3rem 1.1rem}.history-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1.1rem}.owner-row{display:flex;align-items:center;gap:.7rem;padding:.6rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.owner-row:hover{background:var(--color-surface-hover)}.owner-row .n{font-weight:600;font-size:.9rem}.owner-row .m{font-size:.78rem;color:var(--color-text-muted)}.owner-row .go{margin-left:auto;color:var(--color-text-faint)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:.9rem}.doc-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1rem}.doc-card h4{font-size:.82rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.45rem;margin-bottom:.7rem;font-weight:600}.doc-card h4 svg{color:var(--color-text-faint)}.link-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-accent-line);padding:.4rem .75rem;border-radius:var(--radius-pill);font-family:var(--font-mono)}.timeline{position:relative}.tl-day{margin-bottom:1.6rem}.tl-day-h{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.tl-day-h .d{font-weight:600;font-size:.95rem;flex:none;white-space:nowrap}.tl-day-h .d:first-letter{text-transform:uppercase}.tl-day-h .line{flex:1;height:1px;background:var(--color-border)}.tl-items{position:relative;padding-left:2.6rem}.tl-items:before{content:"";position:absolute;left:17px;top:6px;bottom:6px;width:2px;background:var(--color-border)}.tl-item{position:relative;margin-bottom:1rem}.tl-item:last-child{margin-bottom:0}.tl-item .action-dot{position:absolute;left:-2.6rem;top:0;box-shadow:0 0 0 5px var(--color-bg)}.tl-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .15s}.tl-card:hover{border-color:var(--color-text-faint)}.tl-card--clickable{cursor:pointer}.tl-card--clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}.tl-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.35rem}.tl-type{font-weight:600;font-size:.92rem}.tl-time{font-size:.78rem;color:var(--color-text-faint);font-family:var(--font-mono)}.tl-offer{margin-left:auto;font-family:var(--font-display);font-weight:600;font-size:1.05rem}.tl-notes{font-size:.88rem;color:var(--color-text-muted);line-height:1.55}.tl-people{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.tl-person{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);padding:.2rem .6rem .2rem .25rem;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap}.tl-person:hover{border-color:var(--color-text-faint)}.tl-ref{display:flex;align-items:center;gap:.35rem;font-size:.76rem;color:var(--color-text-muted);margin-top:.5rem}.tl-ref:hover{color:var(--color-accent)}.tl-ref-offer{margin-left:auto;font-family:var(--font-display);font-weight:600;color:var(--color-text);white-space:nowrap}.tl-status{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:.1rem .5rem;white-space:nowrap}.tl-status.is-done{color:var(--color-success);border-color:color-mix(in oklch,var(--color-success) 40%,transparent)}.virtual-spacer{position:relative;width:100%}.virtual-row{position:absolute;top:0;left:0;width:100%}.person-row{display:flex;align-items:center;gap:.9rem;padding:var(--row-pad) 1.1rem;border-bottom:1px solid var(--color-border-soft);cursor:pointer;transition:background .12s}.person-row:hover{background:var(--color-surface-hover)}.person-main{min-width:0;flex:1}.person-main .n{font-weight:600;display:flex;align-items:center;gap:.5rem}.person-main .m{font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-type-pill{font-size:.7rem;padding:.12rem .5rem;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:500}.person-contact{display:flex;align-items:center;gap:1rem;color:var(--color-text-muted);font-size:.85rem}.xmas{color:var(--color-warning);display:inline-flex;align-items:center;gap:.35rem}.pd-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.6rem}.pd-head>div{min-width:0}.pd-head .n{font-size:clamp(1.3rem,4.5vw,1.6rem);font-weight:600;letter-spacing:-.01em;overflow-wrap:break-word}.pd-head .m{color:var(--color-text-muted);margin-top:.2rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.pd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.4rem;align-items:start}@media(min-width:1024px){.pd-grid{grid-template-columns:320px minmax(0,1fr);gap:1.6rem}}.contact-line{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;font-size:.9rem}.contact-line svg{color:var(--color-text-faint);flex:none}.mini-prop{display:flex;align-items:center;gap:.8rem;padding:.7rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.mini-prop:hover{background:var(--color-surface-hover)}.mini-prop .ph{width:60px;height:46px;border-radius:6px;flex:none}.mini-prop>div{min-width:0;flex:1}.mini-prop .n{font-weight:600;font-size:.9rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-prop .m{font-size:.8rem;color:var(--color-text-muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-prop .pr{margin-left:auto;padding-left:.6rem;font-family:var(--font-display);font-weight:600;flex:none}.tl-loadmore{display:flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.8rem 0 1.4rem}.tl-loadmore-spinner{font-size:.85rem;color:var(--color-text-muted)}:root{color-scheme:dark;--color-bg: #121010;--color-bg-2: #171413;--color-surface: #1c1917;--color-surface-2: #211d1a;--color-surface-hover: #2a2521;--color-border: #322c27;--color-border-soft: #26221f;--color-text: #f1ece4;--color-text-muted: #a59a8c;--color-text-faint: #6f655a;--accent-h: 70;--accent-c: .1;--accent-l: .78;--color-accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h));--color-accent-hover: oklch(calc(var(--accent-l) + .07) var(--accent-c) var(--accent-h));--color-accent-soft: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .14);--color-accent-line: oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .32);--color-on-accent: #1a1408;--color-success: oklch(.74 .13 150);--color-danger: oklch(.68 .17 28);--color-warning: oklch(.8 .13 75);--color-info: oklch(.74 .1 240);--color-violet: oklch(.72 .11 300);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "Spectral", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 10px;--radius-sm: 7px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 6px 20px -6px rgba(0,0,0,.55);--shadow-lg: 0 24px 60px -16px rgba(0,0,0,.7);--row-pad: .9rem}:root[data-theme=light]{color-scheme:light;--color-bg: #f3efe8;--color-bg-2: #ffffff;--color-surface: #ffffff;--color-surface-2: #f6f2ea;--color-surface-hover: #ece6da;--color-border: #e3dccf;--color-border-soft: #efe9de;--color-text: #241f19;--color-text-muted: #6f6557;--color-text-faint: #9c9183;--accent-l: .56;--color-on-accent: #fdf9f0;--color-success: oklch(.55 .13 150);--color-danger: oklch(.56 .18 28);--color-warning: oklch(.62 .13 75);--color-info: oklch(.55 .12 240);--color-violet: oklch(.55 .13 300);--shadow-sm: 0 1px 2px rgba(40,30,15,.08);--shadow: 0 6px 20px -6px rgba(40,30,15,.14);--shadow-lg: 0 24px 60px -16px rgba(40,30,15,.22)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" 1}#root{height:100%}html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas,iframe{max-width:100%}img,video{height:auto}a,p,h1,h2,h3,h4,dd,td,span{overflow-wrap:break-word}::selection{background:var(--color-accent-soft)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--color-border);border:3px solid var(--color-bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-hover)}a{color:var(--color-accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}h1,h2,h3,h4{margin:0;font-weight:600}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-display)}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.divider{height:1px;background:var(--color-border);border:none;margin:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .05s;border:1px solid transparent}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-faint)}.btn--ghost{background:transparent;color:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn--danger{background:transparent;color:var(--color-danger);border-color:color-mix(in oklch,var(--color-danger) 40%,transparent)}.btn--danger:hover:not(:disabled){background:color-mix(in oklch,var(--color-danger) 14%,transparent)}.btn--sm{padding:.35rem .65rem;font-size:.8rem}.btn--full{width:100%;justify-content:center}.btn--icon{padding:.45rem}.btn--icon svg{width:17px;height:17px}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .6rem .22rem .5rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.badge--solid{color:var(--c);background:color-mix(in oklch,var(--c) 16%,transparent);border-color:color-mix(in oklch,var(--c) 30%,transparent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.card-title{margin:0 0 1rem;font-size:1rem}.field{display:flex;flex-direction:column;gap:.3rem}.field-label,.input-label{font-size:.78rem;color:var(--color-text-muted);font-weight:500}.input-group{display:flex;flex-direction:column;gap:.3rem}.input{padding:.55rem .7rem;background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus{outline:none;border-color:var(--color-accent-line);box-shadow:0 0 0 3px var(--color-accent-soft)}.input::placeholder{color:var(--color-text-faint)}.input.textarea{resize:vertical;min-height:80px}.input[type=datetime-local],.input[type=date],.input[type=time]{cursor:pointer}.input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65;transition:opacity .15s}.input::-webkit-calendar-picker-indicator:hover{opacity:1}.input-group--error .input{border-color:var(--color-danger)}.input-error{font-size:.75rem;color:var(--color-danger)}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:.7rem;width:16px;height:16px;color:var(--color-text-faint);pointer-events:none}.search .input{padding-left:2.1rem}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{padding:.4rem .8rem;border-radius:var(--radius-pill);font-size:.82rem;font-weight:500;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);transition:all .15s}.chip:hover{color:var(--color-text);border-color:var(--color-text-faint)}.chip--active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent-line)}.seg{display:inline-flex;background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px}.seg button{padding:.35rem .6rem;border-radius:5px;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500}.seg button svg{width:15px;height:15px}.seg button.is-on{background:var(--color-surface-hover);color:var(--color-text)}.ph{position:relative;overflow:hidden;background-color:var(--color-surface-2);background-image:repeating-linear-gradient(-45deg,transparent,transparent 9px,color-mix(in oklch,var(--color-border) 70%,transparent) 9px,color-mix(in oklch,var(--color-border) 70%,transparent) 10px);display:flex;align-items:center;justify-content:center}.ph span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--color-text-faint);text-transform:lowercase;background:var(--color-surface);padding:.2rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--color-border)}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;font-size:.85rem;background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.avatar--co{border-radius:var(--radius-sm)}.stat-ico{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.85rem}.stat-ico svg{width:15px;height:15px;color:var(--color-text-faint)}.sk{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 37%,var(--color-surface) 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:var(--radius-sm)}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}.type-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.type-tag svg{color:var(--color-accent)}.action-dot{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none;color:var(--c);background:color-mix(in oklch,var(--c) 16%,transparent);border:1px solid color-mix(in oklch,var(--c) 32%,transparent)}.mapbox{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--color-bg-2);border:1px solid var(--color-border)}.mapbox-grid{position:absolute;inset:0;opacity:.8}.mapbox-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);color:var(--color-accent);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.mapbox-coords{position:absolute;bottom:.6rem;left:.6rem;font-size:.72rem;color:var(--color-text-muted);background:color-mix(in oklch,var(--color-surface) 86%,transparent);padding:.2rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mapbox-label{position:absolute;top:.6rem;left:.6rem;font-size:.78rem;color:var(--color-text);background:color-mix(in oklch,var(--color-surface) 86%,transparent);padding:.25rem .6rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stat-block{display:flex;align-items:center;gap:.55rem}.stat-block>svg{color:var(--color-text-faint);flex:none}.stat-block-v{font-weight:600;font-size:.95rem}.stat-block-l{font-size:.72rem;color:var(--color-text-faint)}.kv{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--color-border-soft)}.kv:last-child{border-bottom:none}.kv dt{color:var(--color-text-muted);font-size:.85rem;margin:0}.kv dd{margin:0;font-weight:500;text-align:right}.empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3.5rem 1.5rem;text-align:center}.empty-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text-faint);border:1px solid var(--color-border);margin-bottom:.3rem}.empty h3{font-size:1.05rem}.empty p{margin:0;max-width:30ch}.feat-chips{display:flex;flex-wrap:wrap;gap:.5rem}.feat-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;padding:.35rem .7rem;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text)}.feat-chip svg{color:var(--color-success)}.energy{display:inline-flex;gap:3px}.energy-step{width:22px;height:26px;display:grid;place-items:center;font-size:.72rem;font-weight:700;border-radius:4px;background:var(--color-surface-2);color:var(--color-text-faint);border:1px solid var(--color-border)}.energy-step.is-on{background:var(--c);color:#1a1408;border-color:transparent;transform:scale(1.12);box-shadow:0 2px 8px -2px var(--c)}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0009;overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:100%;max-width:720px;max-height:90vh;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:1}.modal-title{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.01em}.modal-body{padding:1.4rem}.loading{padding:3rem;text-align:center;color:var(--color-text-muted)}.form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem}@media(min-width:640px){.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:0;display:flex;flex-direction:column;gap:.9rem;background:var(--color-surface-2)}.form-fieldset legend{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600;padding:0 .4rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:.4rem}.checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text);cursor:pointer}.checkbox-label input{accent-color:var(--color-accent);width:16px;height:16px}.person-form,.property-form,.action-form{display:flex;flex-direction:column;gap:1rem}.embedded-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.embedded-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;padding:.3rem .45rem .3rem .7rem;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text)}.tag-remove{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--color-text-faint);font-size:.9rem;line-height:1}.tag-remove:hover{background:var(--color-surface-hover);color:var(--color-danger)}.embedded-actions{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.embedded-actions .select-person{flex:1;min-width:180px}
