@import "tailwindcss";

:root{--green:#193f2d;--green2:#28583e;--gold:#c9955b;--cream:#f7f5ef;--ink:#20352a;--muted:#6f7f76;--line:#e6e9e2}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#9db1a4}.gold{color:var(--gold)}.muted{color:var(--muted)}.primary{border:0;border-radius:10px;background:var(--green);color:white;padding:14px 18px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;transition:.2s}.primary:hover{background:var(--green2);transform:translateY(-1px)}.compact{width:auto;padding:11px 16px}.error{background:#fff0ee;color:#a33b2f;border-radius:8px;padding:10px;font-size:13px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--green)}
.loginPage{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.brandPanel{background:linear-gradient(150deg,#183c2b,#28563f);padding:58px 8vw 44px;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden}.brandPanel:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(201,149,91,.17);border-radius:50%;right:-250px;bottom:-220px;box-shadow:0 0 0 70px rgba(201,149,91,.04),0 0 0 140px rgba(201,149,91,.03)}.loginLogo{width:min(440px,78%);background:white;border-radius:14px;padding:15px;position:relative;z-index:1}.brandPanel h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:1.02;max-width:650px;margin:0 0 24px}.brandCopy{max-width:510px;font-size:18px;line-height:1.7;color:#d4dfd8}.support{font-size:13px;color:#b8c9be}.loginFormWrap{display:grid;place-items:center;padding:40px;background:#fbfaf6}.loginCard{width:min(430px,100%);background:white;border:1px solid var(--line);box-shadow:0 24px 80px rgba(25,63,45,.09);border-radius:22px;padding:44px}.welcomeIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f2e6d8;color:var(--gold);font-family:Georgia;font-size:24px;margin-bottom:24px}.loginCard h2{font-family:Georgia,serif;font-size:40px;font-weight:400;margin:0}.loginCard>label,.modal label{display:grid;gap:8px;font-size:13px;font-weight:700;margin:22px 0}.loginCard input,.modal input,.modal select{border:1px solid #dce2dc;border-radius:9px;padding:13px 14px;outline:none;background:white}.loginCard input:focus,.modal input:focus,.modal select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9955b22}.loginCard details{margin-top:18px;color:var(--muted);font-size:12px}.loginCard summary{cursor:pointer;margin-bottom:8px}
.appShell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.appShell aside{background:var(--green);color:white;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sideLogo{width:100%;background:white;padding:10px;border-radius:10px}.appShell nav{display:grid;gap:8px;margin-top:46px}.appShell nav button{border:0;background:transparent;color:#b9cbbf;text-align:left;padding:13px 14px;border-radius:9px;font-weight:650}.appShell nav button span{display:inline-block;width:28px}.appShell nav button:hover,.appShell nav .active{background:#ffffff12;color:white}.sideBottom{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:20px;display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#ead7bd;color:#8a6139;font-weight:800}.sideBottom div{display:grid;min-width:0;flex:1}.sideBottom strong{font-size:13px}.sideBottom small{color:#a9bdb0;font-size:11px}.sideBottom button{border:0;background:transparent;color:#a9bdb0;font-size:20px}.content{padding:38px 4vw 60px}.content>header{display:flex;justify-content:space-between;align-items:center}.content header h1{font-family:Georgia,serif;font-size:40px;font-weight:400;margin:0}.content header p:last-child{color:var(--muted);margin:6px 0}.rolePill,.badge{background:#edf3ee;color:var(--green2);font-size:11px;font-weight:800;border-radius:99px;padding:7px 11px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.stats article{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;gap:15px}.stats article>span{width:44px;height:44px;display:grid;place-items:center;background:#f5ede3;color:var(--gold);border-radius:10px}.stats article div{display:grid}.stats strong{font-family:Georgia;font-size:26px}.stats small{color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:26px}.panelHead{display:flex;justify-content:space-between;align-items:center}.panel h2,.drawer h2,.modal h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:0}.panelHead p{color:var(--muted);font-size:13px;margin:5px 0}.search{margin:22px 0;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fafbf8}.search input{border:0;outline:0;background:transparent;padding:13px 0;width:100%}.lotGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lotCard{border:1px solid var(--line);background:white;border-radius:13px;padding:18px;text-align:left;color:var(--ink);transition:.2s}.lotCard:hover{border-color:#c9955b88;box-shadow:0 10px 28px #193f2d10;transform:translateY(-2px)}.lotTop{display:flex;justify-content:space-between;align-items:center}.house{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eef3ef;color:var(--green)}.full{background:#f4e7e1;color:#a95641}.lotCard>p{font-size:10px;letter-spacing:.14em;color:var(--gold);font-weight:800;margin:18px 0 4px}.lotCard h3{font-family:Georgia;font-size:25px;font-weight:400;margin:0}.lotCard>small{color:var(--muted)}.people{display:flex;align-items:center;margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.people>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e5eee8;color:var(--green);font-size:10px;font-weight:800;margin-right:-5px;border:2px solid white}.people b{margin-left:auto;font-size:11px;color:var(--green)}.empty{color:var(--muted);padding:30px}
.overlay{position:fixed;z-index:20;inset:0;background:#10291dc4;backdrop-filter:blur(4px);display:grid;place-items:center}.drawer{position:absolute;right:0;top:0;height:100%;width:min(520px,100%);background:white;padding:52px 42px;overflow:auto}.close{position:absolute;right:22px;top:18px;border:0;background:#f2f4f0;border-radius:50%;width:36px;height:36px;font-size:22px}.capacity{background:#f7f8f4;border-radius:10px;padding:15px;margin:25px 0}.capacity>span{display:block;font-size:13px;margin-bottom:10px}.capacity>i{display:block;height:6px;background:#dfe6df;border-radius:10px;overflow:hidden}.capacity>i>i{display:block;height:100%;background:var(--gold)}.residentList{display:grid;gap:9px;margin:14px 0 24px}.residentList article{border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;gap:12px;align-items:center}.residentList article div{display:grid}.residentList small{color:var(--muted);margin-top:4px}.modal{width:min(480px,calc(100% - 30px));background:white;border-radius:18px;padding:35px;position:relative;max-height:92vh;overflow:auto}.modal .primary{margin-top:12px}
@media(max-width:980px){.lotGrid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.appShell{grid-template-columns:80px 1fr}.appShell aside{padding:18px 10px}.sideLogo{padding:4px}.appShell nav button{font-size:0;text-align:center}.appShell nav button span{font-size:19px;width:auto}.sideBottom div,.sideBottom button{display:none}.sideBottom{justify-content:center}.loginPage{grid-template-columns:1fr}.brandPanel{min-height:38vh;padding:30px}.brandPanel>div{margin-top:60px}.support{display:none}.loginFormWrap{padding:28px}}
@media(max-width:620px){.lotGrid{grid-template-columns:1fr}.content{padding:25px 16px}.content>header{align-items:flex-start}.rolePill{display:none}.panel{padding:18px}.panelHead{align-items:flex-start;gap:12px}.panelHead .primary{font-size:0;width:42px;height:42px;padding:0}.panelHead .primary:first-letter{font-size:20px}.loginCard{padding:30px 22px}.brandPanel h1{font-size:40px}.drawer{padding:48px 22px}.appShell{grid-template-columns:64px 1fr}}
.ownerPreview{display:grid;gap:4px;margin-top:14px;min-height:70px}.ownerPreview strong{font-size:13px;line-height:1.35}.ownerPreview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.ownerContact{display:grid;gap:7px;background:#f7f8f4;border:1px solid var(--line);border-radius:12px;padding:18px;margin:22px 0}.ownerContact p{margin:0}.ownerContact strong{line-height:1.45}.ownerContact a{color:var(--green2);font-size:13px;text-decoration:none;overflow-wrap:anywhere}.ownerContact a:hover{text-decoration:underline}
.filterBar{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:12px;align-items:end;margin:22px 0 8px}.filterBar .search{margin:0}.blockFilter{display:grid;gap:6px}.blockFilter span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.blockFilter select{height:43px;border:1px solid var(--line);border-radius:10px;background:#fafbf8;color:var(--ink);padding:0 12px;outline:none}.blockFilter select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9955b22}.clearFilter{height:43px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--green);padding:0 15px;font-weight:700}.clearFilter:hover{background:#f7f8f4}.resultCount{margin:0 0 18px;color:var(--muted);font-size:12px}.lotCard[hidden],.filteredEmpty[hidden]{display:none}
@media(max-width:760px){.filterBar{grid-template-columns:1fr 1fr}.filterBar .search{grid-column:1/-1}.clearFilter{width:100%}}
