:root{--font-body:"Alexandria","Tajawal","Segoe UI",Tahoma,Arial,sans-serif;--font-display:"Noto Kufi Arabic","Alexandria","Tajawal",sans-serif;--font-latin:"Inter","Segoe UI",Arial,sans-serif;--green:#1F6F43;--green2:#278A4B;--pale:#E9F5ED;--gold:#D9A441;--brown:#8B5E3C;--blue:#2F80ED;--bg:#F6F8F4;--text:#243128;--muted:#6B786E;--danger:#C0392B;--warning:#E67E22;--border:#DDE7DF;--shadow:0 8px 24px rgba(31,79,50,.08);--radius:18px}
*{box-sizing:border-box}html{font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html[lang="en"]{font-family:var(--font-latin)}body{margin:0;background:var(--bg);font-weight:400;line-height:1.72}h1,h2,h3,h4,h5,h6,.brand strong,.metric-card b,.btn,.top-title h1{font-family:var(--font-display);letter-spacing:-.02em}html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] h4,html[lang="en"] .brand strong,html[lang="en"] .metric-card b,html[lang="en"] .btn,html[lang="en"] .top-title h1{font-family:var(--font-latin);letter-spacing:-.015em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#fff;border-inline-end:1px solid var(--border);position:fixed;inset-block:0;inset-inline-start:0;overflow:auto;z-index:50;padding:18px 14px}.brand{display:flex;align-items:center;gap:12px;padding:8px 8px 22px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--pale);border-radius:16px;font-size:26px}.brand strong{display:block;font-size:20px;color:var(--green)}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.nav-group{margin:14px 0}.nav-group-title{color:#8A968C;font-size:11px;font-weight:bold;padding:8px 12px;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:#405047;margin:2px 0;font-size:14px;font-weight:500;line-height:1.55}.nav-link:hover{background:var(--pale);color:var(--green)}.nav-icon{width:26px;text-align:center;font-size:18px}.main-area{margin-inline-start:270px;width:calc(100% - 270px);min-width:0}.topbar{height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}.top-title h1{font-size:19px;margin:0}.top-title small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:42px;height:42px;display:grid;place-items:center;cursor:pointer}.user-chip{border:0;background:var(--pale);border-radius:14px;padding:6px 10px;display:flex;align-items:center;gap:8px;cursor:pointer}.user-chip span{width:30px;height:30px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center}.user-menu{position:relative}.dropdown{position:absolute;inset-inline-end:0;top:50px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:160px;padding:6px}.dropdown a{display:block;padding:10px;border-radius:9px}.dropdown a:hover{background:var(--pale)}.content{padding:28px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-heading h2{margin:0;font-size:25px;line-height:1.45;font-weight:700}.page-heading p{margin:5px 0;color:var(--muted)}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.06)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.secondary{background:var(--pale);border-color:transparent;color:var(--green)}.btn.wide{width:100%}.alert{padding:13px 16px;border-radius:12px;margin-bottom:16px}.alert.success{background:#E7F7EC;color:#176B37}.alert.danger{background:#FDECEA;color:#9F2F25}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow);transition:.2s}.metric-card:hover{transform:translateY(-3px)}.metric-card .metric-icon{width:48px;height:48px;background:var(--pale);border-radius:15px;display:grid;place-items:center}.metric-card b{display:block;font-size:24px;line-height:1.25;font-weight:700}.metric-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel,.table-card,.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:18px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h3{margin:0 0 14px}.alert-list{display:grid;gap:8px}.alert-row{padding:12px;border-radius:12px;display:flex;gap:10px}.alert-row.warning{background:#FFF4E8}.alert-row.danger{background:#FDECEA}.filter-bar{background:#fff;border:1px solid var(--border);border-radius:15px;padding:12px;display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.filter-bar label{display:flex;flex-direction:column;gap:5px}.search-input{min-width:260px;flex:1}.table-card{overflow:hidden}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid #EDF2EE;text-align:start;vertical-align:middle}th{background:#F9FBF9;color:#526058;font-size:12px;position:sticky;top:0}tbody tr:hover{background:#FBFDFB}.thumb{width:54px;height:42px;object-fit:cover;border-radius:8px}.row-actions{display:flex;gap:6px;white-space:nowrap}.row-actions form{display:inline}.small-btn{border:1px solid var(--border);background:#fff;border-radius:9px;padding:6px 9px;cursor:pointer}.small-btn.danger{color:var(--danger);border-color:#F1C7C2}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;background:#EEF3EF}.badge.success{background:#E7F7EC;color:#176B37}.badge.warning{background:#FFF4E8;color:#99520D}.badge.danger{background:#FDECEA;color:#9F2F25}.badge.info{background:#EAF2FE;color:#245EAA}.empty{text-align:center;padding:35px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:6px;padding:14px}.pagination a{padding:7px 11px;border:1px solid var(--border);border-radius:8px}.pagination a.active{background:var(--green);color:#fff}.form-card{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px}.form-grid label span{font-weight:bold;font-size:13px}.span-2{grid-column:1/-1}input,select,textarea{border:1px solid #CBD8CE;border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:3px solid rgba(31,111,67,.12);border-color:var(--green)}.form-actions{display:flex;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.form-preview{max-width:220px;max-height:150px;object-fit:cover;border-radius:12px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.role-card h3{margin:0}.role-card p{color:var(--muted)}.role-card>div{display:flex;gap:12px;margin-bottom:15px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.permission-group{background:#F8FBF8;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:7px}.permission-group h4{margin:0 0 5px;color:var(--green)}.permission-group input{width:auto}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.health-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:16px;display:flex;gap:12px}.health-card>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.health-card.ok>span{background:#E7F7EC;color:#176B37}.health-card.bad>span{background:#FDECEA;color:#9F2F25}.health-card small{display:block;color:var(--muted);margin-top:4px}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#DFF3E5,transparent 40%),var(--bg);padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:0 20px 60px rgba(31,80,48,.14);text-align:center}.auth-logo{font-size:45px}.auth-card h1{margin:8px 0}.auth-card p{color:var(--muted)}.auth-card form{text-align:start;display:grid;gap:15px;margin:22px 0}.auth-card label{display:grid;gap:7px}.auth-links{display:flex;justify-content:space-between}.offline-banner{position:fixed;z-index:100;top:0;left:0;right:0;background:#7A4915;color:#fff;padding:8px;text-align:center}.mobile-nav,.mobile-only{display:none}.report-title{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.permission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(calc(-100% - 5px));transition:.25s}html[dir=rtl] .sidebar{transform:translateX(calc(100% + 5px))}.sidebar.open{transform:none}.main-area{margin:0;width:100%}.topbar{padding:0 14px}.top-title small,.user-chip b{display:none}.content{padding:16px 14px 92px}.mobile-only{display:grid}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-heading{flex-direction:column}.card-grid,.health-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);z-index:45;padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;font-size:17px}.mobile-nav span{font-size:10px}.mobile-nav .mobile-add{width:56px;height:56px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:30px;margin-top:-23px;justify-self:center}.filter-bar{align-items:stretch}.filter-bar>*{width:100%}.search-input{min-width:0}}
@media(max-width:460px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:13px;gap:9px}.metric-card b{font-size:19px}.metric-card .metric-icon{width:40px;height:40px}}
@media print{.sidebar,.topbar,.mobile-nav,.page-actions,.filter-bar,.alert{display:none!important}.main-area{margin:0;width:100%}.content{padding:0}.table-card{box-shadow:none;border:0}.report-title{display:block}.printable table{min-width:0;font-size:11px}}
.select-search{margin-bottom:7px;background:#F9FBF9}.file-link{font-weight:bold;color:var(--green)}


/* Typography and visitor experience — v1.1.0 */
.svg-icon{display:inline-grid;place-items:center;width:1.3em;height:1.3em;flex:0 0 auto}.svg-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.visitor-nav-link{background:linear-gradient(135deg,#f1faf4,#fff9ea);border:1px solid #e1eee5}.visitor-nav-link .nav-icon{filter:saturate(.8)}
.table-subtext{display:block;color:var(--muted);font-size:11px;margin-top:4px}.copy-link-row{display:flex;gap:8px;align-items:center}.copy-link-row input{min-width:0;font-family:var(--font-latin);direction:ltr;text-align:left;background:#f8fbf8}.copy-link-row.compact{min-width:270px}.copy-link-row.compact input{padding:8px 9px;font-size:11px}.copy-link-row .small-btn .svg-icon{width:17px;height:17px}.visitor-new-link{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(350px,1.2fr);gap:18px;align-items:center;background:linear-gradient(135deg,#eaf8ef,#fff9e9);border:1px solid #d5eadc;border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}.visitor-new-link strong,.visitor-new-link small{display:block}.visitor-new-link small{color:var(--muted);margin-top:5px}.visitor-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;margin-bottom:18px}.visitor-privacy-note{background:linear-gradient(160deg,#174f36,#236c4a);color:#fff;border-radius:var(--radius);padding:24px;box-shadow:0 18px 45px rgba(23,79,54,.2);display:flex;gap:15px;align-items:flex-start}.visitor-privacy-note>span{width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:25px}.visitor-privacy-note h3{margin:0 0 8px;font-size:19px}.visitor-privacy-note p{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.85}.visitor-options{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.visitor-options h3{margin:0 0 5px}.visitor-options>p{color:var(--muted);margin:0 0 15px}.visitor-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visitor-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:13px;padding:12px;background:#fbfdfb;cursor:pointer}.visitor-check input{width:19px;height:19px;accent-color:var(--green);margin-top:2px}.visitor-check b,.visitor-check small{display:block}.visitor-check b{font-size:13px}.visitor-check small{color:var(--danger);font-size:10px;margin-top:3px}

.visitor-page{--visitor-green:#174f36;--visitor-green-2:#26724f;--visitor-mint:#e9f6ed;--visitor-gold:#d7a43b;--visitor-ink:#183126;--visitor-muted:#687a70;--visitor-line:#dce8df;background:#f7faf7;color:var(--visitor-ink);min-height:100vh}.visitor-page h1,.visitor-page h2,.visitor-page h3,.visitor-page strong,.visitor-page button{font-family:var(--font-display)}.visitor-shell{width:min(1180px,calc(100% - 34px));margin-inline:auto}.visitor-topbar{position:sticky;top:0;z-index:30;background:rgba(250,253,250,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,232,223,.85)}.visitor-topbar-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.visitor-brand{display:flex;align-items:center;gap:11px}.visitor-brand-mark{width:48px;height:48px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(23,79,54,.15)}.visitor-brand-mark img{width:100%;height:100%;object-fit:cover}.visitor-brand strong,.visitor-brand small{display:block}.visitor-brand strong{font-size:18px;color:var(--visitor-green)}.visitor-brand small{font-size:10px;color:var(--visitor-muted);margin-top:2px}.visitor-actions{display:flex;align-items:center;gap:8px}.visitor-lang,.visitor-share{height:43px;border:1px solid var(--visitor-line);background:#fff;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;color:var(--visitor-green);cursor:pointer}.visitor-lang{min-width:43px;font-family:var(--font-latin);font-weight:700}.visitor-share{font-weight:600}.visitor-share .svg-icon{width:18px;height:18px}.visitor-hero{overflow:hidden;padding:64px 0 42px;background:radial-gradient(circle at 12% 10%,rgba(215,164,59,.16),transparent 28%),radial-gradient(circle at 88% 15%,rgba(38,114,79,.14),transparent 30%),linear-gradient(180deg,#fbfdf9,#f2f8f3)}.visitor-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:50px}.visitor-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--visitor-line);border-radius:999px;padding:7px 13px;color:var(--visitor-green);font-size:12px;font-weight:600;box-shadow:0 8px 24px rgba(23,79,54,.06)}.visitor-eyebrow .svg-icon{width:17px;height:17px}.visitor-hero-copy h1{font-size:clamp(36px,5vw,64px);line-height:1.35;margin:18px 0 13px;color:#153d2c;font-weight:800}.visitor-hero-copy>p{font-size:16px;line-height:2;color:var(--visitor-muted);max-width:720px;margin:0}.visitor-hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.visitor-hero-tags>span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.78);border:1px solid var(--visitor-line);font-size:12px}.visitor-hero-tags .svg-icon{color:var(--visitor-green);width:17px;height:17px}.visitor-hero-art{position:relative;min-height:390px;border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#1b5c3e,#2a7a55);box-shadow:0 30px 70px rgba(23,79,54,.24);transform:rotate(-1deg)}html[dir=rtl] .visitor-hero-art{transform:rotate(1deg)}.visitor-hero-art:before,.visitor-hero-art:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18);z-index:1}.visitor-hero-art:before{width:300px;height:300px;inset:-80px auto auto -80px}.visitor-hero-art:after{width:420px;height:420px;inset:auto -180px -220px auto}.visitor-hero-art>img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}.visitor-hero-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:15px;color:#fff}.visitor-hero-placeholder img{width:180px;height:180px;border-radius:38px;box-shadow:0 25px 55px rgba(0,0,0,.18)}.visitor-hero-placeholder span{font-size:13px;color:rgba(255,255,255,.82)}.visitor-section{padding:56px 0}.visitor-section-soft{background:#eef6f0;border-block:1px solid #e2ece4}.visitor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-2px}.visitor-stat{background:#fff;border:1px solid var(--visitor-line);border-radius:22px;padding:19px;display:flex;gap:13px;align-items:center;box-shadow:0 12px 35px rgba(23,79,54,.07)}.visitor-stat-icon{width:50px;height:50px;border-radius:16px;background:var(--visitor-mint);color:var(--visitor-green);display:grid;place-items:center}.visitor-stat-icon .svg-icon{width:24px;height:24px}.visitor-stat strong,.visitor-stat small{display:block}.visitor-stat strong{font-size:24px;color:#153d2c;line-height:1.25}.visitor-stat small{font-size:11px;color:var(--visitor-muted);margin-top:2px}.visitor-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:23px}.visitor-section-heading span{font-size:11px;color:var(--visitor-green-2);font-weight:700}.visitor-section-heading h2{font-size:28px;margin:4px 0 0;color:#153d2c}.visitor-section-heading>p{max-width:470px;color:var(--visitor-muted);font-size:13px;margin:0}.visitor-about-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.visitor-info-card{background:#fff;border:1px solid var(--visitor-line);border-radius:20px;padding:18px;display:flex;align-items:center;gap:13px}.visitor-info-icon{width:44px;height:44px;border-radius:14px;background:#eef7f1;color:var(--visitor-green);display:grid;place-items:center}.visitor-info-icon.water{background:#eaf4ff;color:#2f80ed}.visitor-info-icon .svg-icon{width:21px;height:21px}.visitor-info-card small,.visitor-info-card strong{display:block}.visitor-info-card small{color:var(--visitor-muted);font-size:10px}.visitor-info-card strong{font-size:13px;margin-top:4px;line-height:1.7}.visitor-crop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.visitor-crop-card{background:#fff;border:1px solid var(--visitor-line);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(23,79,54,.06);transition:.2s}.visitor-crop-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,79,54,.11)}.visitor-crop-media{height:165px;background:linear-gradient(145deg,#e8f5eb,#fff7df);display:grid;place-items:center;overflow:hidden}.visitor-crop-media img{width:100%;height:100%;object-fit:cover}.visitor-crop-media>span{width:66px;height:66px;border-radius:20px;background:#fff;color:var(--visitor-green);display:grid;place-items:center;box-shadow:0 12px 28px rgba(23,79,54,.1)}.visitor-crop-media .svg-icon{width:34px;height:34px}.visitor-crop-body{padding:17px}.visitor-crop-body h3{margin:0 0 11px;font-size:17px;color:#153d2c}.visitor-crop-body>div{display:flex;gap:7px;flex-wrap:wrap}.visitor-crop-body span{font-size:10px;background:#f1f6f2;border-radius:999px;padding:5px 9px;color:var(--visitor-muted)}.visitor-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px}.visitor-gallery figure{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#e9f2eb}.visitor-gallery figure.featured{grid-column:span 2;grid-row:span 2}.visitor-gallery img{width:100%;height:100%;object-fit:cover;transition:.35s}.visitor-gallery figure:hover img{transform:scale(1.04)}.visitor-gallery figcaption{position:absolute;inset:auto 0 0;padding:35px 14px 13px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}.visitor-gallery figcaption strong,.visitor-gallery figcaption span{display:block}.visitor-gallery figcaption strong{font-size:12px}.visitor-gallery figcaption span{font-size:9px;color:rgba(255,255,255,.72)}.visitor-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visitor-timeline article{background:#fff;border:1px solid var(--visitor-line);border-radius:18px;padding:17px;display:flex;gap:13px}.visitor-timeline-icon{width:44px;height:44px;border-radius:14px;background:var(--visitor-mint);color:var(--visitor-green);display:grid;place-items:center}.visitor-timeline-icon .svg-icon{width:21px;height:21px}.visitor-timeline small{color:var(--visitor-muted);font-size:10px}.visitor-timeline h3{font-size:14px;margin:3px 0}.visitor-timeline p{font-size:11px;color:var(--visitor-muted);margin:0}.visitor-location-card{background:linear-gradient(135deg,#174f36,#287a55);color:#fff;border-radius:28px;padding:27px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;box-shadow:0 24px 55px rgba(23,79,54,.22)}.visitor-location-icon{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.13);display:grid;place-items:center}.visitor-location-icon .svg-icon{width:29px;height:29px}.visitor-location-card small{color:rgba(255,255,255,.65)}.visitor-location-card h2{margin:4px 0;font-size:23px}.visitor-location-card p{margin:0;color:rgba(255,255,255,.7);font-size:11px}.visitor-map-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--visitor-green);border-radius:13px;padding:11px 15px;font-weight:700;font-size:12px}.visitor-map-btn .svg-icon{width:18px;height:18px}.visitor-footer{padding:30px 0;background:#143d2b;color:#fff}.visitor-footer>.visitor-shell{display:flex;align-items:center;justify-content:space-between;gap:20px}.visitor-footer>div>div{display:flex;align-items:center;gap:11px}.visitor-footer img{width:44px;height:44px;border-radius:14px}.visitor-footer strong,.visitor-footer small{display:block}.visitor-footer strong{font-size:15px}.visitor-footer small{font-size:10px;color:rgba(255,255,255,.62);margin-top:2px}.visitor-footer nav{display:flex;gap:9px;align-items:center}.visitor-footer nav a{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:9px 12px;font-size:11px}.visitor-footer nav .svg-icon{width:16px;height:16px}.visitor-error{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;padding:25px;background:radial-gradient(circle at top,#e2f2e6,transparent 48%)}.visitor-error img{width:110px;height:110px;border-radius:28px;box-shadow:0 20px 50px rgba(23,79,54,.18)}.visitor-error h1{font-size:29px;margin:20px 0 8px}.visitor-error p{max-width:520px;color:var(--visitor-muted);line-height:1.9;margin:0 0 18px}
@media(max-width:1000px){.visitor-admin-grid{grid-template-columns:1fr}.visitor-hero-grid{grid-template-columns:1fr}.visitor-hero-art{min-height:320px}.visitor-stats,.visitor-about-grid{grid-template-columns:repeat(2,1fr)}.visitor-crop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.visitor-new-link{grid-template-columns:1fr}.visitor-check-grid{grid-template-columns:1fr}.visitor-topbar-inner{min-height:68px}.visitor-brand small,.visitor-share span{display:none}.visitor-brand-mark{width:42px;height:42px;border-radius:13px}.visitor-hero{padding:40px 0 28px}.visitor-hero-copy h1{font-size:36px}.visitor-hero-copy>p{font-size:14px}.visitor-hero-art,.visitor-hero-art>img{min-height:280px}.visitor-section{padding:40px 0}.visitor-section-heading{align-items:start;flex-direction:column;gap:8px}.visitor-section-heading h2{font-size:23px}.visitor-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:165px}.visitor-gallery figure.featured{grid-column:span 2;grid-row:span 1}.visitor-timeline{grid-template-columns:1fr}.visitor-location-card{grid-template-columns:auto 1fr}.visitor-map-btn{grid-column:1/-1;justify-content:center}.visitor-footer>.visitor-shell{align-items:flex-start;flex-direction:column}.visitor-footer nav{width:100%;justify-content:space-between}}
@media(max-width:480px){.visitor-shell{width:min(100% - 24px,1180px)}.visitor-stats,.visitor-about-grid,.visitor-crop-grid{grid-template-columns:1fr 1fr}.visitor-stat{padding:13px;gap:9px}.visitor-stat-icon{width:42px;height:42px}.visitor-stat strong{font-size:19px}.visitor-info-card{padding:13px;align-items:flex-start;flex-direction:column}.visitor-crop-media{height:125px}.visitor-crop-body{padding:13px}.visitor-crop-body h3{font-size:14px}.visitor-gallery{grid-auto-rows:135px}.visitor-brand strong{font-size:15px}.visitor-hero-placeholder img{width:135px;height:135px}}


/* Media management 1.2.0 */
.image-field{display:grid;gap:12px}.current-image-link{display:block;width:min(100%,560px)}.current-file-meta{padding:10px 12px;border:1px solid var(--border,#d8e2da);border-radius:12px;background:#f8fbf8;overflow-wrap:anywhere}.remove-image-option{display:flex!important;align-items:center;gap:8px;padding:10px 12px;border:1px solid #efc7c3;border-radius:12px;background:#fff7f6;color:#9c2f26}.remove-image-option input{width:auto!important}.field-help{display:block;line-height:1.8;color:var(--muted,#68766d)}.missing-image{padding:18px;border:1px dashed #d6a33f;border-radius:14px;background:#fff8e8;color:#795a14}.media-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.media-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.confirm-line{display:flex!important;align-items:flex-start;gap:8px}.confirm-line input{width:auto!important;margin-top:5px}.btn.danger{background:#b8322a;color:#fff;border-color:#b8322a}@media(max-width:900px){.media-stats,.media-actions-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.media-stats,.media-actions-grid{grid-template-columns:1fr}}


/* Smart image upload 1.2.1 */
.smart-image-status{min-height:1.25rem;margin-top:.45rem;font-size:.82rem;font-weight:600;color:#637268}
.smart-image-status.working{color:#976d13}
.smart-image-status.success{color:#17653c}
.smart-image-status.error{color:#b42318}
.smart-image-preview{margin-top:.65rem;max-width:360px;border:1px solid #d8e3db;border-radius:16px;overflow:hidden;background:#f7faf8;box-shadow:0 8px 22px rgba(19,73,47,.08)}
.smart-image-preview img{display:block;width:100%;max-height:220px;object-fit:cover}
.image-field input[type=file][data-smart-image="1"]{padding:.6rem;background:#fff}
@media(max-width:700px){.smart-image-preview{max-width:100%}}


/* Public portal 1.3.0 */
.pp-body{margin:0;background:#f4f8f4;color:#153a2b;font-family:"Alexandria",Arial,sans-serif}.pp-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,70px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #dbe8df}.pp-brand{display:flex;align-items:center;gap:10px;color:#174f36;text-decoration:none}.pp-brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#e3f3e8}.pp-top nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.pp-top nav a{color:#315b49;text-decoration:none;font-size:.9rem;font-weight:600}.pp-lang{border:1px solid #cfe1d5;border-radius:10px;padding:8px 12px}.pp-main{max-width:1380px;margin:auto}.pp-alert{max-width:1180px;margin:18px auto;padding:14px 18px;border-radius:14px}.pp-alert.success{background:#dff4e6;color:#15552f}.pp-alert.danger{background:#fee9e8;color:#a62920}.pp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:42px;align-items:center;padding:64px clamp(18px,4vw,64px) 46px}.pp-hero-image{min-height:430px;border-radius:34px;overflow:hidden;box-shadow:0 24px 70px rgba(27,78,55,.18)}.pp-hero-image img{width:100%;height:100%;min-height:430px;object-fit:cover}.pp-kicker,.pp-heading>span{display:inline-block;color:#2a7a4d;font-size:.82rem;font-weight:800;letter-spacing:.04em}.pp-hero h1{font-family:"Noto Kufi Arabic","Alexandria",sans-serif;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.3;margin:12px 0 18px;color:#123f2d}.pp-hero p{font-size:1.08rem;line-height:2;color:#527064}.pp-hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.pp-hero-tags span{background:#fff;border:1px solid #dbe9df;border-radius:999px;padding:9px 14px;font-size:.83rem}.pp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 clamp(18px,4vw,64px) 48px}.pp-stats article{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 12px;background:#fff;border:1px solid #dce9e0;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(34,81,58,.07)}.pp-stats article>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#e7f4eb;font-size:1.4rem}.pp-stats b{font-size:1.55rem}.pp-stats small{color:#71867c}.pp-section{padding:62px clamp(18px,4vw,64px)}.pp-soft{background:#eaf4ed;border-radius:40px;margin:0 18px}.pp-heading{max-width:760px;margin-bottom:28px}.pp-heading h2{font-family:"Noto Kufi Arabic","Alexandria",sans-serif;font-size:clamp(1.8rem,3vw,3rem);margin:8px 0 10px}.pp-heading p{color:#688074;line-height:1.9}.pp-card-grid,.pp-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pp-crop-card,.pp-product{background:#fff;border:1px solid #d8e7dc;border-radius:24px;overflow:hidden;box-shadow:0 14px 35px rgba(24,72,50,.08)}.pp-crop-card img,.pp-product>img{width:100%;height:230px;object-fit:cover}.pp-crop-card>div,.pp-product-body{padding:20px}.pp-crop-card h3,.pp-product h3{margin:0 0 8px;font-size:1.18rem}.pp-crop-card p,.pp-product p{color:#70837a;line-height:1.7}.pp-crop-card span{display:inline-block;background:#edf5ef;border-radius:999px;padding:7px 11px;font-size:.78rem}.pp-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pp-timeline article{display:flex;gap:18px;background:#fff;border-radius:20px;padding:20px;border:1px solid #d9e6dd}.pp-timeline time{font-weight:800;color:#28734a}.pp-timeline h3{margin:0 0 6px}.pp-timeline p,.pp-timeline span{color:#6c8176;font-size:.88rem}.pp-production-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.pp-production-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pp-production-cards article{background:#164f37;color:#fff;border-radius:22px;padding:22px}.pp-production-cards h3{margin:0 0 10px;font-size:1rem}.pp-production-cards b{font-size:1.8rem}.pp-production-cards small{display:block;margin-top:10px;color:#cde5d5}.pp-table{background:#fff;border:1px solid #dce9e0;border-radius:22px;overflow:auto}.pp-table table{width:100%;border-collapse:collapse}.pp-table th,.pp-table td{padding:14px;border-bottom:1px solid #edf2ee;text-align:start}.pp-product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pp-stock{display:inline-block;border-radius:999px;padding:6px 10px;background:#e9f4ec;color:#216e45;font-size:.75rem}.pp-stock.out_of_stock,.pp-stock.closed{background:#fdeaea;color:#a4342c}.pp-stock.seasonal,.pp-stock.pending{background:#fff3d7;color:#996c00}.pp-price{display:flex;align-items:baseline;gap:8px;margin:16px 0}.pp-price b{font-size:1.45rem;color:#1b6d43}.pp-price del{color:#9b7a7a}.pp-order-box{border-top:1px solid #e3ece6;padding-top:14px}.pp-order-box summary{cursor:pointer;font-weight:800;color:#1d6d43}.pp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pp-form-grid label{display:grid;gap:7px;font-size:.85rem;font-weight:700}.pp-form-grid input,.pp-form-grid select,.pp-form-grid textarea,.pp-public-form input,.pp-public-form select,.pp-public-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbded1;border-radius:13px;padding:12px;background:#fff;font:inherit}.pp-form-grid .span-2{grid-column:1/-1}.pp-btn{border:0;border-radius:13px;background:#1f7548;color:#fff;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer}.pp-hp{position:absolute!important;left:-10000px!important;opacity:0!important}.pp-note{font-size:.8rem;color:#72867b}.pp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}.pp-gallery figure{position:relative;min-height:210px;margin:0;border-radius:22px;overflow:hidden}.pp-gallery figure:nth-child(1){grid-column:span 2;grid-row:span 2}.pp-gallery img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.pp-gallery figcaption{position:absolute;inset:auto 0 0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff}.pp-gallery figcaption small{display:block;color:#dbe8df}.pp-rating-summary{display:flex;align-items:center;gap:10px}.pp-stars{display:inline-flex;direction:ltr;gap:2px}.pp-stars span{color:#d8dfda;font-size:1.3rem}.pp-stars .on{color:#f3b21c}.pp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pp-review-grid>article{background:#fff;border:1px solid #d8e6dc;border-radius:22px;padding:22px}.pp-review-grid p{line-height:1.8;color:#506d60}.pp-staff-reply{margin-top:14px;padding:14px;border-radius:14px;background:#eef6f0}.pp-public-form{margin-top:26px;background:#fff;border:1px solid #d6e5da;border-radius:24px;padding:24px}.pp-contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:start}.pp-contact-link{display:inline-block;margin:8px 6px 0;padding:10px 14px;border-radius:12px;background:#e6f3ea;color:#1c6942;text-decoration:none}.pp-footer{display:flex;justify-content:space-between;gap:30px;padding:34px clamp(18px,4vw,64px);background:#103d2b;color:#fff}.pp-footer a{color:#fff}.pp-conversation{max-width:900px;margin:40px auto;padding:22px}.pp-conversation>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.pp-back{color:#1e6c43;text-decoration:none}.pp-thread,.admin-thread{display:grid;gap:12px;margin:24px 0}.pp-thread article,.admin-thread article{max-width:78%;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #d9e6dd}.pp-thread article.staff,.admin-thread article.staff{margin-inline-start:auto;background:#dff0e4}.pp-thread article.public,.admin-thread article.public{margin-inline-end:auto}.pp-thread p,.admin-thread p{line-height:1.8}.pp-thread small,.admin-thread small{color:#7b8f84}.public-admin-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.public-admin-links a{display:flex;align-items:center;gap:10px;padding:18px;border-radius:18px;background:#fff;border:1px solid #dce9e0;color:#214f39;text-decoration:none}.review-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-admin-grid .panel form{display:grid;gap:12px}.review-admin-grid textarea{width:100%;box-sizing:border-box}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
@media(max-width:900px){.pp-hero,.pp-production-grid,.pp-contact-grid{grid-template-columns:1fr}.pp-stats{grid-template-columns:repeat(2,1fr)}.pp-card-grid,.pp-product-grid,.pp-review-grid{grid-template-columns:repeat(2,1fr)}.pp-gallery{grid-template-columns:repeat(2,1fr)}.public-admin-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pp-top{align-items:flex-start}.pp-top nav a:not(.pp-lang){display:none}.pp-hero{padding-top:28px}.pp-hero-image,.pp-hero-image img{min-height:280px}.pp-stats,.pp-card-grid,.pp-product-grid,.pp-review-grid,.pp-timeline,.pp-production-cards,.pp-form-grid,.review-admin-grid,.detail-grid{grid-template-columns:1fr}.pp-form-grid .span-2{grid-column:auto}.pp-gallery{grid-template-columns:1fr}.pp-gallery figure:nth-child(1){grid-column:auto;grid-row:auto}.pp-soft{margin:0;border-radius:0}.public-admin-links{grid-template-columns:1fr}}

/* ======================================================================
   Mazaree commercial UI hardening — v1.3.1
   الإدارة، الجوال، النماذج، الجداول، الطباعة، وإتاحة الاستخدام
   ====================================================================== */

:root{
  --sidebar-width:280px;
  --topbar-height:78px;
  --content-max:1680px;
  --focus-ring:0 0 0 4px rgba(31,111,67,.16);
  --shadow-soft:0 8px 26px rgba(27,73,45,.075);
  --shadow-hover:0 15px 38px rgba(27,73,45,.12);
  --surface:#fff;
  --surface-soft:#f9fcfa;
}

html{scroll-behavior:smooth}
body{min-width:320px;overflow-x:hidden}
body:not(.visitor-page):not(.pp-body){background:
  radial-gradient(circle at 85% 0,rgba(39,138,75,.045),transparent 32rem),
  var(--bg)}
img,svg,canvas{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:disabled,.btn:disabled,input:disabled,select:disabled,textarea:disabled{
  cursor:not-allowed;opacity:.62;transform:none!important;box-shadow:none!important
}
:focus{outline:none}
:focus-visible{outline:3px solid rgba(31,111,67,.36);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus-ring)}
::selection{background:rgba(31,111,67,.2);color:var(--text)}

/* شريط التمرير */
*{scrollbar-width:thin;scrollbar-color:#b9cbbf transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{background:#b9cbbf;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#8eaa98;background-clip:padding-box}

/* الهيكل العام */
.app-shell{align-items:stretch}
.sidebar{
  width:var(--sidebar-width);padding:18px 15px 28px;
  box-shadow:4px 0 24px rgba(34,74,48,.035);
  overscroll-behavior:contain
}
html[dir="rtl"] .sidebar{box-shadow:-4px 0 24px rgba(34,74,48,.035)}
.main-area{margin-inline-start:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}
.content{width:100%;max-width:var(--content-max);padding:30px clamp(20px,2.2vw,38px) 44px}
.topbar{
  min-height:var(--topbar-height);height:auto;padding:12px clamp(18px,2.2vw,34px);
  gap:16px;box-shadow:0 5px 20px rgba(31,79,50,.035)
}
.top-title{min-width:0}
.top-title h1{font-size:clamp(17px,1.35vw,21px);overflow-wrap:anywhere}
.top-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,620px)}
.top-actions{flex:0 0 auto}

/* الهوية والقائمة */
.brand{position:sticky;top:-18px;z-index:2;background:#fff;padding-top:18px}
.brand-mark{flex:0 0 48px;color:var(--green)}
.brand-mark .nav-icon{width:28px}
.brand>div:last-child{min-width:0}
.brand strong,.brand small{overflow-wrap:anywhere}
.nav-group{margin-block:18px}
.nav-group-title{letter-spacing:.02em}
.nav-link{
  min-height:44px;position:relative;transition:background-color .18s ease,color .18s ease,transform .18s ease;
  overflow-wrap:anywhere
}
.nav-link .nav-icon{flex:0 0 27px;color:#52645a}
.nav-link:hover{transform:translateX(2px)}
html[dir="rtl"] .nav-link:hover{transform:translateX(-2px)}
.nav-link:hover .nav-icon,.nav-link:focus-visible .nav-icon{color:var(--green)}
.nav-link[aria-current="page"],.nav-link.active{
  background:linear-gradient(135deg,#e8f5ec,#f6fbf7);color:var(--green);font-weight:700
}
.nav-link[aria-current="page"]::before,.nav-link.active::before{
  content:"";position:absolute;inset-block:9px;inset-inline-start:0;width:3px;border-radius:8px;background:var(--green)
}
.visitor-nav-link,.public-nav-link{font-weight:600}
.public-nav-link{background:linear-gradient(135deg,#edf8f0,#fff9e9);border:1px solid #deebe2}

/* العنوان والأزرار */
.page-heading{align-items:center;margin-bottom:24px}
.page-heading>div:first-child{min-width:0}
.page-heading h2{font-size:clamp(21px,2vw,28px);overflow-wrap:anywhere}
.page-heading p{max-width:900px;line-height:1.8}
.page-actions{justify-content:flex-end}
.btn,.small-btn,.icon-btn,.user-chip{
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease
}
.btn{min-height:43px;font-weight:600;white-space:normal;text-align:center}
.btn:hover,.small-btn:hover,.icon-btn:hover,.user-chip:hover{box-shadow:0 7px 18px rgba(31,79,50,.1)}
.btn.primary:hover{background:#195d38;border-color:#195d38}
.icon-btn{flex:0 0 42px;color:#34463b}
.user-chip{max-width:min(320px,28vw)}
.user-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dropdown{z-index:80;overflow:hidden}
.dropdown a{font-weight:500}

/* التنبيهات */
.alert{border:1px solid transparent;box-shadow:0 4px 13px rgba(0,0,0,.025);overflow-wrap:anywhere}
.alert.success{border-color:#c9ead3}
.alert.danger{border-color:#f3ccc7}
.alert.warning{background:#fff7e7;color:#8a520d;border-color:#f4d18e}
.offline-banner{font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.is-offline .topbar{top:40px}

/* مؤشرات لوحة المعلومات */
.metric-grid{grid-template-columns:repeat(4,minmax(205px,1fr));gap:16px}
.metric-card{
  min-height:92px;padding:17px 18px;border-color:#dbe7de;box-shadow:var(--shadow-soft);
  background:linear-gradient(145deg,#fff,#fcfefd)
}
.metric-card:hover{box-shadow:var(--shadow-hover);border-color:#cbded0}
.metric-card .metric-icon{color:#344b3c;box-shadow:inset 0 0 0 1px rgba(31,111,67,.035)}
.metric-card .metric-icon .svg-icon{width:23px;height:23px}
.metric-card b{font-variant-numeric:tabular-nums;font-size:clamp(21px,1.75vw,27px);overflow-wrap:anywhere}
.metric-card small{font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.dashboard-grid{align-items:stretch}
.dashboard-grid>.panel{height:100%;min-height:295px}
.panel canvas{display:block;width:100%!important;max-height:240px}

/* البطاقات */
.panel,.table-card,.form-card,.role-card,.health-card{
  border-color:#dbe7de;box-shadow:var(--shadow-soft)
}
.panel,.form-card{padding:clamp(18px,2vw,26px)}
.panel-head{gap:14px;flex-wrap:wrap}
.panel h3,.panel-head h3{overflow-wrap:anywhere}
.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.role-card,.health-card{min-width:0}

/* البحث والتصفية */
.filter-bar{padding:14px;gap:12px;box-shadow:0 5px 18px rgba(31,79,50,.04)}
.filter-bar label{min-width:155px;flex:0 1 210px}
.filter-bar .search-input{flex:1 1 290px}
.select-search{min-height:42px}

/* النماذج */
.form-card{overflow:hidden}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-grid label{min-width:0}
.form-grid label>span{line-height:1.6}
input,select,textarea{
  min-height:45px;max-width:100%;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease
}
textarea{min-height:110px;resize:vertical;line-height:1.75}
input[type="checkbox"],input[type="radio"]{min-height:0;width:auto;accent-color:var(--green)}
input[type="file"]{padding:8px;background:#fbfdfb}
input[type="file"]::file-selector-button{
  font:inherit;border:0;border-radius:8px;background:var(--pale);color:var(--green);padding:7px 12px;margin-inline-end:10px;cursor:pointer
}
.form-actions{align-items:center;flex-wrap:wrap}
.form-preview{display:block;border:1px solid var(--border);background:#f7faf8}
.copy-link-row{min-width:0}
.copy-link-row input{min-width:0}

/* الجداول */
.table-card{overflow:hidden;background:#fff}
.table-responsive{max-width:100%;overscroll-behavior-inline:contain}
table{font-variant-numeric:tabular-nums}
th{z-index:1;white-space:nowrap;background:#f6faf7;color:#46564c}
th,td{line-height:1.65}
td{overflow-wrap:anywhere}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:rgba(246,250,247,.38)}
tbody tr:hover{background:#f4faf6}
.row-actions{align-items:center;flex-wrap:wrap}
.small-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.thumb{border:1px solid #dfe8e1;background:#f4f7f5}
.badge{font-weight:600;line-height:1.45;white-space:normal;text-align:center}
.empty{min-height:145px;display:table-cell;vertical-align:middle}
.pagination{flex-wrap:wrap}
.pagination a{min-width:38px;text-align:center}

/* الصحة والصلاحيات */
.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.health-card{align-items:flex-start;min-height:92px}
.health-card>div{min-width:0}
.health-card b,.health-card small{overflow-wrap:anywhere}
.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.permission-group{min-width:0;border:1px solid #e5eee7}
.permission-group label{display:flex;align-items:flex-start;gap:8px}

/* تسجيل الدخول */
.auth-page{background:
  radial-gradient(circle at 85% 5%,rgba(39,138,75,.18),transparent 34rem),
  radial-gradient(circle at 10% 95%,rgba(217,164,65,.12),transparent 28rem),
  var(--bg)}
.auth-card{box-shadow:0 24px 70px rgba(31,80,48,.16)}
.auth-card input{min-height:48px}
.auth-links{gap:16px;flex-wrap:wrap}

/* نصوص طويلة واتجاهات */
[dir="ltr"]{unicode-bidi:embed}
.table-subtext,[class*="description"],.panel p,.role-card p{overflow-wrap:anywhere}

/* الشاشات المتوسطة */
@media(max-width:1280px){
  :root{--sidebar-width:260px}
  .metric-grid{grid-template-columns:repeat(3,minmax(200px,1fr))}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:980px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
  .dashboard-grid>.panel{min-height:260px}
}

/* الجوال والأجهزة اللوحية */
@media(max-width:800px){
  :root{--topbar-height:68px}
  .sidebar{width:min(86vw,310px);box-shadow:0 0 34px rgba(17,48,29,.18)}
  .main-area{margin-inline-start:0;width:100%}
  .topbar{padding:10px 12px;gap:9px}
  .top-title{flex:1}
  .top-title h1{font-size:17px;line-height:1.45}
  .top-actions{gap:7px}
  .icon-btn{min-width:40px;height:40px;flex-basis:40px}
  .user-chip{padding:5px;max-width:none}
  .user-chip span{width:30px;height:30px}
  .content{padding:18px 12px calc(98px + env(safe-area-inset-bottom))}
  .page-heading{align-items:stretch;gap:14px}
  .page-actions{justify-content:flex-start;width:100%}
  .page-actions .btn{flex:1 1 145px}
  .filter-bar label,.filter-bar .search-input{flex-basis:100%;width:100%}
  .form-grid{grid-template-columns:1fr}
  .form-grid .span-2{grid-column:auto}
  .form-actions .btn{flex:1 1 140px}
  .mobile-nav{box-shadow:0 -8px 26px rgba(31,79,50,.09);gap:2px}
  .mobile-nav a{min-width:0;text-align:center;line-height:1.2}
  .mobile-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:2px}
  .dropdown{position:fixed;inset-inline:12px;top:68px;min-width:0}
}

@media(max-width:560px){
  .metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .metric-card{min-height:105px;padding:12px 8px;grid-template-columns:38px minmax(0,1fr) 38px!important;gap:6px!important}
  .metric-card .metric-icon{width:38px;height:38px}
  .metric-card::after{width:38px!important}
  .metric-card b{font-size:19px}
  .metric-card small{font-size:11.5px}
  .card-grid,.health-grid,.permission-grid{grid-template-columns:1fr}
  .panel,.form-card{padding:16px 14px}
  .page-heading h2{font-size:21px}
  .btn{padding:9px 12px}
  .table-card{margin-inline:-2px}
  .auth-card{padding:25px 18px;border-radius:20px}
}

@media(max-width:390px){
  .metric-grid{grid-template-columns:1fr}
  .metric-card{min-height:82px;grid-template-columns:42px minmax(0,1fr) 42px!important}
  .metric-card::after{width:42px!important}
  .top-actions{gap:5px}
  .top-actions>.icon-btn:nth-of-type(2){display:none}
}

/* الطباعة التجارية */
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important;color:#000!important;font-size:11pt}
  body{overflow:visible}
  .sidebar,.topbar,.mobile-nav,.page-actions,.filter-bar,.offline-banner,.dropdown,.btn,.small-btn,.row-actions{display:none!important}
  .main-area,.content{margin:0!important;width:100%!important;max-width:none!important;padding:0!important}
  .page-heading{display:block;margin:0 0 8mm;border-bottom:1px solid #bbb;padding-bottom:4mm}
  .page-heading h2{font-size:18pt;color:#000}
  .metric-grid{grid-template-columns:repeat(4,1fr);gap:4mm}
  .metric-card,.panel,.table-card,.form-card,.health-card,.role-card{box-shadow:none!important;break-inside:avoid;border:1px solid #bbb!important}
  .metric-card{min-height:0;padding:4mm}
  .metric-card .metric-icon,.metric-card::after{display:none!important}
  .metric-card>div{grid-column:1/-1!important}
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .table-responsive{overflow:visible}
  table{min-width:0!important;font-size:9pt}
  th{position:static;background:#eee!important;color:#000!important}
  tr,td,th{break-inside:avoid}
  a{text-decoration:none;color:#000}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ======================================================================
   Mazaree unified module tables — commercial responsive edition
   متوافق مع بنية index.php الحالية: كمبيوتر، جهاز لوحي، جوال وطباعة
   ====================================================================== */

/* عناصر مساعدة تستخدمها بنية الجداول الجديدة. */
.sr-only{
  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;
}
.mobile-cell-label{display:none}
.mobile-cell-value{min-width:0}

/* شريط البحث الخاص بقوائم الوحدات. */
.module-filter{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px;
}
.module-filter .module-search-field{min-width:0;width:100%;display:block}
.module-filter .search-input{width:100%;min-width:0;min-height:46px}
.module-filter .module-search-button{min-width:86px;min-height:46px}

/* الحاوية الرئيسية للجدول. */
.module-table-card{
  --module-min-width:920px;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
}
.module-table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}
.module-table{
  width:100%;
  min-width:var(--module-min-width);
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
  color:var(--text);
}
.module-table.is-compact{--module-min-width:920px}
.module-table.is-wide{--module-min-width:1120px}
.module-table.is-very-wide{--module-min-width:1420px}

/* رؤوس الأعمدة والصفوف. */
.module-table thead{background:#f4f9f5}
.module-table .module-head{
  position:static;
  z-index:auto;
  padding:14px 15px;
  border-bottom:1px solid #dce8df;
  border-inline-end:1px solid #e8f0ea;
  background:#f4f9f5;
  color:#405047;
  text-align:center;
  vertical-align:middle;
  font-size:12px;
  font-weight:700;
  line-height:1.55;
  white-space:normal;
}
.module-table .module-head:last-child{border-inline-end:0}
.module-table .th-label{display:block;overflow-wrap:anywhere}

.module-table .module-row{background:#fff;transition:background-color .16s ease}
.module-table .module-row:nth-child(even){background:#fbfdfb}
.module-table .module-row:hover{background:#f4faf6}
.module-table .module-cell,
.module-table .cell-actions{
  position:static;
  min-width:0;
  max-width:none;
  padding:15px;
  border-bottom:1px solid #e8f0ea;
  border-inline-end:1px solid #eef3ef;
  background:inherit;
  vertical-align:middle;
  line-height:1.75;
  text-align:center;
  overflow:visible;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  box-shadow:none;
}
.module-table .module-cell:last-child,
.module-table .cell-actions:last-child{border-inline-end:0}
.module-table tbody tr:last-child .module-cell,
.module-table tbody tr:last-child .cell-actions{border-bottom:0}

/* تنسيق القيم بحسب نوعها. */
.module-table .is-text{text-align:start}
.module-table .is-primary-data .cell-text-value{font-weight:600;color:#21382b}
.module-table .cell-text-value{display:block;min-width:0;line-height:1.8}
.module-table .is-ltr,
.module-table .is-measure-data,
.module-table .is-status-data{text-align:center}
.module-table .cell-inline-value,
.module-table .date-value,
.module-table .number-value{
  display:inline-block;
  direction:ltr;
  unicode-bidi:isolate;
  font-family:var(--font-latin);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.module-table .cell-number-group{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:100%;
  direction:ltr;
  unicode-bidi:isolate;
  white-space:nowrap;
}
.module-table .cell-unit{
  color:var(--muted);
  font-family:var(--font-body);
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
}
.module-table .cell-empty{color:#9aa69d}
.module-table .is-technical-data .cell-text-value{
  direction:ltr;
  unicode-bidi:isolate;
  font-family:var(--font-latin);
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  white-space:nowrap;
}
.module-table .badge{white-space:nowrap;justify-content:center}

/* الإجراءات: لا تثبيت ولا تداخل مع البيانات. */
.module-table .cell-actions{
  display:table-cell;
  width:142px;
  min-width:142px;
  padding-inline:10px;
  white-space:nowrap;
  text-align:center;
}
.module-table .row-actions__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
}
.module-table .row-actions__inner form{display:inline-flex;margin:0}
.module-table .row-actions__inner .small-btn{
  min-width:56px;
  min-height:36px;
  padding:7px 10px;
  flex:0 0 auto;
}

/* عرض الأعمدة العام. */
.module-table col.col-actions{width:142px}
.module-table col.col-name,
.module-table col.col-title,
.module-table col.col-address,
.module-table col.col-description,
.module-table col.col-notes{width:220px}
.module-table col[class$="_id"]{width:175px}
.module-table col.col-status,
.module-table col.col-health_status,
.module-table col.col-priority,
.module-table col.col-severity{width:125px}
.module-table col.col-quantity,
.module-table col.col-area,
.module-table col.col-amount,
.module-table col.col-progress,
.module-table col.col-percentage{width:115px}
.module-table col.col-planted_at,
.module-table col.col-created_at,
.module-table col.col-updated_at,
.module-table col.col-due_at,
.module-table col.col-start_at,
.module-table col.col-end_at{width:135px}
.module-table col.col-internal_code,
.module-table col.col-code,
.module-table col.col-reference,
.module-table col.col-sku,
.module-table col.col-barcode{width:175px}

/* توزيع صفحة المزارع. */
.module-table--farms{--module-min-width:1180px}
.module-table--farms col.col-name{width:260px}
.module-table--farms col.col-owner_name{width:185px}
.module-table--farms col.col-activity_type{width:220px}
.module-table--farms col.col-area{width:155px}
.module-table--farms col.col-address{width:250px}
.module-table--farms col.col-status{width:120px}
.module-table--farms col.col-actions{width:142px}

/* توزيع سجل الأشجار والمحاصيل. */
.module-table--plants{--module-min-width:1580px}
.module-table--plants col.col-farm_id{width:245px}
.module-table--plants col.col-field_id{width:175px}
.module-table--plants col.col-sector_id{width:195px}
.module-table--plants col.col-crop_type_id{width:175px}
.module-table--plants col.col-crop_variety_id{width:190px}
.module-table--plants col.col-internal_code{width:180px}
.module-table--plants col.col-planted_at{width:135px}
.module-table--plants col.col-health_status{width:135px}
.module-table--plants col.col-quantity{width:100px}
.module-table--plants col.col-actions{width:142px}

/* الصف الفارغ. */
.module-table .empty-row .empty{
  display:table-cell;
  width:auto;
  min-height:0;
  padding:42px 18px;
  text-align:center;
  color:var(--muted);
  background:#fff;
}

/* الأجهزة اللوحية: نحتفظ بالجدول ونسمح بتمرير أفقي واضح بدل ضغط النص. */
@media(max-width:1180px) and (min-width:901px){
  .module-table-card{border-radius:16px}
  .module-table .module-head,
  .module-table .module-cell,
  .module-table .cell-actions{padding:13px 12px}
}

/* الجوال: يتحول كل سجل إلى بطاقة كاملة دون تمرير أفقي. */
@media(max-width:900px){
  .module-filter{grid-template-columns:1fr}
  .module-filter .module-search-button{width:100%}

  .module-table-card{
    --module-min-width:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .module-table-responsive{
    overflow:visible;
    padding:0;
    scrollbar-gutter:auto;
  }
  .module-table,
  .module-table.is-compact,
  .module-table.is-wide,
  .module-table.is-very-wide{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
    background:transparent;
  }
  .module-table colgroup,
  .module-table thead{display:none}
  .module-table tbody{
    display:grid;
    gap:14px;
  }
  .module-table .module-row{
    display:block;
    overflow:hidden;
    border:1px solid #dce8df;
    border-radius:17px;
    background:#fff;
    box-shadow:var(--shadow-soft);
  }
  .module-table .module-row:nth-child(even),
  .module-table .module-row:hover{background:#fff}
  .module-table .module-cell,
  .module-table .cell-actions{
    display:grid;
    grid-template-columns:minmax(112px,38%) minmax(0,1fr);
    align-items:center;
    gap:12px;
    width:100%;
    min-width:0;
    min-height:54px;
    padding:11px 13px;
    border:0;
    border-bottom:1px solid #edf2ee;
    background:#fff;
    text-align:start;
    white-space:normal;
  }
  .module-table .module-cell:last-of-type,
  .module-table .cell-actions:last-child{border-bottom:0}
  .module-table .module-cell:nth-child(even){background:#fbfdfb}
  .module-table .mobile-cell-label{
    display:block;
    color:#6b786e;
    font-size:11px;
    font-weight:700;
    line-height:1.55;
    overflow-wrap:anywhere;
  }
  .module-table .mobile-cell-value{
    min-width:0;
    color:#243128;
    text-align:start;
    overflow-wrap:anywhere;
  }
  .module-table .is-ltr .mobile-cell-value,
  .module-table .is-measure-data .mobile-cell-value,
  .module-table .is-status-data .mobile-cell-value{text-align:start}
  .module-table .cell-number-group{justify-content:flex-start}
  html[dir="rtl"] .module-table .cell-number-group{justify-content:flex-end}
  .module-table .is-technical-data .cell-text-value{white-space:normal;overflow-wrap:anywhere}

  .module-table .cell-actions{
    grid-template-columns:minmax(112px,38%) minmax(0,1fr);
    padding-block:12px;
    background:#f6faf7;
  }
  .module-table .row-actions__inner{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:8px;
  }
  html[dir="rtl"] .module-table .row-actions__inner{justify-content:flex-end}
  .module-table .row-actions__inner .small-btn{
    flex:1 1 90px;
    min-height:40px;
  }
  .module-table .empty-row{
    display:block;
    border:1px solid #dce8df;
    border-radius:16px;
    overflow:hidden;
  }
  .module-table .empty-row .empty{
    display:block;
    width:100%;
    padding:34px 16px;
  }
}

@media(max-width:520px){
  .module-table .module-cell,
  .module-table .cell-actions{
    grid-template-columns:minmax(100px,42%) minmax(0,1fr);
    gap:9px;
    padding:10px 11px;
  }
  .module-table .mobile-cell-label{font-size:10.5px}
  .module-table .mobile-cell-value{font-size:13px}
  .module-table .row-actions__inner .small-btn{min-width:0}
}

/* الطباعة: العودة إلى جدول تقليدي نظيف. */
@media print{
  .module-table-card{border:1px solid #bbb!important;border-radius:0!important;box-shadow:none!important}
  .module-table-responsive{overflow:visible!important}
  .module-table,
  .module-table.is-compact,
  .module-table.is-wide,
  .module-table.is-very-wide{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
    font-size:8.5pt!important;
  }
  .module-table colgroup{display:table-column-group!important}
  .module-table thead{display:table-header-group!important}
  .module-table tbody{display:table-row-group!important}
  .module-table .module-row{display:table-row!important;box-shadow:none!important;border:0!important}
  .module-table .module-cell,
  .module-table .cell-actions{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    padding:5px!important;
    border:1px solid #ccc!important;
    background:#fff!important;
    color:#000!important;
    white-space:normal!important;
  }
  .module-table .module-head{padding:5px!important;border:1px solid #bbb!important;background:#eee!important;color:#000!important}
  .module-table .mobile-cell-label{display:none!important}
  .module-table .row-actions__inner{display:none!important}
  .module-table .cell-actions{display:none!important}
  .module-table .head-actions{display:none!important}
}
