@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#29292c;--copper:#9b6e49;--paper:#fcfaf7;--stripe:#f7f2eb;--line:#e4dace;--muted:#70665c;--light:#eee5db;--danger:#8c3b24}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Tajawal,sans-serif;font-size:17px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d9cbbd;background:#fffdfa;color:#704a2d;border-radius:6px;padding:8px 14px;font-weight:700;line-height:1.35;transition:background .15s}button:hover{background:#f3eadd}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.table-frame:focus-visible{outline:3px solid #b99572;outline-offset:3px}button.primary,.link.wa{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover,.link.wa:hover{background:#444448}button.danger{color:var(--danger);border-color:#ddc1b6}a{color:#704a2d}a:disabled{pointer-events:none}[hidden]{display:none!important}.page{max-width:1550px;margin:auto;padding:25px 30px 18px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid var(--copper);padding-bottom:17px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:15px}.avatar{width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid #dfd4c7;border-radius:8px}.brand h1{font-size:29px;line-height:1.35;margin:0 0 2px;font-weight:700}.brand p{color:#75634e;font-size:17px;margin:0}.header-meta{display:flex;flex-direction:column;align-items:flex-start;text-align:left;font-size:15px;color:#75634e;gap:2px}.header-meta a{font-size:18px;font-weight:700;text-decoration:none}.notice{margin:0 0 15px;font-size:15px;line-height:1.55;color:#66594e}.search-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.search-wrap{display:flex;align-items:center;position:relative;width:min(680px,75%)}.search-wrap input{width:100%;border:1px solid #d6c8ba;border-radius:6px;background:white;padding:12px 43px 12px 64px;color:var(--ink);font-size:17px;min-height:50px}.search-wrap input::-webkit-search-cancel-button{display:none}.search-icon{position:absolute;right:14px;color:#806347;pointer-events:none}.clear-search{position:absolute;left:8px;padding:6px 8px;border:0;background:var(--stripe);font-size:14px}.result-count{font-size:16px;white-space:nowrap;color:var(--muted);margin:0}.result-count strong{font-weight:700;color:var(--ink)}.table-frame{overflow:auto;border:1px solid var(--line);border-radius:6px;max-height:75vh;background:white}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1050px;text-align:right}.col-number{width:9%}.col-type{width:16%}.col-location{width:14%}.col-area{width:9%}.col-price{width:12%}.col-spec{width:25%}.col-action{width:15%}th{padding:13px 12px;background:var(--ink);color:white;font-size:16px;font-weight:700;position:sticky;top:0;z-index:3;line-height:1.35}td{padding:13px 12px;vertical-align:middle;border-bottom:1px solid var(--line);overflow-wrap:anywhere;background:white}.data-row.striped td{background:var(--stripe)}.data-row:hover td{background:#f0e8df}.data-row.expanded td{background:#ede3d8}.display-number{color:#96643e;font-size:24px;font-weight:700;line-height:1.25}.source-id{font-size:14px;direction:ltr;text-align:right;color:#66594e;white-space:nowrap;margin-top:3px}.main-text{font-size:18px;line-height:1.35;font-weight:700}.muted{font-size:15px;line-height:1.45;color:var(--muted);margin-top:3px}.spec-text{font-size:16px;line-height:1.6}.price-number,.area-number{font-size:18px;font-weight:700;white-space:nowrap;direction:ltr;text-align:right}.flag{color:var(--danger);font-size:13px;line-height:1.3;margin-top:3px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.link{display:flex;align-items:center;justify-content:center;min-height:35px;text-decoration:none;background:var(--light);color:#704a2d;border:0;border-radius:5px;padding:7px 8px;text-align:center;font-size:15px;font-weight:700;line-height:1.3}.link:hover{background:#e3d3c1}.photos-button{grid-column:1/-1;background:#f7eee5;border:1px solid #d5c2af;font-size:15px;min-height:36px}.photos-button small{margin-right:6px;font-size:13px;font-weight:400}.photos-button[aria-expanded=true]{background:#e2ceb9}.no-photos{grid-column:1/-1;text-align:center;font-size:14px;color:var(--muted);padding:5px}.admin-row-actions{display:flex;gap:6px;grid-column:1/-1;border-top:1px solid #d9cdbf;padding-top:6px}.admin-row-actions button{flex:1;padding:5px 4px;font-size:14px}.gallery-cell{padding:19px 22px;background:#faf6f0;border-bottom:2px solid #cbb092}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.gallery-heading strong{font-size:18px}.gallery-heading button{font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-thumb{display:block;width:100%;padding:0;border:1px solid #dfd3c6;background:white;overflow:hidden;text-align:center}.photo-thumb img{width:100%;height:170px;object-fit:contain;display:block;background:#fff}.photo-thumb span{display:block;padding:5px 4px;font-size:13px;color:#75634e}.source-details{margin-top:15px;border-top:1px solid var(--line);padding-top:11px;color:#66594e}.source-details summary{cursor:pointer;font-weight:700}.description{white-space:pre-wrap;line-height:1.7;max-width:1100px;font-size:16px;color:var(--ink);unicode-bidi:plaintext;margin:12px 0}.source-links{display:flex;flex-wrap:wrap;gap:16px;font-size:15px}.empty-state{padding:42px 20px;text-align:center;color:var(--muted)}.empty-state strong{font-size:23px;color:var(--ink)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:12px;font-size:14px;color:#756b60}.footer p{margin:0}.footer span{white-space:nowrap}.mobile-hint{display:none;font-size:13px;color:var(--muted);margin-bottom:8px}.admin-tools{border:1px solid var(--line);border-radius:6px;padding:13px;background:#f5eee6;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.tool-group{display:flex;gap:7px;flex-wrap:wrap}.tool-group button{font-size:15px}.save-line{display:flex;flex-wrap:wrap;gap:7px;align-items:center;width:100%;border-top:1px solid #dfd3c6;padding-top:9px;font-size:14px;color:#655b51}.status-dot{width:7px;height:7px;background:#a78859;border-radius:50%}.status-dot.saved{background:#58745a}.status-dot.error{background:#ab4633}.save-help{margin-right:auto;color:#807164;font-size:13px}dialog{border:1px solid var(--line);border-radius:10px;padding:0;color:var(--ink);background:var(--paper);max-height:92vh;box-shadow:0 16px 80px #0003}dialog::backdrop{background:#1c1c20b8}dialog[open]{display:flex;flex-direction:column}dialog.modal{width:min(940px,95vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px;border-bottom:2px solid var(--copper);flex-shrink:0}.modal-head h2{margin:0;font-size:22px}.close-modal{font-size:15px;padding:6px 10px}.modal-scroll{padding:20px 22px;overflow:auto}.modal-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:14px 22px;background:#f1e8dd;border-top:1px solid var(--line);flex-shrink:0}.modal-actions button{padding:10px 22px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px;font-size:15px;font-weight:700}.field input,.field textarea,.field select{font-size:16px;width:100%;padding:9px 11px;background:white;border:1px solid #d5c6b7;border-radius:5px;color:var(--ink);min-height:43px;font-weight:400}.field input[dir=ltr]{text-align:right}.field textarea{resize:vertical;line-height:1.7}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}.field small,.form-hint{font-size:13px;line-height:1.6;font-weight:400;color:#766b60}.editor-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.editor-photo{border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden}.editor-photo img{width:100%;height:115px;object-fit:contain;display:block}.editor-photo .photo-actions{display:flex;gap:4px;justify-content:center;padding:5px}.photo-actions button{font-size:12px;padding:5px 7px}.form-section-title{margin:23px 0 10px;font-size:19px;border-top:1px solid var(--line);padding-top:15px}.upload-label{display:inline-block;border:1px dashed #ab8b6c;background:#f6ebde;border-radius:5px;padding:9px 14px;font-size:15px;cursor:pointer;font-weight:700}.review-notes{padding:12px 14px;background:#fff2e8;border:1px solid #e0c5af;border-radius:6px;font-size:15px;line-height:1.7;white-space:pre-wrap}.review-check{display:flex;align-items:flex-start;gap:8px;font-size:15px;margin:10px 0}.review-check input{width:18px;height:18px;flex-shrink:0}.profile-preview{display:flex;align-items:center;gap:18px;margin:0 0 20px}.profile-preview img{width:85px;height:85px;object-fit:contain;border:1px solid var(--line);border-radius:7px;background:white}.error-message{background:#fff2ea;border:1px solid #dec1b4;border-radius:5px;color:var(--danger);padding:10px 12px;line-height:1.6;margin:0 0 14px;font-size:15px}.review-list{min-width:0;table-layout:auto;font-size:15px}.review-list th{position:static;font-size:15px}.review-list td{font-size:15px;padding:12px;vertical-align:top}.review-list th:first-child{width:150px}.review-list th:last-child{width:100px}.review-list td p{margin:0 0 7px}.review-list td button{font-size:14px}.lightbox{width:95vw;max-width:1250px;max-height:94vh;background:#232326;color:white;border:1px solid #555}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #555;font-size:16px}.lightbox-close{color:white;background:#39393d;border:1px solid #666;padding:6px 12px}.lightbox-close:hover{background:#555}.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;min-height:100px;overflow:hidden;padding:7px;flex:1}.lightbox img{max-width:100%;width:auto;max-height:73vh;object-fit:contain}.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;font-size:15px}.lightbox-nav button{font-size:14px;background:#3c3c40;color:white;border-color:#666;padding:8px 12px}.lightbox-nav button:hover{background:#535359}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;border-radius:7px;padding:12px 22px;background:var(--ink);color:white;box-shadow:0 4px 25px #0003;font-size:16px;max-width:90vw;text-align:center}.noscript{padding:30px;background:#fff0dd;text-align:center;position:fixed;inset:0;z-index:100}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand,.brand>div{min-width:0}.avatar{flex-shrink:0}.modal-scroll{min-height:0}
@media(min-width:1400px){.photo-thumb img{height:205px}}
@media(max-width:900px){.page{padding:18px 15px}.masthead{gap:12px}.brand h1{font-size:25px}.brand p{font-size:16px}.header-meta{font-size:13px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-heading,.gallery-grid,.source-details{width:min(100%,calc(100vw - 76px))}.mobile-hint{display:block}.save-help{margin-right:0;width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:1/-1}.editor-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.page{padding:15px 10px}.masthead{align-items:flex-start;padding-bottom:13px;gap:9px}.brand{gap:9px}.avatar{width:57px;height:57px}.brand h1{font-size:22px}.brand p{font-size:14px;line-height:1.4}.header-meta{font-size:12px;max-width:130px;gap:4px}.header-meta a{font-size:15px}.notice{font-size:14px;line-height:1.6}.search-line{display:block;margin-bottom:11px}.search-wrap{width:100%}.search-wrap input{font-size:15px;padding-top:12px;padding-bottom:12px;min-height:48px}.result-count{margin-top:9px;font-size:14px}.table-frame{max-height:74vh}.data-row td:first-child{position:sticky;right:0;z-index:2;box-shadow:-1px 0 0 var(--line)}thead th:first-child{right:0;z-index:4}th{font-size:16px}td{padding:12px 10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-cell{padding:16px}.photo-thumb img{height:140px}.footer{font-size:13px}.tool-group button{padding:8px 10px;font-size:14px}.admin-tools{padding:10px;gap:10px}.save-line{font-size:13px}.modal-head,.modal-actions{padding:13px 14px}.modal-head h2{font-size:20px}.modal-scroll{padding:15px 14px}.form-grid{grid-template-columns:1fr;gap:12px}.span-2,.span-3{grid-column:auto}.editor-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{width:98vw}.lightbox-bar{padding:10px 12px;font-size:14px}.lightbox-nav{gap:9px;padding:10px 6px;font-size:13px}.lightbox-nav button{font-size:13px;padding:7px 9px}.lightbox img{max-height:68vh}.review-list{font-size:14px;min-width:650px}.review-container{overflow:auto}.header-meta #snapshot-label{max-width:130px}}
/* Compact rows keep the entire land description visible. */
table{min-width:1280px}.col-number{width:7%}.col-reference{width:6%}.col-type{width:11%}.col-location{width:11%}.col-area{width:7%}.col-price{width:10%}.col-spec{width:34%}.col-action{width:14%}
th{padding:8px;font-size:14px;line-height:1.25}.data-row td{padding:5px 8px}.display-number{font-size:20px}.source-id{font-size:12px;margin-top:2px}.main-text{font-size:16px;line-height:1.3}.muted{font-size:13px;line-height:1.3;margin-top:2px}.spec-text{font-size:14px;line-height:1.35}.land-text{font-size:13.5px;line-height:1.3;white-space:normal;unicode-bidi:plaintext}.property-reference{font-size:16px;line-height:1.3;font-weight:700;color:var(--copper);font-variant-numeric:tabular-nums;text-align:right}.price-number,.area-number{font-size:16px}.flag{font-size:11px;line-height:1.25;margin-top:2px}
.actions{gap:4px}.actions .link,.actions button{min-height:28px;padding:4px;font-size:13px;line-height:1.2}.photos-button{grid-column:auto}.photos-button small{font-size:11px;margin-right:3px}.share-button{background:#f7eee5;border:1px solid #d5c2af}.admin-row-actions{gap:4px;padding-top:0;border-top:0}.actions .admin-row-actions button{min-height:26px;font-size:12px}.notice{margin-bottom:11px}.search-line{margin-bottom:11px}
dialog.share-modal{width:min(660px,95vw)}.share-preview{width:100%;padding:10px 12px;border:1px solid #d5c6b7;border-radius:5px;background:white;color:var(--ink);font-size:15px;line-height:1.5;resize:vertical;min-height:180px}.share-actions{flex-wrap:wrap}.share-actions .link{min-height:40px;padding:9px 15px;font-size:15px}.share-actions button{font-size:15px;padding:9px 15px}.field #extract-reference{align-self:flex-start;font-size:12px;padding:5px 8px}
@media(max-width:1350px){.mobile-hint{display:block}}
@media(max-width:560px){.share-actions .link,.share-actions button{flex:1;white-space:nowrap;font-size:13px;padding:8px 9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.search-wrap{flex:1;width:auto;min-width:0}.filter-toggle{min-height:48px;white-space:nowrap;font-size:16px}.filter-toggle.active{border-color:var(--copper);background:#eee0d1}.filter-panel{border:1px solid var(--line);border-radius:6px;padding:13px;margin-bottom:12px;background:var(--stripe)}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.filter-field{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:14px}.filter-field select,.filter-range input{width:100%;min-width:0;border:1px solid #d5c6b7;border-radius:5px;background:#fff;padding:8px 9px;font-size:15px;color:var(--ink);min-height:40px}.filter-range{margin:0;padding:0;border:0;min-width:0}.filter-range legend{font-size:14px;font-weight:700;padding:0;margin-bottom:4px}.filter-range>div{display:flex;gap:7px}.filter-bottom{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px}.filter-bottom button{font-size:14px;padding:6px 10px}.filter-error{color:var(--danger);font-size:14px;margin:0;flex:1}
@media(max-width:560px){.search-line{display:flex;flex-wrap:wrap;gap:8px}.search-wrap{width:auto;flex:1;min-width:0}.filter-toggle{font-size:14px;min-height:48px;padding:8px 12px}.result-count{width:100%;margin:0}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-field:last-of-type{grid-column:1/-1}.filter-panel{padding:11px}.filter-bottom{align-items:flex-start}}
@media print{.filter-panel{display:none!important}}
.export-line{width:100%;display:flex;flex-direction:column;gap:3px;border-top:1px solid #dfd3c6;padding-top:8px;font-size:13px;line-height:1.5;color:#655b51}.export-line strong{font-size:14px;color:#29292c}.export-line .export-pending{color:#805137}.header-meta #version-label{font-weight:700}#admin-tools[aria-busy=true]{cursor:wait}
@media print{.page{padding:0}.table-frame{max-height:none;overflow:visible}.search-line,.admin-tools,.footer,.mobile-hint,.lightbox,.toast{display:none!important}table{min-width:0}th{position:static!important}td:first-child{position:static!important}.data-row{break-inside:avoid}thead{display:table-header-group}body{background:white;font-size:12px}.main-text,.price-number,.area-number{font-size:13px}.muted,.spec-text{font-size:11px}.link{font-size:11px}.gallery-row{display:none}th{font-size:12px}}

.live-line{display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:13px;color:#62594f;margin:12px 0}.live-line a{color:#866647}.live-line .offline{color:#9b3434}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{background:#fff;border:1px solid #ded8d0;border-radius:16px;padding:30px;width:min(430px,100%);box-shadow:0 12px 40px #2828280d}.auth-card h1{font-size:26px;margin:0 0 8px}.auth-card p{color:#71675f}.auth-card label{display:block;margin-top:20px}.auth-card input{margin:8px 0 18px;width:100%;padding:14px;font-size:22px;letter-spacing:3px;border:1px solid #cfc7bd;border-radius:8px}.auth-card button{width:100%;background:#282828;color:white;padding:12px}.auth-error{color:#9b3434!important;min-height:24px}.auth-card a{display:block;margin-top:20px;color:#8c6a45}.saving button[type=submit]{pointer-events:none;opacity:.6}
