@font-face{font-family:Tajawal;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/0f9bfbb4dbb98158-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/24b539371b989971-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/a7017400c9fd40b6-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/149bd79232cbc8b2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dd994fbf464986f0-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e97026df054cf2a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/63a79a6cf340c5d2-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f15f45d13243c643-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1ebb550cd0a67fc6-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ce401babc0566bc1-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6d87047c78b383ca-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b9817c66466e8cbc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/420b3da95f5fbf98-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/0a61324d85234ed0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal Fallback;src:local("Arial");ascent-override:67.93%;descent-override:37.71%;line-gap-override:21.13%;size-adjust:94.66%}.__className_0fe786{font-family:Tajawal,Tajawal Fallback;font-style:normal}.__variable_0fe786{--font-ui:"Tajawal","Tajawal Fallback"}:root{--navy:#0b1f3a;--navy-2:#132b4f;--navy-3:#1d3a66;--yellow:#f5b800;--yellow-2:#e0a800;--yellow-soft:#fff7db;--white:#ffffff;--bg:#f5f7fb;--surface:#ffffff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e4e8f0;--border-strong:#cfd6e2;--danger:#c0352b;--danger-soft:#fdeeec;--ok:#0a7c4f;--ok-soft:#e6f6ee;--warn:#8a6100;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(15,23,42,0.04),0 1px 3px rgba(15,23,42,0.06);--shadow-md:0 4px 12px rgba(15,23,42,0.06),0 2px 4px rgba(15,23,42,0.04);--shadow-lg:0 20px 48px rgba(11,31,58,0.18);--ring:0 0 0 3px rgba(11,31,58,0.12)}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui),"Segoe UI",Tahoma,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}main a:not(.btn):not(.card){color:var(--navy-3)}main a:not(.btn):not(.card):hover{text-decoration:underline}h1{font-size:26px;font-weight:800;margin:0 0 18px;letter-spacing:-.2px}h1,h2{color:var(--navy)}h2{font-size:18px;margin:28px 0 12px}b,h2,strong{font-weight:700}::selection{background:var(--yellow-soft)}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--navy);color:#dbe3ef;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:22px 22px 18px;display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:18px}.brand-name{font-size:20px;font-weight:800;color:var(--white);line-height:1}.brand-sub{font-size:12px;color:#93a4bf;margin-top:4px}.nav{padding:6px 12px 12px;flex:1 1;overflow-y:auto}.nav-group{padding:14px 10px 6px;font-size:13px;font-weight:600;color:#7f92b1}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:2px 0;border-radius:10px;color:#cdd7e6;font-weight:500;transition:background .15s,color .15s}.nav a svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav a:hover{background:rgba(255,255,255,.06);color:var(--white)}.nav a.active{background:rgba(245,184,0,.14);color:var(--yellow);font-weight:700}.nav a.active svg{opacity:1}.nav-count{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--yellow);color:var(--navy);font-size:12px;font-weight:800;display:inline-grid;place-items:center}.user-box{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy-3);color:var(--yellow);display:grid;place-items:center;font-weight:700;flex-shrink:0}.user-box .who{flex:1 1;min-width:0}.user-box .who div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-box .role{font-size:12px;color:#93a4bf}.icon-btn{background:transparent;border:1px solid rgba(255,255,255,.14);color:#cdd7e6;border-radius:9px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:rgba(255,255,255,.08);color:var(--white)}.main{flex:1 1;padding:28px 36px 48px;min-width:0;max-width:1400px}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}a.card{transition:box-shadow .15s,border-color .15s,transform .15s}a.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-bottom:8px}.cards .card{margin-bottom:0}.stat{font-size:32px;font-weight:800;color:var(--navy);line-height:1.3;margin-top:4px}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}th{background:var(--surface-2);font-weight:700;font-size:14px;color:var(--muted);white-space:nowrap}tbody tr{transition:background .12s}tbody tr:hover td{background:#fafbfd}tr:last-child td{border-bottom:none}.card table{box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:10px;border:1px solid transparent;background:var(--navy);color:var(--white);font:inherit;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:hover{background:var(--navy-2)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn.accent{background:var(--yellow);color:var(--navy)}.btn.accent:hover{background:var(--yellow-2)}.btn.ghost{background:var(--surface);color:var(--navy);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--navy-3)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#a42b22}.btn:disabled{opacity:.5;cursor:not-allowed}td .btn{height:32px;padding:0 12px;font-size:13px}.row{gap:8px;flex-wrap:wrap}.row,.spread{display:flex;align-items:center}.spread{justify-content:space-between;gap:12px;margin-bottom:4px}.spread h1,.spread h2{margin-bottom:14px}label{display:block;font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px}input,select,textarea{width:100%;padding:9px 12px;min-height:40px;border:1px solid var(--border-strong);border-radius:10px;font:inherit;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}textarea{min-height:64px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-3);box-shadow:var(--ring)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--navy)}.field{margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f8;color:var(--navy-3);margin:0 4px 4px 0;white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--yellow-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.error,.success{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:500;border:1px solid}.error{background:var(--danger-soft);color:var(--danger);border-color:#f6cfca}.success{background:var(--ok-soft);color:var(--ok);border-color:#bfe6d1}.muted{font-size:14px}.muted,pre.json{color:var(--muted)}pre.json{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;direction:ltr}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 10% -10%,#1d3a66 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#3a2f05 0,transparent 55%),var(--navy)}.login-card{width:400px;max-width:100%;background:var(--surface);border-radius:20px;padding:36px 34px 30px;box-shadow:var(--shadow-lg)}.login-card .brand-big{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:6px}.login-card .brand-big .brand-mark{width:56px;height:56px;border-radius:16px;font-size:28px}.login-card .brand-big .brand-name{color:var(--navy);font-size:28px}.login-card .bar{height:4px;width:48px;background:var(--yellow);margin:0 auto 20px;border-radius:2px}.login-card .btn{height:44px;font-size:15px}.modal-back{position:fixed;inset:0;background:rgba(11,31,58,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1000;padding:16px}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px 26px;width:540px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal h2:first-child{margin-top:0}.perm-group{margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px}.perm-group label{display:flex;gap:8px;align-items:center;color:var(--text);font-size:14px;font-weight:500;margin:6px 0}.perm-group input{width:auto}.leaflet-container{font-family:inherit;border-radius:var(--radius-lg)}