@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--green:#0b4d49;--green2:#0b6b61;--gold:#d5a84d;--cream:#f3f7f5;--text:#15312f;--muted:#6b7c7a;--line:#dfe8e5;--white:#fff;--danger:#b64343;}
*{box-sizing:border-box}body{margin:0;font-family:Cairo,Arial,sans-serif;background:#f8faf9;color:var(--text);line-height:1.8}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:28px}.brand img{width:205px;height:auto;display:block}.main-nav{display:flex;gap:20px;align-items:center;flex:1;justify-content:center;font-size:14px}.main-nav a:hover{color:var(--green2)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 18px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn-primary{background:var(--green2);color:#fff}.btn-outline{border-color:var(--green2);color:var(--green2);background:#fff}.btn-danger{background:#fff0f0;color:var(--danger);border-color:#ffd2d2}.hero{background:linear-gradient(120deg,#e9f3ef,#f6efe0);padding:75px 0 65px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.eyebrow{color:var(--gold);font-weight:800}.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.25;margin:10px 0}.hero p{font-size:18px;color:#526764}.search-box{background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px #0b4d4914;border-radius:18px;padding:18px}.search-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.search-grid input,.search-grid select,.form-control{width:100%;padding:12px;border:1px solid #d9e3e0;border-radius:9px;background:#fff;font:inherit}.section{padding:58px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section h2{font-size:32px;margin:0}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:-28px;position:relative}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 8px 24px #0b4d4909}.stat strong{display:block;font-size:27px;color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #0b4d4908}.card-img{height:220px;background:#dbe7e3;position:relative;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:12px;right:12px;background:#fff;color:var(--green);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.card-body{padding:18px}.project{color:var(--green2);font-weight:800;font-size:13px}.card h3{font-size:20px;margin:7px 0}.facts{display:flex;gap:10px;flex-wrap:wrap;color:#5d6e6c;font-size:13px}.price{font-size:22px;font-weight:800;margin:14px 0;color:var(--green)}.finance{background:#f2f7f4;padding:10px;border-radius:10px;font-size:13px}.card-actions{display:flex;gap:8px;margin-top:15px}.card-actions .btn{flex:1}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{position:relative;height:280px;border-radius:18px;overflow:hidden;background:var(--green);color:#fff}.project-card img{width:100%;height:100%;object-fit:cover;transition:.3s}.project-card:hover img{transform:scale(1.04)}.project-overlay{position:absolute;inset:0;background:linear-gradient(transparent 30%,#061f1dcc);padding:22px;display:flex;flex-direction:column;justify-content:end}.project-overlay h3{font-size:25px;margin:0}.project-overlay p{margin:0;color:#eee}.listing-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.gallery-main{background:#e8efed;border-radius:18px;overflow:hidden;height:480px}.gallery-main img{width:100%;height:100%;object-fit:cover}.detail-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}.detail-box h1{margin-top:5px}.detail-price{font-size:31px;font-weight:800;color:var(--green)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.detail-item{padding:12px;background:#f4f8f6;border-radius:10px}.notice{padding:14px;border-radius:12px;background:#fff8e8;border:1px solid #f1d99b;color:#735a20}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:700;margin-bottom:6px}.full{grid-column:1/-1}.site-footer{background:#082f2d;color:#dfeae7;margin-top:50px;padding-top:45px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px;padding-bottom:35px}.footer-logo{width:190px}.site-footer a{display:block;margin:6px 0;color:#dfeae7}.site-footer h3{color:#fff}.copyright{border-top:1px solid #ffffff18;padding:18px 0;font-size:13px}.copyright span{color:#9eb1ae}.admin-wrap{padding:35px 0}.admin-shell{display:grid;grid-template-columns:220px 1fr;gap:25px}.admin-side{background:var(--green);color:#fff;border-radius:16px;padding:18px;height:max-content}.admin-side a{display:block;padding:10px;border-radius:8px}.admin-side a:hover{background:#ffffff12}.admin-main{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.table th{background:#f5f8f7}.alert{padding:13px;border-radius:10px;margin-bottom:15px}.alert.success{background:#eaf7ef;color:#21683d}.alert.error{background:#fff0f0;color:#8b2d2d}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e9f3ef,#f7efdc)}.login-box{background:#fff;width:min(440px,calc(100% - 30px));padding:30px;border-radius:18px;box-shadow:0 20px 60px #0001}.small{font-size:12px}.pagination{display:flex;gap:7px;justify-content:center;margin-top:30px}.pagination a{padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:8px}.pagination .active{background:var(--green);color:#fff}
@media(max-width:900px){.main-nav{display:none}.nav-wrap{justify-content:space-between}.hero-grid,.listing-detail{grid-template-columns:1fr}.cards,.project-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.search-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.gallery-main{height:360px}}
@media(max-width:600px){.cards,.project-grid,.stats,.search-grid,.form-grid{grid-template-columns:1fr}.hero{padding:45px 0}.nav-cta{padding:8px 12px;font-size:12px}.brand img{width:165px}.section{padding:40px 0}.card-img{height:210px}.footer-grid{grid-template-columns:1fr}.listing-detail{gap:15px}}

.unit-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.unit-gallery img{width:100%;height:150px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#f6f8f7}
.calculator-box{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 12px 35px #163d3510}
.calc-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.calc-results>div{padding:18px;border-radius:14px;background:#f3f8f6;border:1px solid #dce9e5}
.calc-results span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}
.calc-results strong{font-size:22px;color:var(--primary)}
@media(max-width:800px){.calc-results{grid-template-columns:1fr 1fr}.unit-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.calc-results{grid-template-columns:1fr}.unit-gallery{grid-template-columns:1fr}}

.file-hidden{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.upload-single{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.upload-tile{min-height:135px;border:2px dashed #cbdad6;border-radius:16px;background:#f8fbfa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px;text-align:center;cursor:pointer;transition:.2s}.upload-tile:hover{border-color:#168a68;background:#f1f8f5}
.upload-plus{width:44px;height:44px;border-radius:50%;background:#168a68;color:#fff;font-size:30px;line-height:41px;font-weight:800}
.upload-preview,.selected-image{width:135px;height:135px;border-radius:16px;overflow:hidden;border:1px solid #dce8e4;background:#eef4f2}.upload-preview img,.selected-image img{width:100%;height:100%;object-fit:cover}
.company-story{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-card{background:#fff;border:1px solid #dce8e4;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(11,77,73,.05)}
.story-number{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e9f3ef;color:#168a68;font-weight:800}
.compare-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-card{border-radius:20px;padding:28px;border:1px solid #dce8e4}.compare-old{background:#fff5f2}.compare-new{background:#eef8f2}.compare-card ul{padding-right:20px}.compare-card strong{display:block;margin-top:18px}
.market-profit-section{background:#f8efe0}.profit-calculator{background:#fff;border:1px solid #e4ddd0;border-radius:22px;padding:24px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.calc-grid label{font-weight:800}.calc-grid input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #dce8e4;border-radius:12px}
.profit-result{margin-top:18px;padding:20px;border-radius:18px;background:#eef8f2;display:flex;align-items:center;justify-content:space-between;gap:20px}.profit-result strong{font-size:28px;color:#168a68}
.whatsapp-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#edf8f3,#fff)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-item{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #dce8e4}.contact-link{color:#168a68;font-weight:800}
.unit-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.unit-gallery img{width:100%;height:150px;object-fit:cover;border-radius:12px}
@media(max-width:900px){.company-story,.calc-grid{grid-template-columns:1fr 1fr}.compare-wrap,.contact-grid{grid-template-columns:1fr}.upload-slots{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.company-story,.calc-grid,.upload-slots{grid-template-columns:1fr}.profit-result{display:block}.whatsapp-cta{display:block}.unit-gallery{grid-template-columns:1fr 1fr}}

.more-listings-wrap{display:flex;justify-content:center;margin-top:28px}
.btn-more-listings{min-width:190px;text-align:center}
.global-whatsapp{position:fixed;left:22px;bottom:22px;z-index:9999;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#168a68;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:.2s}
.global-whatsapp:hover{transform:translateY(-2px);filter:brightness(.96)}
.global-whatsapp .wa-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#168a68;font-size:18px}
@media(max-width:600px){.global-whatsapp{left:12px;bottom:12px;padding:10px 14px}.global-whatsapp span:last-child{display:none}}

.market-gain-card{margin:12px 0;padding:12px 14px;border-radius:14px;background:#edf8f3;border:1px solid #cde7db;display:flex;flex-direction:column;gap:3px}
.market-gain-card span{font-size:13px;font-weight:800;color:#168a68}.market-gain-card strong{font-size:20px;color:#116b52}.market-gain-card small{font-size:12px;color:#66746f}
.market-admin-controls{margin:15px 0;padding:18px;border:1px solid #cde7db;border-radius:16px;background:#f5fbf8;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.market-admin-controls label{font-weight:800}.market-admin-controls input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #d5e4df;border-radius:10px}
.market-admin-controls .eyebrow{grid-column:1/-1}
@media(max-width:700px){.market-admin-controls{grid-template-columns:1fr}}

/* V8 image upload hardening */
.upload-slots{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;overflow:hidden}
.upload-tile,.selected-image,.upload-preview{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}
.upload-tile{width:100%;height:135px;min-height:135px}
.selected-image{width:100%;height:135px;min-height:135px}
.selected-image img,.upload-preview img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover}
.upload-preview{width:135px;height:135px;min-width:0;flex:0 0 135px}
.form-group.full{min-width:0;max-width:100%}
.form-group.full *{max-width:100%}
@media(max-width:900px){.upload-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.upload-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-tile,.selected-image{height:125px;min-height:125px}}

/* V10: stable responsive image uploader */
.upload-single,.upload-slots{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.upload-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:hidden}
.upload-tile,.selected-image{width:100%;min-width:0;max-width:100%;height:135px;box-sizing:border-box;overflow:hidden}
.upload-tile{padding:12px}
.selected-image img,.upload-preview img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover}
.upload-preview{width:135px;height:135px;max-width:135px;min-width:0;overflow:hidden;box-sizing:border-box}
@media(max-width:900px){.upload-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.upload-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upload-tile,.selected-image{height:120px}.upload-preview{width:120px;height:120px}}

/* V11 emergency-safe uploader */
html,body{max-width:100%;overflow-x:hidden}
.container,.form-group,.form-group.full,.upload-single,.upload-slots{box-sizing:border-box;max-width:100%;min-width:0}
.upload-slots{width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:hidden!important}
.upload-tile,.selected-image{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;height:135px!important;overflow:hidden!important}
.upload-tile span,.upload-tile small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.selected-image img,.upload-preview img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important}
.upload-preview{box-sizing:border-box!important;width:135px!important;height:135px!important;max-width:135px!important;min-width:0!important;overflow:hidden!important}
@media(max-width:900px){.upload-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.upload-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upload-tile,.selected-image{height:120px!important}.upload-preview{width:120px!important;height:120px!important}}

/* V19 — stable uploader: never expands viewport */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.upload-single{display:grid!important;grid-template-columns:minmax(0,135px) minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.upload-slots{display:grid!important;grid-template-columns:repeat(4,minmax(0,135px))!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
.upload-tile,.selected-image,.upload-preview{width:135px!important;max-width:135px!important;min-width:0!important;height:135px!important;min-height:135px!important;box-sizing:border-box!important;overflow:hidden!important}
.upload-tile{padding:12px!important}
.upload-tile span,.upload-tile small{max-width:100%!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important}
.upload-preview img,.selected-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important}
.file-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.money-input{font-variant-numeric:tabular-nums;direction:ltr!important;text-align:left!important;letter-spacing:.2px}
@media(max-width:700px){
 .upload-single{grid-template-columns:1fr!important}
 .upload-slots{grid-template-columns:repeat(2,minmax(0,135px))!important}
 .upload-tile,.selected-image,.upload-preview{width:125px!important;max-width:125px!important;height:125px!important;min-height:125px!important}
}
@media(max-width:380px){
 .upload-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .upload-tile,.selected-image,.upload-preview{width:100%!important;max-width:100%!important;height:120px!important;min-height:120px!important}
}

/* V20 account/auth */
.auth-box{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 10px 30px #0b4d4908}
.status-badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef4f2}
.status-published{background:#e7f7ef;color:#126b4d}.status-pending{background:#fff7df;color:#8a6500}.status-rejected{background:#fff0ee;color:#a33b2d}.status-draft{background:#eef0f2;color:#556}.nav-account{margin-inline-start:8px}

/* V20 uploader: isolate thumbnails from the form grid and lock their dimensions */
.form-grid>.form-group{min-width:0!important;max-width:100%!important;overflow:visible}
.form-grid>.form-group.full{grid-column:1/-1;width:100%;min-width:0}
.upload-single{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,140px))!important;justify-content:start!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.upload-slots{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,140px))!important;justify-content:start!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.upload-tile,.upload-preview,.selected-image{width:100%!important;max-width:140px!important;height:120px!important;min-height:120px!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important}
.upload-tile{padding:8px!important}
.upload-preview img,.selected-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important}
@media(max-width:520px){.upload-single,.upload-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}.upload-tile,.upload-preview,.selected-image{max-width:none!important;width:100%!important;height:115px!important;min-height:115px!important}}

/* V23: isolated uploader — prevents page width/height breaking */
.resale-uploader{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;display:block}
.resale-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;overflow:hidden!important}
.resale-upload-card{position:relative;width:100%;max-width:520px;min-height:150px;box-sizing:border-box;border:2px dashed #cbdad6;border-radius:18px;background:#fbfdfc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 20px;text-align:center;cursor:pointer;overflow:hidden}
.resale-upload-card:hover{border-color:#168a68;background:#f5fbf8}
.resale-upload-logo{width:auto!important;height:38px!important;max-width:190px!important;object-fit:contain!important;display:block!important}
.resale-upload-plus{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#168a68;color:#fff;font-size:27px;line-height:1;font-weight:800}
.resale-upload-card strong{font-size:15px}.resale-upload-card small{font-size:12px;color:#687b76}
.resale-preview-grid{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,125px));gap:10px;overflow:hidden}
.resale-preview-item{width:125px;min-width:0;height:135px;box-sizing:border-box;border:1px solid #dce8e4;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.resale-preview-item img{width:100%!important;height:105px!important;max-width:100%!important;object-fit:cover!important;display:block!important}
.resale-preview-item span{display:block;width:100%;box-sizing:border-box;padding:5px 7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr}
.resale-upload-note{margin-top:8px;font-size:12px;color:#687b76}
@media(max-width:600px){.resale-upload-card{max-width:100%;min-height:140px}.resale-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resale-preview-item{width:100%;height:125px}.resale-preview-item img{height:95px!important}}

/* Project image uploader */
.upload-box{border:2px dashed #cbd8d5;border-radius:16px;padding:20px;background:#f8fbfa;text-align:center}
.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;background:#087f73;color:#fff;font-weight:700;cursor:pointer}
.upload-button:hover{opacity:.9}
.upload-help{display:block;color:#70807d;font-size:13px;margin-top:8px}
.project-preview{margin:16px auto 0;max-width:420px;text-align:center}
.project-preview img{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:12px;border:1px solid #dce5e2}
.project-preview span{display:block;font-size:13px;color:#65736f;margin-top:7px}
.visibility-control{padding:14px;border:1px solid #dce5e2;border-radius:12px;background:#fbfdfc}
.visibility-control small{display:block;color:#6d7976;margin-top:7px}

/* V32 galleries */
.resale-slider{position:relative;width:100%;overflow:hidden;border-radius:18px;background:#edf3f1;box-shadow:0 8px 30px rgba(13,48,44,.08);margin-bottom:16px}
.resale-slides{position:relative;aspect-ratio:16/9;min-height:260px}
.resale-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease;display:flex;align-items:center;justify-content:center}
.resale-slide.active{opacity:1;visibility:visible}
.resale-slide img{width:100%;height:100%;object-fit:cover;display:block}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:3}
.slider-btn.prev{left:14px}.slider-btn.next{right:14px}
.slider-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:4}
.slider-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.65);cursor:pointer}
.slider-dots button.active{width:22px;border-radius:10px;background:#fff}
.gallery-title{font-weight:800;font-size:18px;margin:18px 0 10px}
.unit-slider{margin-bottom:20px}
.preview-item{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#66736f}
.preview-item img{width:110px;height:80px;object-fit:cover;border-radius:10px;border:1px solid #d9e4e0}
.resale-preview-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
@media(max-width:700px){.resale-slides{min-height:220px}.slider-btn{width:36px;height:36px;font-size:25px}}

/* V33 project gallery manager */
.project-photo-manager{margin-top:30px;padding:24px;background:#f7faf9;border:1px solid var(--line);border-radius:18px}
.photo-manager-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.photo-manager-head h2{margin:0}
#photo-count{background:var(--green);color:#fff;padding:7px 14px;border-radius:999px}
.project-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-photo-slot{min-height:190px;background:#fff;border:2px dashed #cbdad5;border-radius:16px;overflow:hidden;position:relative}
.project-photo-slot.has-image{border-style:solid;border-color:#dfe8e5}
.project-photo-image{height:145px;background:#edf3f1}
.project-photo-image img{width:100%;height:100%;object-fit:cover;display:block}
.project-photo-add{height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--green);gap:3px}
.upload-big-plus{width:48px;height:48px;border-radius:50%;background:#e8f3f0;display:grid;place-items:center;font-size:30px;font-weight:400}
.project-photo-add small{color:var(--muted)}
.project-photo-meta{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:8px}
.photo-number{font-size:13px;font-weight:800}
.photo-delete{border:1px solid #f1caca;background:#fff5f5;color:#a52f2f;border-radius:8px;padding:5px 9px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.project-photo-slot.uploading{opacity:.55;pointer-events:none}
.photo-message{min-height:28px;margin-top:12px;font-weight:700}
.photo-message.ok{color:#237043}.photo-message.bad{color:#a52f2f}
.project-active-label{display:flex!important;align-items:center;gap:8px;background:#f5f8f7;padding:12px;border-radius:10px}
.project-admin-table td{vertical-align:middle}
.project-admin-thumb{width:70px;height:52px;object-fit:cover;border-radius:9px;background:#edf3f1}
.project-actions{display:flex;gap:7px;align-items:center}
.project-actions form{margin:0}
@media(max-width:800px){.project-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.project-photo-grid{grid-template-columns:1fr}.project-actions{flex-direction:column;align-items:stretch}.project-actions .btn{width:100%}}

.project-danger-zone{margin-top:20px;padding:16px 18px;border:1px solid #f1cccc;background:#fff7f7;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.project-danger-zone small{display:block;color:#8b6b6b;margin-top:3px}

/* V35 image upload UI */
.resale-uploader{border:1px solid #dce8e4;border-radius:18px;padding:18px;background:#fbfdfc}
.resale-upload-card{min-height:145px;border:2px dashed #b9d2cc;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;background:#f4faf8;color:#087f73}
.resale-upload-card:hover{border-color:#087f73;background:#eef8f5}
.resale-upload-logo{width:48px;height:48px;object-fit:contain}
.resale-upload-plus{width:42px;height:42px;border-radius:50%;background:#087f73;color:#fff;display:grid;place-items:center;font-size:28px;line-height:1}
.resale-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.resale-preview-item{border:1px solid #dce8e4;border-radius:12px;background:#fff;padding:8px;overflow:hidden}
.resale-preview-item img{display:block;width:100%;height:130px;object-fit:cover;border-radius:8px}
.resale-preview-item span,.resale-preview-item small{display:block;margin-top:6px;word-break:break-word}
.resale-preview-item.upload-failed{border-color:#e7bcbc}
.resale-preview-item.uploaded{border-color:#9ed0bf}
.resale-upload-note{font-size:13px;color:#6b7875;margin-top:8px}
@media(max-width:700px){.resale-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.resale-preview-grid{grid-template-columns:1fr}}

.admin-edit-approval-link{display:flex;align-items:center;justify-content:space-between;gap:8px}
.admin-count-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d94b4b;color:#fff;display:inline-grid;place-items:center;font-size:12px}
.status-pending_edit{background:#fff3cd;color:#8a6200;border-color:#f0d58a}
.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}.permission-item{padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff}.permission-item input{margin-left:7px}