@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_1d4ffc{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_1d4ffc{--font-serif:"Fraunces","Fraunces Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_aeb8b9{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}:root{--bg:#f3efe8;--paper:#fffdf9;--ink:#1b1714;--muted:#5e574e;--brand:#1f3a5f;--brand-dark:#15283f;--brand-soft:#e4ebf4;--accent:#c45c26;--ok:#1b6b4a;--warn:#9a5b12;--danger:#9b2c2c;--line:#e3dbd0;--shadow:0 10px 30px rgba(27,23,20,0.08);--radius:16px}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink)}body{min-height:100vh;font-family:Source Sans\ 3,Segoe UI,system-ui,sans-serif;font-size:16.5px;line-height:1.5}a{color:var(--brand)}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-serif),Georgia,serif;line-height:1.25}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header-inner{width:min(1120px,calc(100% - 1.2rem));margin:0 auto;min-height:72px;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand{text-decoration:none;color:inherit}.brand strong{display:block;color:var(--brand-dark)}.brand span{color:var(--muted);font-size:.88rem}.nav{display:flex;gap:.5rem;flex:1 1;flex-wrap:wrap}.nav a{color:var(--ink);text-decoration:none;font-weight:600;padding:.45rem .7rem;border-radius:999px}.nav a.on,.nav a:hover{background:var(--brand-soft);color:var(--brand-dark)}.header-meta{color:var(--muted);font-size:.9rem}.wrap{width:min(1120px,calc(100% - 1.2rem));margin:0 auto;padding:1.4rem 0 3rem}.hero{background:linear-gradient(135deg,#1f3a5f,#2d527a 55%,#c45c26 150%);color:#f8f4ea}.hero-inner{width:min(1120px,calc(100% - 1.2rem));margin:0 auto;padding:2.6rem 0 2.2rem}.hero h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:0 0 .6rem;max-width:18ch}.hero p{margin:0 0 1.2rem;max-width:48ch}.hero .filters{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));background:rgba(255,253,249,.12);padding:.85rem;border-radius:16px}.hero label{color:#efe6c9;font-size:.85rem;margin:0}.hero input,.hero select{background:#fff}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.15rem}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat{padding:1rem}.stat b{display:block;font-size:1.45rem;color:var(--brand-dark)}.stat span{color:var(--muted);font-size:.92rem}label{display:grid;grid-gap:.3rem;gap:.3rem;margin:0 0 .85rem;font-weight:600}input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #d5cec1;border-radius:12px;background:#fff}textarea{min-height:110px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1rem;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer;text-decoration:none}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.accent{background:var(--accent);color:#fff}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.danger{background:transparent;border-color:#e2b4b4;color:var(--danger)}.btn:disabled{opacity:.6;cursor:not-allowed}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge.ok{background:#d9f3e6;color:var(--ok)}.badge.warn{background:#f8e6c8;color:var(--warn)}.badge.danger{background:#f6d6d6;color:var(--danger)}.badge.muted{background:#eeeae2;color:var(--muted)}.alert{background:#f6d6d6;color:var(--danger)}.alert,.okmsg{padding:.7rem .85rem;border-radius:12px}.okmsg{background:#d9f3e6;color:var(--ok)}.muted{color:var(--muted)}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}.tabs button{border:0;background:#efe8db;border-radius:999px;padding:.45rem .85rem;cursor:pointer;font-weight:700}.tabs button.on{background:var(--brand);color:#fff}.empty{padding:1.2rem;color:var(--muted);text-align:center}.prop-card{display:grid;grid-gap:.55rem;gap:.55rem;text-decoration:none;color:inherit;padding:0;overflow:hidden}.prop-card .ph,.prop-card img{width:100%;height:170px;object-fit:cover;background:#d9cfc2;display:block}.prop-card .ph{display:grid;place-items:center;color:var(--muted);font-weight:700}.prop-card .body{padding:.9rem 1rem 1.1rem}.prop-card h3{margin:0 0 .2rem;font-size:1.15rem}.map{height:280px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.7rem;gap:.7rem;align-items:start}.kanban-col{background:#efe8db;border-radius:16px;padding:.7rem;min-height:120px}.kanban-col h3{font-size:.95rem;margin:0 0 .5rem}.check-grid{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:0 0 1rem}.check-grid label{display:flex;gap:.4rem;align-items:center;font-weight:600;margin:0}.check-grid input{width:auto}@media (max-width:720px){.app-header-inner{padding:.4rem 0}.nav{width:100%}td,th{white-space:nowrap}.map{height:220px}}