@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--green:#17633d;--green2:#0e3a2b;--pale:#edf5ef;--ink:#18241e;--muted:#738078;--line:#e3eae5;--paper:#fff;--bg:#f5f7f5;--red:#c43e3e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}.layout{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:linear-gradient(160deg,#0b2b20,#123e2c 65%,#082219);color:#e9f2ec;padding:25px 15px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:block;text-align:center;font-family:'Playfair Display',serif;font-size:28px;letter-spacing:2px;padding:4px 0 28px;color:#fff}.brand small,.brand-mark small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:3px}.brand-leaf{display:block;font-size:24px;color:#c6d7bd}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px 11px;border-radius:8px;font-size:13px;color:#d1dfd5;transition:.2s}.sidebar nav a:hover,.sidebar nav a.active{background:#1b6940;color:white}.sidebar-foot{margin-top:auto;padding:25px 9px 12px;color:#a9c9b5;font-family:'Playfair Display',serif;font-style:italic;font-size:21px;line-height:1.25}.main{min-width:0;padding:0 28px 20px}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.user{display:flex;align-items:center;gap:10px;color:var(--ink)}.user small{display:block;color:var(--muted)}.user>a{color:var(--green);margin-left:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dce9dd;color:var(--green);font-weight:700}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 22px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--green);font-weight:700;margin:0 0 5px}.hero h1,.page-head h1,.gallery-wrap h1{font:600 clamp(27px,3vw,38px)/1.15 'Playfair Display',Georgia,serif;margin:0 0 7px}.hero p:not(.eyebrow){margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--green);color:white;border:1px solid var(--green);padding:10px 15px;border-radius:7px;font-weight:600;font-size:12px;white-space:nowrap}.btn:hover{background:#0f4e30}.btn-light{background:white;color:var(--ink);border-color:var(--line)}.btn-outline{background:white;color:#b63c3c;border-color:#e9b5b5}.btn-danger{background:#fff1f1;color:#a52e2e;border-color:#f0cccc}.btn-small{padding:7px 9px;font-size:11px;border-radius:5px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 17px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:15px 17px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:23px;margin-top:4px}.stat .stat-tag{font-size:14px;color:var(--green);padding-top:4px}.panel{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 12px #132e1905}.filters{display:grid;grid-template-columns:minmax(170px,1.7fr) repeat(4,minmax(105px,1fr)) auto;align-items:end;gap:12px;padding:16px;margin-bottom:18px}.filters label,.form-grid label,.auth-card label{display:grid;gap:6px;color:#58655d;font-size:11px;font-weight:600}.filters input,.filters select,.form-grid input,.form-grid textarea,.auth-card input{width:100%;min-width:0;border:1px solid #dce4de;background:#fff;border-radius:6px;padding:10px 11px;outline:none;color:var(--ink)}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid textarea:focus,.auth-card input:focus{border-color:#6da184;box-shadow:0 0 0 3px #17633d12}.filters .search{display:flex;align-items:center;border:1px solid #dce4de;border-radius:6px;padding-left:11px;font-size:20px;color:#69786d}.filters .search input{border:0;box-shadow:none}.filter-btn{height:39px}.table-panel{overflow:hidden}.table-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px}.table-heading h2{font-size:16px;margin:0 0 3px}.muted{color:var(--muted);margin:0}.table-heading .muted{font-size:12px}.count-pill,.zone-pill{display:inline-block;border-radius:100px;background:var(--pale);color:var(--green);padding:5px 9px;font-size:11px;white-space:nowrap}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1050px}th{background:#f1f6f2;color:#3d4c42;font-size:10px;text-transform:uppercase;letter-spacing:.45px;text-align:left;padding:12px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid #eaf0eb;font-size:12px;vertical-align:middle}tbody tr:hover{background:#fbfdfb}.rownum{font-weight:700;color:#879188}.property-cell{display:flex;align-items:center;gap:10px;min-width:190px}.thumb{width:66px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex-shrink:0}.placeholder{display:grid;place-items:center;background:#eaf2eb;color:var(--green);font-family:'Playfair Display',serif;font-size:18px}.property-name{font-weight:700;display:block;max-width:190px}.property-cell small,.subline{display:block;font-size:10px;color:var(--muted);margin-top:3px}.download-actions{display:flex;gap:5px}.contact{display:grid;gap:3px;min-width:155px}.contact b{font-size:11px}.contact a{font-size:10px;color:#66736a;overflow-wrap:anywhere}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;color:var(--muted);font-size:11px}.text-link{color:var(--green);font-weight:700}.site-foot{text-align:center;color:#9aa39c;font-size:10px;padding:15px}.empty{padding:35px;text-align:center;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 20px}.form-panel{padding:22px;max-width:1000px}.section-title{font-weight:700;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:11px;margin:4px 0 17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:26px}.form-grid label{font-size:12px}.form-grid .span-2{grid-column:span 2}.form-grid textarea{resize:vertical}.upload-box{display:block;padding:20px;border:1px dashed #b9cbbd;border-radius:8px;background:#f9fcf9;color:#536257;font-size:12px}.upload-box input{display:block;margin-top:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px}.image-tile{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding-bottom:8px}.image-tile img{width:100%;height:110px;object-fit:cover;display:block}.inline-form{padding:7px;text-align:center}.delete-row{max-width:1000px;margin:20px auto}.text-danger{border:0;background:transparent;color:var(--red);cursor:pointer}.alert,.success{padding:12px 15px;border-radius:7px;margin:0 0 15px}.alert{background:#fff0ee;color:#a33b2e}.success{background:#e9f6ec;color:#17633d}.auth-bg{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top right,#dbe9dc,transparent 50%),linear-gradient(140deg,#f8faf8,#eaf1eb)}.auth-card{width:min(100%,420px);background:white;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 18px 60px #163a2010}.brand-mark{text-align:center;font:28px 'Playfair Display',serif;letter-spacing:2px;color:var(--green2);margin-bottom:26px}.brand-mark small{color:#7c8b7f}.auth-card h1{font:600 30px 'Playfair Display',serif;margin:0 0 8px}.auth-card form{display:grid;gap:15px;margin-top:22px}.auth-card label{font-size:12px}.auth-card .full{width:100%;margin-top:4px;padding:12px}.tiny{font-size:11px;text-align:center;margin-top:20px}.gallery-page{background:white}.gallery-wrap{max-width:1100px;margin:auto;padding:30px}.gallery-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.gallery-wrap h1{margin:0 0 8px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}.gallery-grid figure{margin:0;border:1px solid var(--line);padding:8px;border-radius:8px;break-inside:avoid}.gallery-grid img{width:100%;height:300px;object-fit:cover;border-radius:4px}.gallery-grid figcaption{padding:8px 3px 2px;font-size:12px;font-weight:600}.gallery-wrap>.muted{margin-top:20px}
@media(max-width:1200px){.layout{grid-template-columns:205px minmax(0,1fr)}.main{padding:0 18px}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .search{grid-column:span 2}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.layout{display:block}.sidebar{position:static;height:auto;min-height:0;padding:12px}.brand{padding:0 0 12px;font-size:22px}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav a{white-space:nowrap;padding:9px}.sidebar-foot{display:none}.main{padding:0 12px}.topbar{height:55px}.hero,.page-head{align-items:flex-start;flex-direction:column}.hero .btn{width:100%}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:19px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.filters .search{grid-column:span 2}.filter-btn{width:100%}.table-heading{padding:14px}.form-panel{padding:15px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.gallery-wrap{padding:16px}.gallery-head{align-items:flex-start;gap:12px;flex-direction:column}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}}
@media print{.no-print{display:none!important}.gallery-wrap{max-width:none;padding:0}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-grid img{height:240px}.gallery-grid figure{border:0}.gallery-head{margin-bottom:15px}body{background:white}}

/* La Vida monochrome premium refresh */
:root{--green:#171917;--green2:#080a09;--pale:#f0f1ef;--ink:#171917;--muted:#626862;--line:#dedfdb;--paper:#fff;--bg:#f7f7f5;--red:#343434}
body{font-size:15px;line-height:1.6;background:#f7f7f5}
.sidebar{background:linear-gradient(180deg,#111311 0%,#1a1c19 72%,#0c0e0c 100%);color:#f7f7f5;padding:24px 16px}
.sidebar nav a{font-size:14px;color:#e5e6e2;padding:13px 12px}
.sidebar nav a:hover,.sidebar nav a.active{background:#fff;color:#111}
.brand{padding:0 3px 26px;display:block}
.brand img{display:block;width:100%;max-width:190px;height:auto;margin:0 auto;border-radius:3px}
.sidebar-foot{color:#d0d2cc;background-image:url('mountain-forest.svg');background-position:center bottom;background-size:cover;font-size:22px;min-height:190px;display:flex;align-items:flex-end}
.topbar{font-size:13px;height:72px}
.hero{position:relative;isolation:isolate;min-height:145px;padding:28px 0}
.hero:after{content:"";position:absolute;z-index:-1;inset:0 -28px 0 25%;background:url('mountain-forest.svg') center/cover no-repeat;opacity:.7;pointer-events:none}
.hero h1,.page-head h1,.gallery-wrap h1{font-size:clamp(30px,3.2vw,42px)}
.hero p:not(.eyebrow){font-size:15px}
.eyebrow{font-size:12px;letter-spacing:2.5px;color:#454943}
.btn{background:#171917;border-color:#171917;font-size:13px;padding:11px 16px}
.btn:hover{background:#353735}
.btn-light,.btn-outline{background:#fff;color:#171917;border-color:#cfd1cc}
.btn-outline{border-color:#555;color:#222}
.filters{padding:19px;gap:14px}
.filters label,.form-grid label,.auth-card label{font-size:12px}
.filters input,.filters select,.form-grid input,.form-grid textarea,.auth-card input{font-size:14px;padding:12px}
.stat{padding:17px 19px}
.stat span{font-size:13px}
.stat strong{font-size:26px}
.table-heading h2{font-size:18px}
.table-heading .muted{font-size:13px}
table{min-width:1150px}
th{font-size:11px;padding:14px 12px;color:#30332f}
td{font-size:13px;padding:14px 12px}
.property-name{font-size:13px}
.property-cell small,.subline{font-size:11px}
.thumb{width:74px;height:60px}
.contact b{font-size:12px}
.contact a{font-size:11px}
.zone-pill,.count-pill{background:#f0f1ef;color:#252724;font-size:12px}
.form-panel{padding:26px}
.section-title{font-size:16px}
.form-grid label{font-size:13px}
.upload-box{font-size:13px}
.gallery-wrap{position:relative}
.gallery-wrap:before{content:"";position:absolute;inset:0 0 auto;height:230px;background:url('assets/mountain-forest.svg') center/cover no-repeat;opacity:.35;pointer-events:none}
.gallery-head,.gallery-wrap>p,.gallery-wrap>h1,.gallery-grid{position:relative}
.brand-mark img{display:block;width:250px;max-width:60vw;height:auto}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gallery-grid img{height:320px;object-fit:contain;background:#f3f3f1}
.gallery-grid figure{border-color:#d8dad5;padding:10px}
.gallery-grid figcaption{font-size:13px}
.auth-card{font-size:15px}
.auth-card h1{font-size:34px}
@media(max-width:720px){.brand img{max-width:155px}.sidebar nav a{font-size:13px}.hero:after{inset:0 -12px 0 15%}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}}
@media print{
  body{font-size:14px!important;background:#fff!important}
  .gallery-wrap:before{opacity:.18;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .brand-mark img{width:210px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)!important}
  .gallery-grid img{height:270px;object-fit:contain}
  .gallery-grid figure{border:1px solid #ddd!important}
  .gallery-grid figure,.gallery-grid img{break-inside:avoid;page-break-inside:avoid}
}
