/* Northern camps: warm ivory, forest green and restrained brass details. */
:root{--green:#234e43;--green-dark:#173d34;--green-soft:#edf3ef;--cream:#eee4ce;--bg:#f4f2ed;--line:#e6e6df;--muted:#718078;--ink:#203b32}
.app-shell{background:#f4f2ed}
.app-header{height:102px;padding:0 30px;background-image:linear-gradient(90deg,rgba(26,56,47,.65),#1e463c 72%),url(/images/calm-camp.webp);background-size:cover,52%;background-position:center,left 60%}
.app-header:after{height:2px;background:linear-gradient(90deg,transparent,#b9a276 45%,#d9c49c 75%,transparent)}
.brand{gap:14px}.brand-icon{width:52px;height:52px;border-radius:16px;color:#e9d8b5;background:#ffffff0c;border-color:#ded1aa4a}
.brand h1{font-size:24px;font-weight:700;line-height:1.5}.brand p{font-size:11px;color:#c7d4ce;margin-top:5px}
.header-actions{gap:10px}.private-badge{color:#d1dbd4;font-size:11px}
.btn{min-height:44px;border-radius:11px;font-size:12px;padding:11px 17px}
.btn-cream{background:#efe4cc;color:#254538;box-shadow:0 4px 14px #00000014}.btn-cream:hover{background:#fcf1da}
.header-import{background:#ffffff08;border-color:#ffffff38}.account-button{height:42px;width:42px;border-radius:12px;background:#ffffff08}
.toolbar{height:auto;min-height:84px;padding:18px 24px;gap:12px;background:#fcfbf8;border-bottom-color:#e4e5dc}
.view-tabs{padding:4px;background:#eeefe9;border:1px solid #e2e6dc;border-radius:12px;gap:3px}
.view-tabs button{min-height:36px;padding:8px 15px;border-radius:9px;font-size:12px;color:#66766b}
.view-tabs button.active{color:#fff;background:#275447;box-shadow:0 3px 8px #1b49301a}
.search{height:46px;max-width:none;background:#fff;border-color:#dedfd6;border-radius:12px;gap:10px}
.search:focus-within{border-color:#779182;box-shadow:0 0 0 3px #47715b0e}.search input{height:42px;font-size:13px}
.search input::placeholder{color:#879087}.search input:focus-visible{outline:0}
.filter{height:46px;padding:0 12px;border-radius:12px;background:#fff;border-color:#dedfd6;gap:9px}
.filter select{font-size:12px;max-width:165px;color:#41574b;cursor:pointer;min-height:38px}
.export-btn{width:46px;height:46px;border-radius:12px;background:#f0f4ee;border-color:#dbe3d8;margin-right:0;flex-shrink:0}
.workspace{grid-template-columns:365px minmax(0,1fr);gap:20px;padding:22px;min-height:0}
.sidebar{border:1px solid #e2e5db;border-radius:19px;background:#fdfcf9;box-shadow:0 6px 24px #253b2c07}
.sidebar-camp-photo{height:108px;background-position:28% 65%;border-bottom:3px solid #c4ad82}
.sidebar-heading{padding:20px 21px 14px}.eyebrow{color:#758271;font-size:11px;letter-spacing:0}
.sidebar-heading h2{font-size:18px;line-height:1.7;color:#254b3c}
.sidebar-heading h2>span,.table-title h2>span{border:1px solid #e1e5d9;background:#eff1e8;border-radius:8px;padding:2px 9px;font-size:12px;vertical-align:middle;color:#44664d}
.sidebar-heading .icon-btn{width:38px;height:38px;border:1px solid #e1e7dd;border-radius:11px;background:#fff;color:#4f6d5d}
.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 18px 15px;padding:0;border:0}
.mini-stats>div{background:#f0f4ee;border:1px solid #e2e8dc;border-radius:11px;display:flex;gap:7px;padding:11px 10px;color:#63785f;font-size:10px}
.mini-stats>div:last-child{background:#f5f2eb;border-color:#e9e4d9;color:#7b776a}
.mini-stats b{font-size:19px;line-height:1.3;color:#30553c}.mini-stats .muted{background:#b5a581}
.camp-list{padding:1px 12px 12px;scrollbar-width:thin;scrollbar-color:#cbd4c8 transparent;overscroll-behavior:contain}
.camp-item{background:#fff;border:1px solid #e5e8df;border-radius:14px;margin-bottom:9px;padding:15px 12px;gap:11px;box-shadow:0 2px 5px #243b2c02;transition:background .15s,border-color .15s,box-shadow .15s}
.camp-item:hover{background:#f9fbf6;border-color:#afc1aa;box-shadow:0 5px 14px #284a2d08}
.camp-item:focus-visible{outline-offset:-3px;border-color:#77926e}.camp-item-icon{width:43px;height:46px;flex-shrink:0;border:1px solid #dce6d7;border-radius:12px;background:#eef4e9;color:#65815c}
.camp-item-text{gap:4px}.camp-item-text>strong{order:2;display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:#6c7f6c;font-size:10px;font-weight:500;line-height:1.6}
.camp-item-text>strong bdi{font-family:Arial,sans-serif;font-size:11px;font-weight:600;color:#526b55;overflow-wrap:anywhere}
.camp-item-text>strong>span{margin:0 4px 0 0;padding:1px 7px;color:#61764e;background:#f0f4e9;border:1px solid #e3e9db;border-radius:5px;font-size:9px}
.camp-item-text>span{order:1;color:#2b4b38;font-size:13px;font-weight:700;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
.camp-item-text small{order:3;color:#7a8574;display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10px}
.camp-item-text small svg{width:12px;height:12px}.camp-item>svg{color:#9aa994;width:15px}
.sidebar-footer{margin:0 19px;padding:13px 0;gap:10px}.sidebar-footer p{font-size:10px;color:#6a7c62}.sidebar-footer span{font-size:9px;color:#838e79}
.map-stage{border-color:#d6ddcf;border-radius:19px;box-shadow:0 6px 24px #253b2c07}
.map-title,.map-tools button,.basemap-control{border-radius:11px}.map-tools button{width:40px;height:40px}.map-title{padding:11px 14px}
.basemap-control button{border-radius:8px;font-size:11px}.map-title b{color:#65795a}.map-marker{border-radius:9px}
.side-back{background:#f5f6ef;padding:15px 18px}.side-back>button:first-child{color:#456247;font-size:12px;min-height:30px}
.detail-heading{padding:22px 20px 16px;gap:11px}.detail-heading>div:nth-child(2){min-width:0}.detail-heading h2{font-size:17px;overflow-wrap:anywhere}.detail-heading h2 bdi{font-size:16px}
.detail-symbol{width:46px;height:48px;border-radius:13px;flex-shrink:0;background:#edf3e7}.detail-heading .type-chip{flex-shrink:0;border-radius:7px}
.detail-content{padding:0 20px 22px}.detail-content>h3{font-size:18px;line-height:1.8}.detail-area{font-size:12px;color:#738467;margin-top:4px}
.detail-buttons{margin:18px 0;gap:9px}.detail-buttons .btn{font-size:12px}.detail-fields{border-top:0;background:#fff;border:1px solid #e5e8dc;border-radius:12px;overflow:hidden}
.detail-fields>div{padding:12px 13px;font-size:12px;gap:10px}.detail-fields>div:last-child{border:0}.detail-fields dt{color:#718369}.detail-fields dd{color:#355438}
.coordinate-box{border-radius:13px;background:#edf3e8;border-color:#dce6d2;margin-top:16px}.coordinate-box>p[dir=ltr]{font-size:14px}
.saved-site-photo img{border:1px solid #dce3d5;border-radius:13px}.notes{font-size:12px}.notes h4{font-size:12px}.last-updated{font-size:10px!important}
.table-workspace{display:block;overflow:auto}.table-panel{border-radius:19px;background:#fff;border:1px solid #e0e5d9;box-shadow:0 6px 24px #253b2c07}
.table-title{padding:25px 28px;background:linear-gradient(110deg,#f3f4e9,#fdfcf8);border-bottom:1px solid #e2e7d9;gap:16px}
.table-title h2{font-size:23px;color:#2b4b38;line-height:1.7}.table-title .eyebrow{font-size:11px;color:#7e896f}
.table-title .btn{border-radius:11px;border-color:#dce5d5;font-size:12px;background:#fff;min-height:44px}
.table-scroll table{border-collapse:separate;border-spacing:0;white-space:normal;font-size:13px;min-width:910px}
.table-scroll th{padding:15px 20px;background:#f6f8f0;color:#6c7d5e;font-size:11px;font-weight:600;border-bottom:1px solid #e6ebde}
.table-scroll td{padding:19px 20px;border-bottom:1px solid #eef0e8;color:#47603b;font-size:12px;line-height:1.8}
.table-scroll tbody tr:nth-child(even) td{background:#fcfcf9}.table-scroll tbody tr:hover td{background:#f2f6ec}
.table-scroll td.number-cell{font-size:11px;color:#486d3c;font-weight:700;white-space:nowrap;direction:ltr;text-align:right}
.table-scroll td[data-label="صاحب المخيم"]{color:#2c4935;font-size:13px;font-weight:700;min-width:180px;max-width:260px}
.table-scroll td[data-label="منطقة المخيم"]{min-width:110px}.table-scroll td[data-label="النوع"]{min-width:65px}
.table-scroll td .camp-type-pill{display:inline-block;padding:2px 9px;background:#eff4e9;color:#5c7c47;border:1px solid #e2ead9;border-radius:7px;font-size:10px;white-space:nowrap}
.table-scroll td[data-label="الموسم"]{white-space:nowrap;font-size:11px;color:#748164}
.table-coordinates{min-width:135px;border-inline-start:2px solid #e4e9da;padding-inline-start:10px;gap:3px}.table-coordinates small{color:#7c8d6f}.table-coordinates bdi{font-size:11px;color:#536e43}
.table-scroll td:last-child .text-button{border:1px solid #dfe7d6;background:#f9fbf5;border-radius:9px;padding:7px 11px;font-size:11px;min-height:37px;white-space:nowrap;gap:7px;text-decoration:none}
.table-scroll td:last-child .text-button:hover{background:#eaf2e2;border-color:#bfceae}
.modal{border-radius:20px;border-color:#e1e6d6;background:#fdfefa}.modal-header{background:#f5f7ee;padding:22px 25px}.modal-header h2{font-size:21px}
.form-grid{gap:17px 15px}.form-grid label{font-size:12px;color:#5d7550}.form-grid input,.form-grid select,.form-grid textarea{min-height:46px;border-radius:10px;background:#fff;border-color:#dce4d1;font-size:13px;padding:11px 12px;color:#36532c}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#8aab70;box-shadow:0 0 0 3px #7b9d5812}
.form-grid input[dir=ltr]{text-align:left}.form-intro{font-size:12px;color:#7b8b6a}.form-section-title{color:#5f7d48}.form-section-title h3{font-size:13px}
.modal-footer{background:#f1f5e9;padding:17px 24px}.modal-footer .btn{min-height:43px;font-size:12px}.form-error{font-size:12px}
.empty-sidebar p{color:#78896a}.connection-banner{font-size:12px}.icon-btn{min-width:36px;min-height:36px}
@media(min-width:1600px){.workspace{grid-template-columns:390px minmax(0,1fr);gap:24px;padding:24px}.app-header{padding-inline:36px}.toolbar{padding-inline:30px}.camp-item{padding:17px 14px}.camp-item-text>span{font-size:14px}}
@media(max-width:1180px) and (min-width:761px){.workspace{grid-template-columns:320px minmax(0,1fr);gap:14px;padding:16px}.app-header{padding:0 22px}.toolbar{padding:14px 16px;gap:9px;flex-wrap:wrap}.search{min-width:230px}.filter.area-filter{display:flex}.filter select{max-width:130px}.toolbar>.filter{flex:0 0 auto}.sidebar-heading h2{font-size:16px}.mini-stats{margin-inline:13px;gap:7px}.mini-stats>div{padding:10px 8px}.camp-item-text>span{font-size:12px}.camp-item-icon{width:36px;height:41px}.camp-item{gap:9px;padding:13px 10px}}
@media(max-width:760px){
 .app-header{height:auto;min-height:114px;padding:15px 16px 13px;display:flex;flex-direction:column;align-items:stretch;gap:13px;background-size:cover,100%}
 .brand{gap:10px}.brand-icon{display:grid;width:36px;height:36px;border-radius:11px}.brand-icon svg{width:24px;height:24px}.brand h1{font-size:19px}.brand p{display:block;font-size:9px;margin-top:1px}
 .header-actions{gap:8px;justify-content:flex-start;flex-direction:row-reverse}.header-actions .btn{min-height:39px;border-radius:10px;padding:9px 12px;font-size:11px;gap:7px}
 .header-import{width:auto!important}.header-import span{display:inline}.account-button{position:absolute;top:18px;left:16px;width:36px;height:36px;border-radius:10px}.private-badge{display:none}
 .toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;grid-template-rows:auto auto auto;padding:12px;gap:9px;min-height:0}
 .search{grid-area:1/1/2/4;min-width:0;height:44px;border-radius:11px}.search input{font-size:16px;height:40px}.search input::placeholder{font-size:12px}
 .view-tabs{grid-area:2/1/3/3;width:100%;justify-content:stretch;justify-self:stretch;padding:3px;gap:4px}.view-tabs button{flex:1;min-height:34px;font-size:11px;padding:6px 10px}
 .export-btn{grid-area:2/3/3/4;width:44px;height:42px;min-height:42px;margin:0;border-radius:10px}
 .toolbar>.filter:not(.area-filter){grid-area:3/1/4/2}.filter.area-filter{display:flex;grid-area:3/2/4/4}
 .filter{height:39px;padding:0 9px;gap:6px;min-width:0;border-radius:10px}.filter select{font-size:12px;min-width:0;max-width:none;width:100%;min-height:35px}.filter>svg{width:14px}
 .workspace{padding:0;display:block;position:relative;min-height:0}.map-stage{height:100%;border:0;border-radius:0;box-shadow:none}
 .sidebar{z-index:10;position:absolute;inset:10px 10px 66px;max-width:430px;margin:0 auto;border-radius:17px;box-shadow:0 12px 35px #173d3438;display:none}.sidebar.mobile-open{display:flex}
 .sidebar-camp-photo{height:64px;border-bottom-width:2px}.sidebar-heading{padding:12px 15px 10px}.sidebar-heading h2{font-size:16px}.sidebar-heading .eyebrow{font-size:9px;margin-bottom:0}
 .sidebar-heading .icon-btn{width:34px;height:34px;min-width:34px;min-height:34px}.sidebar-heading-actions{display:flex;gap:7px;align-items:center}
 .mini-stats{margin:0 13px 10px;gap:8px}.mini-stats>div{padding:8px 10px;font-size:10px}.mini-stats b{font-size:17px}
 .camp-list{padding:1px 10px 8px}.camp-item{padding:12px 10px;gap:10px;margin-bottom:8px}.camp-item-text>span{font-size:13px}.camp-item-icon{width:37px;height:41px}.sidebar-footer{margin:0 14px;padding:9px 0}.sidebar-footer span{font-size:8px}
 .mobile-list-toggle{display:flex;bottom:15px;left:50%;min-height:43px;padding:10px 18px;border-radius:13px;background:#234e43;color:#fff;border:1px solid #ffffff6b;font-size:12px;box-shadow:0 4px 15px #173d3442;white-space:nowrap}
 .basemap-control{bottom:69px;right:10px;border-radius:10px}.basemap-control button{font-size:9px;padding:6px 9px}.leaflet-bottom.leaflet-left{bottom:65px}
 .map-title{top:10px;right:10px;padding:10px 9px;font-size:9px;gap:6px;max-width:calc(100% - 139px)}.map-tools{top:10px;left:10px;gap:5px}.map-tools button{width:32px;height:33px;border-radius:9px}
 .table-workspace{padding:12px;overflow-y:auto}.table-panel{border:0;background:transparent;box-shadow:none;min-height:0;border-radius:0;overflow:visible}
 .table-title{background:transparent;border:0;padding:3px 3px 14px;gap:10px;align-items:center}.table-title h2{font-size:19px}.table-title .eyebrow{font-size:10px}.table-title .btn{font-size:10px;padding:8px 10px;min-height:38px;white-space:normal;max-width:128px;gap:6px}.table-title .btn svg{width:15px}
 .table-scroll{overflow:visible}.table-scroll table{display:block;min-width:0;width:100%;white-space:normal}.table-scroll thead{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .table-scroll tbody{display:grid;gap:12px}.table-scroll tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid #e0e6d8;border-radius:16px;padding:15px 15px 12px;box-shadow:0 3px 12px #2a482805;overflow:hidden}
 .table-scroll tbody tr td,.table-scroll tbody tr:nth-child(even) td,.table-scroll tbody tr:hover td{background:transparent;border:0;padding:8px 0;min-width:0;max-width:none;font-size:12px;text-align:right}
 .table-scroll tbody tr td:before{content:attr(data-label);display:block;font-size:10px;font-weight:500;color:#7d8c6f;margin-bottom:3px}
 .table-scroll tbody tr td:first-child{grid-column:1/-1;padding:0 0 5px;font-size:11px;color:#7a8e68;direction:rtl}.table-scroll tbody tr td:first-child:before{display:inline;margin-inline-end:7px}
 .table-scroll tbody tr td[data-label="صاحب المخيم"]{grid-column:1/-1;padding:0 0 11px;border-bottom:1px solid #edf0e5;font-size:16px;line-height:1.8;color:#2d4e34}.table-scroll tbody tr td[data-label="صاحب المخيم"]:before{display:none}
 .table-scroll tbody tr td[data-label="إحداثيات الموقع"]{grid-column:1/-1;padding:9px 0 12px}.table-coordinates{display:flex;flex-direction:row;gap:16px;border:0;padding:8px 10px;background:#f5f8ef;border-radius:9px;min-width:0;white-space:normal}.table-coordinates>span{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.table-coordinates bdi{font-size:12px}.table-coordinates small{font-size:9px}
 .table-scroll tbody tr td:last-child{grid-column:1/-1;padding:0}.table-scroll tbody tr td:last-child:before{display:none}.table-scroll td:last-child .text-button{width:100%;min-height:39px;border-radius:9px;background:#eef4e8;color:#537a3f;justify-content:center;font-size:12px}
 .detail-heading{padding:16px 16px 12px}.detail-heading h2{font-size:16px}.detail-heading h2 bdi{font-size:14px}.detail-content{padding:0 16px 18px}.detail-content>h3{font-size:16px}.detail-fields>div{font-size:11px}.detail-symbol{width:40px;height:43px}.detail-heading .type-chip{font-size:10px}
 .modal-backdrop{padding:9px}.modal{border-radius:17px;max-height:96dvh}.modal-header{padding:17px 18px}.modal-header h2{font-size:19px}.form-body{padding:18px}.form-grid{gap:14px 11px}.form-grid label{font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:46px;padding:10px}.form-grid input::placeholder,.form-grid textarea::placeholder{font-size:12px}.form-intro{font-size:11px}.modal-footer{padding:13px 17px}.modal-footer>span{font-size:9px;max-width:110px}.modal-footer .btn{font-size:11px;padding:10px 13px}.form-section-title span{font-size:10px}.location-options button{font-size:11px;padding:10px 8px}.notes p{font-size:11px}
}
@media(max-width:360px){.brand h1{font-size:17px}.header-actions .btn{font-size:10px}.filter select{font-size:11px}.table-title h2{font-size:17px}.table-title .btn{max-width:110px;font-size:9px}.camp-item-text>span{font-size:12px}}
@media(max-height:720px) and (max-width:760px){.sidebar-camp-photo{display:none}.sidebar-footer{display:none}.sidebar-heading{padding-top:11px}.mini-stats>div{padding-block:7px}.app-header{min-height:101px;gap:10px;padding-block:12px}.toolbar{padding-block:9px;gap:7px}}
