:root{
  --panel:#ffffff;
  --text:#172033;
  --muted:#64748b;
  --primary:#0f766e;
  --primary-dark:#0b5d57;
  --danger:#b91c1c;
  --border:#dbe2ea;
  --soft:#f8fafc;
  --orange:#f59e0b;
  --blue:#2563eb;
  --shadow:0 12px 36px rgba(15,23,42,.18);
}
*{box-sizing:border-box}
html,body,#app{height:100%;margin:0;font-family:Tahoma,Arial,sans-serif;color:var(--text);overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{height:66px;display:flex;align-items:center;gap:12px;padding:8px 14px;background:#0f172a;color:#fff;position:absolute;z-index:1100;top:0;left:0;right:0}
.brand{display:flex;flex-direction:column;line-height:1.35;white-space:nowrap}
.brand strong{font-size:16px}.brand span{font-size:11px;color:#cbd5e1}
.top-actions{margin-right:auto;display:flex;align-items:center;gap:8px}
.basemap-wrap{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1}
.basemap-wrap select{min-width:116px}
.btn,.icon-btn,select,input{border:1px solid var(--border);border-radius:10px;padding:10px 11px;background:#fff;color:var(--text)}
.btn{transition:.18s}.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-dark)}
.btn.danger{color:var(--danger)}
.btn.compact{padding:9px 11px}.btn.wide{width:100%;font-weight:700;margin-top:8px}
.icon-btn{font-size:21px;line-height:1;padding:9px 11px}
.sidebar{position:absolute;z-index:1000;top:66px;right:0;bottom:0;width:354px;background:var(--panel);overflow:auto;box-shadow:var(--shadow);padding:14px;transition:transform .25s ease}
.sidebar.closed{transform:translateX(106%)}
.sidebar section,.tools-panel{border-bottom:1px solid var(--border);padding:10px 0 15px}
.sidebar h2,.sidebar h3,.sidebar p{margin:0}.sidebar h2{font-size:17px}.sidebar h3{font-size:14px}
.hero-card,.instruction-card{display:flex;align-items:flex-start;gap:10px}
.hero-card p,.instruction-card p{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.6}
.step-number,.drag-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:#ecfdf5;color:var(--primary);font-weight:700;font-size:17px}
.drag-icon{background:#fff7ed;color:#c2410c}
.search-section label{display:block;margin:9px 0 4px;font-size:12px;color:var(--muted);font-weight:700}
.search-section input{width:100%;background:#fff}
.quick-countries{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.quick-countries button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:6px 10px;font-size:12px;color:#334155}
.quick-countries button:hover{border-color:var(--primary);color:var(--primary)}
.instruction-card{background:#fffaf0;border:1px solid #fed7aa!important;border-radius:12px;padding:11px!important;margin:12px 0}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.link-btn{border:0;background:transparent;color:var(--primary);font-size:12px;padding:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.stats{background:var(--soft);border:1px solid var(--border);padding:11px;border-radius:11px;font-size:12px;line-height:1.75}
.stats .country-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}
.stats .country-label{display:flex;align-items:center;gap:7px;min-width:0}.stats .country-label span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.color-dot.orange{background:var(--orange)}.color-dot.blue{background:var(--blue)}
.ratio-box{margin-top:8px;padding:9px;border-radius:9px;background:#ecfdf5;color:#065f46;text-align:center;font-weight:700}
.muted{color:var(--muted)}.small{font-size:11px;line-height:1.55}.compact-stats{margin-top:8px;padding:8px}
.tools-panel summary{cursor:pointer;font-weight:700;font-size:14px;padding:3px 0}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.tool-grid button{border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px;color:#334155}
.tool-grid button:hover,.tool-grid button.active{border-color:var(--primary);color:var(--primary);background:#ecfdf5}
.tool-grid button.danger{color:var(--danger)}
#map{position:absolute;inset:66px 0 0 0;background:#e2e8f0}
.coordinates{position:absolute;z-index:900;bottom:10px;left:10px;background:rgba(15,23,42,.85);color:#fff;padding:6px 9px;border-radius:7px;font-size:11px;direction:ltr}
.toast{position:absolute;z-index:2000;left:50%;bottom:30px;transform:translateX(-50%);background:#111827;color:#fff;padding:10px 16px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;max-width:min(88vw,520px);text-align:center}
.toast.show{opacity:1}
.country-moving{cursor:grab!important}.country-moving:active{cursor:grabbing!important}
.leaflet-interactive.country-reference{pointer-events:none}
.leaflet-tooltip.country-label-tooltip{background:rgba(15,23,42,.88);border:0;color:#fff;box-shadow:none;border-radius:7px;padding:5px 8px;font-family:Tahoma,Arial;font-size:11px}
.leaflet-tooltip.country-label-tooltip:before{display:none}
.leaflet-control-zoom a{font-family:Arial}
@media(max-width:820px){
  .brand strong{font-size:13px}.brand span{display:none}.basemap-wrap span{display:none}.top-actions .btn:not(.primary){display:none}
  .sidebar{width:min(92vw,360px)}.topbar{padding-inline:8px;gap:7px}.basemap-wrap select{min-width:92px;max-width:105px;padding:9px 6px}
}
@media(max-width:500px){.top-actions #locateBtn{display:none}.brand{max-width:145px}.brand strong{white-space:normal;line-height:1.25}.sidebar{padding:12px}}

/* دعم السحب باللمس في Safari وChrome على iOS وAndroid */
.leaflet-moving-pane,
.country-moving{
  touch-action:none!important;
  -ms-touch-action:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
.country-is-dragging,
.country-is-dragging *{
  cursor:grabbing!important;
}
.exit-expanded-btn{display:none;position:fixed;z-index:2600;top:max(10px,env(safe-area-inset-top));left:10px;border:1px solid rgba(255,255,255,.35);background:rgba(15,23,42,.92);color:#fff;border-radius:999px;padding:10px 14px;box-shadow:var(--shadow)}
body.expanded-mode #app{position:fixed;inset:0;width:100vw;height:100dvh;z-index:2500;background:#e2e8f0}
body.expanded-mode .topbar,
body.expanded-mode .sidebar{display:none}
body.expanded-mode #map{inset:0}
body.expanded-mode .exit-expanded-btn{display:block}
body.expanded-mode .coordinates{bottom:max(10px,env(safe-area-inset-bottom))}
@supports(height:100svh){body.expanded-mode #app{height:100svh}}
