.aj-wrap,.aj-portal{direction:rtl;font-family:Tahoma,Arial,sans-serif}.aj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}.aj-card{background:#fff;border:1px solid #e5dbc6;border-radius:16px;padding:16px;text-decoration:none;color:#2e2923}.aj-card h3{color:#173b32;margin-top:0}.aj-kpi{font-size:30px;font-weight:700;color:#b78c3b}.aj-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.aj-brand img{height:70px;max-width:190px;object-fit:contain}.aj-brand h2{margin:0;color:#173b32}.aj-brand p{margin:3px 0;color:#777}.aj-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.aj-tabs a{padding:9px 12px;border-radius:999px;text-decoration:none;color:#173b32;background:#fff;border:1px solid #e5dbc6}.aj-tabs a.active{background:#173b32;color:#fff}.aj-search{display:grid;grid-template-columns:1fr 150px;gap:8px}.aj-search input,.aj-card input,.aj-card select,.aj-card textarea{width:100%;padding:10px;border:1px solid #d4c8b1;border-radius:10px;margin:5px 0 10px}.aj-search button,.aj-btn{background:#b78c3b;color:#fff;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer}.aj-hero{background:linear-gradient(135deg,#173b32,#245246);color:#fff;border-radius:26px;padding:28px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}.aj-hero img{width:100%;max-height:250px;object-fit:contain}.aj-hero h1{font-size:38px;margin:0 0 10px}.aj-tree{display:flex;flex-direction:column;align-items:center;gap:10px}.aj-tree-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.aj-node{min-width:160px;text-align:center;background:#fff7dc;border:2px solid #cda64e;padding:10px 14px;border-radius:13px;text-decoration:none;color:#2e2923}.aj-focus{background:#e8f3ec;border-color:#2f7c59}.aj-line{height:22px;width:2px;background:#775733}.aj-tree-image{width:100%;max-height:1000px;object-fit:contain;background:#faf7ef;border-radius:14px}@media(max-width:720px){.aj-hero{grid-template-columns:1fr}.aj-search{grid-template-columns:1fr}.aj-hero h1{font-size:29px}}
.aj-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.aj-toolbar input{min-width:320px;max-width:520px}.aj-person-editor{margin:18px 0}.aj-person-editor summary{cursor:pointer;font-size:16px;color:#173b32}.aj-form-section{border-top:1px solid #eadfc9;padding-top:16px;margin-top:18px}.aj-form-section:first-of-type{border-top:0}.aj-form-section h2{font-size:17px;color:#173b32;margin:0 0 8px}.aj-check{display:flex!important;align-items:center;gap:8px;padding-top:28px}.aj-check input{width:auto!important;margin:0!important}.aj-person-editor .description{color:#777}.aj-person-editor textarea{min-height:90px}.aj-person-editor .button-hero{min-width:160px}
@media(max-width:720px){.aj-toolbar input{min-width:0;width:100%}.aj-toolbar{display:grid;grid-template-columns:1fr}.aj-check{padding-top:4px}}

.aj-photo-row{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;margin:10px 0 16px}
.aj-avatar{width:96px;height:96px;border-radius:18px;background:#f4efe5;border:1px solid #dfd3bc;display:flex;align-items:center;justify-content:center;color:#777;text-align:center;padding:8px}
.aj-avatar-img{width:96px;height:96px;object-fit:cover;border-radius:18px;border:1px solid #dfd3bc}
.aj-completeness-box{background:#f7f2e8;border:1px solid #e5dbc6;border-radius:12px;padding:12px;margin:12px 0}
.aj-score{display:inline-block;background:#edf5ef;color:#275f3f;padding:5px 8px;border-radius:999px;font-weight:700}
.aj-profile-card{background:#fff;border:1px solid #e5dbc6;border-radius:18px;padding:20px;margin-top:12px}
.aj-profile-head{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;border-bottom:1px solid #eee3cf;padding-bottom:18px;margin-bottom:16px}
.aj-profile-head .aj-avatar,.aj-profile-head .aj-avatar-img{width:120px;height:120px}
.aj-profile-head h2{margin:4px 0;color:#173b32}
.aj-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aj-profile-sections section{background:#fbf8f1;border:1px solid #eee3cf;border-radius:14px;padding:14px}
.aj-profile-sections h3{margin-top:0;color:#173b32}
.aj-progress{height:9px;background:#eee8dc;border-radius:999px;overflow:hidden;max-width:360px;margin:8px 0}
.aj-progress span{display:block;height:100%;background:#b78c3b}
.aj-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.aj-btn-light{background:#fff!important;color:#173b32!important;border:1px solid #e5dbc6!important}
.aj-privacy-note{background:#f7f2e8;border-radius:10px;padding:10px;color:#666}
@media(max-width:720px){.aj-photo-row,.aj-profile-head{grid-template-columns:1fr}.aj-profile-sections{grid-template-columns:1fr}}
@media print{
 body *{visibility:hidden!important}
 #aj-print-card,#aj-print-card *{visibility:visible!important}
 #aj-print-card{position:absolute;right:0;top:0;width:100%;border:0!important;box-shadow:none!important}
 .no-print{display:none!important}
 .aj-profile-sections{grid-template-columns:1fr 1fr!important}
}

.aj-person-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.aj-person-nav-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.aj-btn-disabled{background:#eee!important;color:#888!important;border:1px solid #ddd!important;pointer-events:none}
.button.disabled{opacity:.55;pointer-events:none}
@media(max-width:720px){
  .aj-person-nav{align-items:stretch}
  .aj-person-nav-group{width:100%}
  .aj-person-nav-group .button,.aj-person-nav-group .aj-btn{flex:1 1 auto;text-align:center}
}

.aj-public-home{max-width:1180px;margin:0 auto;padding:18px}
.aj-public-hero{background:linear-gradient(135deg,#173b32,#245246);color:#fff;border-radius:28px;padding:42px 34px;margin-bottom:20px}
.aj-public-hero h1{font-size:40px;line-height:1.3;margin:8px 0 12px}
.aj-public-hero p{font-size:17px;line-height:1.9;max-width:760px;color:#f4efe5}
.aj-eyebrow{display:inline-block;background:rgba(255,255,255,.12);padding:7px 10px;border-radius:999px}
.aj-public-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.aj-public-section{background:#fff;border:1px solid #e5dbc6;border-radius:20px;padding:24px;margin:16px 0}
.aj-public-section h2{color:#173b32;margin-top:0}
.aj-public-section p{line-height:1.9}
.aj-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.aj-public-grid article{background:#fbf8f1;border:1px solid #eee3cf;border-radius:15px;padding:16px}
.aj-public-grid h3{color:#173b32;margin-top:0}
@media(max-width:720px){.aj-public-hero{padding:28px 20px}.aj-public-hero h1{font-size:30px}}

.aj-smart-note{background:#eef6f1;border-right:4px solid #2f7c59;padding:12px;border-radius:10px;color:#355a48}
.aj-public-home{max-width:1180px;margin:0 auto;padding:20px}
.aj-public-hero{background:linear-gradient(135deg,#173b32,#245246);color:#fff;border-radius:30px;padding:42px 36px;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center;margin-bottom:18px}
.aj-public-hero img{width:100%;max-height:260px;object-fit:contain}.aj-public-hero h1{font-size:42px;line-height:1.3;margin:8px 0 12px}.aj-public-hero p{font-size:17px;line-height:1.9;color:#f3eee4}
.aj-eyebrow{display:inline-block;background:rgba(255,255,255,.13);padding:7px 11px;border-radius:999px}.aj-public-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.aj-data-btn{display:inline-block;background:#b78c3b;color:#fff!important;text-decoration:none!important;padding:13px 22px;border-radius:12px;font-weight:800;font-size:17px}.aj-data-btn:hover{filter:brightness(.95)}
.aj-secondary-btn{display:inline-block;background:#fff;color:#173b32!important;text-decoration:none!important;padding:13px 20px;border-radius:12px;font-weight:700}
.aj-public-section{background:#fff;border:1px solid #e5dbc6;border-radius:20px;padding:24px;margin:16px 0}.aj-public-section h2,.aj-public-cta h2{color:#173b32;margin-top:0}.aj-public-section p{line-height:1.9}
.aj-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.aj-public-grid article{background:#fbf8f1;border:1px solid #eee3cf;border-radius:15px;padding:17px}.aj-public-grid h3{color:#173b32;margin-top:0}
.aj-public-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#f8f2e6;border:1px solid #e5dbc6;border-radius:20px;padding:22px;margin:16px 0}
@media(max-width:760px){.aj-public-hero{grid-template-columns:1fr;padding:28px 20px}.aj-public-hero h1{font-size:31px}.aj-data-btn,.aj-secondary-btn{width:100%;text-align:center}}

/* V0.7: front page, person navigator, full interactive tree */
.aj-public-service{display:block;text-decoration:none;color:inherit;background:#fbf8f1;border:1px solid #eee3cf;border-radius:15px;padding:16px;transition:.15s ease}
.aj-public-service:hover{transform:translateY(-1px);border-color:#b78c3b}
.aj-home-person{margin-top:16px}
.aj-home-person-title{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.aj-home-person-title h2{margin:4px 0;color:#173b32}
.aj-tree-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.aj-full-tree-wrap{border:1px solid #eadfc9;border-radius:16px;background:#fffdf8;padding:14px}
.aj-tree-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f7f2e8;border-radius:12px;padding:10px 12px;margin-bottom:14px;color:#5d584f}
.aj-full-tree-scroll{overflow-x:auto;padding:10px 4px 18px;direction:rtl}
.aj-family-tree,.aj-family-tree ul{display:flex;justify-content:center;gap:18px;list-style:none;margin:0;padding:0;position:relative;min-width:max-content}
.aj-family-tree{align-items:flex-start}
.aj-family-tree ul{padding-top:34px}
.aj-family-tree li{position:relative;text-align:center;padding:0 8px;min-width:150px}
.aj-family-tree li>ul:before{content:"";position:absolute;top:16px;right:8%;left:8%;height:2px;background:#d8c7a3}
.aj-family-tree li>ul>li:before{content:"";position:absolute;top:-18px;right:50%;width:2px;height:18px;background:#d8c7a3}
.aj-family-tree li>ul:after{content:"";position:absolute;top:0;right:50%;width:2px;height:16px;background:#d8c7a3}
.aj-tree-person{display:inline-flex;flex-direction:column;gap:7px;align-items:stretch;background:#fff;border:1px solid #dbcba9;border-radius:14px;padding:9px;min-width:145px;position:relative;z-index:2}
.aj-tree-person.aj-node-active{border:2px solid #b78c3b;background:#fff8e9}
.aj-tree-name{text-decoration:none;color:#173b32;font-weight:700;line-height:1.4}
.aj-tree-name small{display:block;color:#847c70;font-size:11px;font-weight:400;margin-top:3px}
.aj-tree-open{display:block;text-decoration:none;background:#173b32;color:#fff;border-radius:9px;padding:6px 8px;font-size:12px}
@media(max-width:720px){.aj-home-person-title{align-items:flex-start}.aj-tree-toolbar{font-size:13px}.aj-family-tree li{min-width:130px}}

/* V0.8: family directory + editor navigation */
.aj-editor-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}
.aj-editor-nav .aj-editor-active{border-color:#173b32;color:#173b32;font-weight:700}
.aj-form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid #e8ddc8}
.aj-directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}
.aj-family-list{display:flex;flex-direction:column;border:1px solid #e5dbc6;border-radius:16px;overflow:hidden;background:#fff}
.aj-family-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #eee4d2}
.aj-family-row:last-child{border-bottom:0}
.aj-family-code{font-size:13px;color:#7a6d58;direction:ltr;text-align:right}
.aj-family-name{min-width:0}
.aj-family-name strong{display:block;color:#173b32;font-size:17px;line-height:1.6}
.aj-family-name small{display:block;color:#777;margin-top:3px}
.aj-family-actions{display:flex;gap:7px;flex-wrap:wrap}
.aj-empty-result{background:#fff4d8;border-right:4px solid #b78c3b;padding:14px;border-radius:10px;margin-top:16px}
@media(max-width:720px){
  .aj-family-row{grid-template-columns:1fr}
  .aj-family-code{text-align:right}
  .aj-family-actions .aj-btn{flex:1;text-align:center}
  .aj-editor-nav .button,.aj-form-actions .button{flex:1 1 auto;text-align:center}
}

/* V0.9: quick add son */
.aj-add-child{background:#173b32!important;border-color:#173b32!important;color:#fff!important}
.aj-child-note{background:#eaf5ef;border-right:4px solid #2f7c59;border-radius:12px;padding:13px 15px;margin:14px 0;line-height:1.8;color:#244f3e}
.aj-child-note small{color:#587267}

/* V1.0: inline add-son button beside father field */
.aj-parent-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:end
}
.aj-parent-field label{margin:0}
.aj-add-child-inline{
  min-height:40px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  white-space:nowrap
}
.aj-inline-help{
  grid-column:1 / -1;
  display:block;
  color:#6c756e;
  font-size:12px;
  margin-top:1px
}
.aj-inline-help-active{
  color:#2f7c59;
  font-weight:700
}
@media(max-width:720px){
  .aj-parent-field{grid-template-columns:1fr}
  .aj-add-child-inline{width:100%}
}

/* V1.1: gender colors in interactive tree + optional age */
.aj-tree-person.aj-tree-female{
  background:#f9e4ec!important;
  border-color:#d8a0b5!important;
}
.aj-tree-person.aj-tree-female .aj-tree-name{
  color:#6a3348!important;
}
.aj-tree-person.aj-tree-male{
  background:#f5faf7;
}
.aj-tree-age{
  display:block!important;
  font-size:11px!important;
  font-weight:400!important;
  opacity:.78;
  margin-top:2px;
}

/* V1.2 */
.aj-form-section label small.aj-field-help{display:block;color:#777;margin-top:4px;font-size:12px}

/* V1.3: mobile OTP member access */
.aj-login-card{max-width:560px;margin:24px auto}
.aj-login-card label{display:block;margin:12px 0}
.aj-login-card input{width:100%;min-height:46px;font-size:16px}
.aj-login-msg{background:#fff4d8;border-right:4px solid #b78c3b;border-radius:10px;padding:12px;margin:12px 0}
.aj-demo-code{background:#eaf5ef;border:1px solid #b9dac8;border-radius:10px;padding:12px;margin:12px 0;color:#23503b}
.aj-inline-logout{display:inline-flex;margin:0}
.aj-inline-logout button{border:1px solid #e5dbc6;background:#fff;color:#173b32;border-radius:999px;padding:8px 12px;cursor:pointer;font-family:inherit}

.aj-danger-zone{margin-top:18px;padding:16px;border:1px solid #d8a2a2;background:#fff7f7;border-radius:12px}.aj-danger-zone h3{margin-top:0;color:#8f1d1d}.aj-delete-permanent{background:#b42318!important;border-color:#8f1d1d!important;color:#fff!important}

/* V1.6: highlight searched/focused person in tree */
.aj-tree-person.aj-node-active{
    border:5px solid #b42318 !important;
    box-shadow:0 0 0 4px rgba(180,35,24,.18),0 8px 20px rgba(0,0,0,.10) !important;
    position:relative;
    z-index:5;
}
.aj-tree-person.aj-node-active .aj-tree-name{
    font-weight:900 !important;
}
.aj-tree-person.aj-node-active::after{
    content:"المحدد";
    position:absolute;
    top:-15px;
    right:12px;
    background:#b42318;
    color:#fff;
    border-radius:999px;
    padding:2px 9px;
    font-size:11px;
    font-weight:800;
    line-height:1.6;
}

/* V1.7 */
.aj-delete-inline{display:inline-flex;margin:0;vertical-align:middle}
.aj-delete-top{background:#b42318!important;border-color:#8f1d1d!important;color:#fff!important;font-weight:700!important}
.aj-delete-top:hover{background:#8f1d1d!important;border-color:#751515!important;color:#fff!important}
.aj-avatar-default{object-fit:contain!important;padding:10px;background:#f7f1e5}

/* V1.8 */
.aj-export-btn{font-weight:700}
.aj-people-export-actions{margin:10px 0 16px}


/* V1.9 — precise interactive-tree connectors */
.aj-full-tree-scroll{
  position:relative;
  overflow:auto;
  padding:18px 10px 28px;
  scroll-behavior:smooth;
}

.aj-family-tree,
.aj-family-tree ul{
  gap:10px;
  align-items:flex-start;
}

/* Old connector lines are disabled. JS draws exact lines between actual cards. */
.aj-family-tree li>ul:before,
.aj-family-tree li>ul:after,
.aj-family-tree li>ul>li:before,
.aj-family-tree li>ul>li:after{
  content:none !important;
  display:none !important;
  background:none !important;
  border:0 !important;
}

.aj-family-tree ul{
  padding-top:32px;
}

.aj-family-tree li{
  padding-left:4px;
  padding-right:4px;
  min-width:138px;
}

.aj-tree-person{
  z-index:3;
}

/* SVG connector layer behind the cards. */
.aj-tree-connectors{
  position:absolute;
  top:0;
  left:0;
  pointer-events:none;
  z-index:1;
  overflow:visible;
}

.aj-tree-connectors path{
  fill:none;
  stroke:#cdb889;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

@media(max-width:720px){
  .aj-family-tree,
  .aj-family-tree ul{gap:6px}
  .aj-family-tree li{min-width:124px;padding-left:2px;padding-right:2px}
  .aj-family-tree ul{padding-top:26px}
}

/* V2.0 */
.aj-ancestry-name{
  background:#f8f4ea;
  border-right:4px solid #b78c3b;
  border-radius:10px;
  padding:10px 12px;
  line-height:1.9;
}
.aj-request-person{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0 18px;
}
.aj-request-person>div{
  background:#f8f4ea;
  border:1px solid #eadfc9;
  border-radius:12px;
  padding:12px;
}
.aj-request-person small{
  display:block;
  color:#777;
  margin-bottom:4px;
}
.aj-request-person strong{
  display:block;
  color:#173b32;
  line-height:1.6;
}
.aj-btn-request{
  background:#b78c3b!important;
  color:#fff!important;
}
.aj-tree-person{
  padding-bottom:9px;
}
@media(max-width:720px){
  .aj-request-person{grid-template-columns:1fr}
}

.aj-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.aj-stat-card{background:#fbf8f1;border:1px solid #eadfc9;border-radius:14px;padding:16px}
.aj-stat-card span{display:block;color:#5f665f;font-size:13px;margin-bottom:8px}
.aj-stat-card strong{display:block;color:#173b32;font-size:30px}
.aj-city-table{border:1px solid #e7dcc7;border-radius:14px;overflow:hidden;background:#fff}
.aj-city-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;padding:12px 14px;border-bottom:1px solid #eee5d4}
.aj-city-row:last-child{border-bottom:0}.aj-city-row-head{background:#173b32;color:#fff;font-weight:700}
@media(max-width:900px){.aj-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.aj-stats-grid{grid-template-columns:1fr}.aj-city-row{grid-template-columns:minmax(0,1fr) 90px}}

/* V2.3 — focused tree card centering confirmation */
@keyframes aj-focus-pulse-kf{
  0%{box-shadow:0 0 0 0 rgba(180,35,24,.35)}
  50%{box-shadow:0 0 0 10px rgba(180,35,24,.12)}
  100%{box-shadow:0 0 0 4px rgba(180,35,24,.18)}
}
.aj-tree-person.aj-focus-pulse{
  animation:aj-focus-pulse-kf .9s ease-out 1;
}

/* V2.4 */
.aj-deceased-badge{
  display:inline-block;
  align-self:center;
  margin-top:4px;
  padding:2px 7px;
  border-radius:999px;
  background:#e7dfcf;
  color:#6f6250;
  border:1px solid #cdbd9f;
  font-size:10px;
  font-weight:700;
  line-height:1.5;
}
.aj-name-frequency{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.aj-name-frequency-col{
  background:#fbf8f1;
  border:1px solid #eadfc9;
  border-radius:14px;
  padding:16px;
}
.aj-name-list{display:flex;flex-direction:column}
.aj-name-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #eee5d4;
}
.aj-name-row:last-child{border-bottom:0}
.aj-name-row span{font-weight:700;color:#173b32}
.aj-name-row strong{
  min-width:36px;
  text-align:center;
  background:#173b32;
  color:#fff;
  border-radius:999px;
  padding:4px 8px;
}
.aj-requests-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.aj-request-card{
  background:#fff;
  border:1px solid #e3d7c2;
  border-radius:16px;
  padding:18px;
}
.aj-request-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.aj-request-card-head h2{margin:3px 0;color:#173b32}
.aj-request-code{font-size:13px;color:#7a6d58;direction:ltr;text-align:right}
.aj-request-status{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.aj-request-status-pending{background:#fff3cd;color:#7a5b00}
.aj-request-status-approved{background:#e7f5ec;color:#23663f}
.aj-request-status-rejected{background:#fde9e7;color:#8b2d25}
.aj-request-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}
.aj-request-meta>div{
  background:#f8f5ee;
  border-radius:10px;
  padding:10px 12px;
}
.aj-request-meta small,
.aj-request-details small{
  display:block;
  color:#777;
  margin-bottom:5px;
}
.aj-request-details{
  border-right:4px solid #b78c3b;
  background:#fcfaf5;
  border-radius:10px;
  padding:12px 14px;
  margin:12px 0;
}
.aj-request-details p{
  margin:0;
  white-space:normal;
  line-height:1.9;
  font-size:15px;
}
.aj-request-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.aj-reject-btn{
  background:#fff!important;
  color:#a12a21!important;
  border-color:#c97770!important;
}
@media(max-width:700px){
  .aj-name-frequency{grid-template-columns:1fr}
  .aj-request-meta{grid-template-columns:1fr}
  .aj-request-actions .button{flex:1 1 auto;text-align:center}
}

/* V2.5 - repeated names statistics */
.aj-name-frequency-section{
  margin-top:26px;
  padding-top:18px;
  border-top:2px solid #eadfc9;
}
.aj-name-frequency-section h3{
  margin-bottom:4px;
  color:#173b32;
}
.aj-name-frequency-section h4{
  margin:0 0 10px;
  color:#173b32;
}
.aj-stats-note{
  margin-top:0;
  color:#756b5d;
  font-size:13px;
}

/* V2.6 - ديارهم */
.aj-diyar-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.aj-diyar-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);
  gap:18px;
  align-items:start;
}
.aj-diyar-map-card,
.aj-diyar-list-card{
  background:#fbf8f1;
  border:1px solid #eadfc9;
  border-radius:18px;
  padding:18px;
}
.aj-diyar-map-card h3,
.aj-diyar-list-card h3{
  margin:0 0 6px;
  color:#173b32;
}
.aj-diyar-map-card p{
  margin:0 0 14px;
  color:#756b5d;
}
.aj-saudi-map-box{
  position:relative;
  min-height:640px;
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(190,160,90,.08), transparent 25%),
    linear-gradient(180deg, #fffefb 0%, #f7f1e2 100%);
  border:1px dashed #ddcfb1;
}
.aj-saudi-map-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.aj-saudi-map-svg path{
  fill:#efe5ce;
  stroke:#b99858;
  stroke-width:8;
  stroke-linejoin:round;
}
.aj-saudi-map-svg .aj-saudi-map-inner{
  fill:#f8f2e5;
  stroke:#d7c29a;
  stroke-width:3;
}
.aj-city-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  text-align:center;
  min-width:56px;
  z-index:2;
}
.aj-city-badge{
  display:inline-block;
  margin-bottom:5px;
  background:#173b32;
  color:#fff;
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:700;
  box-shadow:0 6px 12px rgba(0,0,0,.08);
}
.aj-city-dot{
  display:block;
  width:10px;
  height:10px;
  margin:0 auto 6px;
  border-radius:50%;
  background:#c39a42;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #c39a42;
}
.aj-city-label{
  display:inline-block;
  background:rgba(255,255,255,.88);
  color:#173b32;
  border:1px solid #e7d8b8;
  border-radius:999px;
  padding:3px 8px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.aj-diyar-other{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #eadfc9;
}
.aj-diyar-other h4{
  margin:0 0 10px;
  color:#173b32;
  font-size:15px;
}
.aj-other-city-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.aj-other-city-list span{
  background:#fff;
  border:1px solid #eadfc9;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
}
.aj-other-city-list strong{
  color:#173b32;
  margin-inline-start:6px;
}
@media(max-width:900px){
  .aj-diyar-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .aj-diyar-summary{grid-template-columns:1fr}
  .aj-saudi-map-box{min-height:520px}
  .aj-city-badge{font-size:11px;padding:3px 8px}
  .aj-city-label{font-size:11px;padding:2px 7px}
}

/* V2.7 - ديارهم: خريطة كاملة فقط */
.aj-diyar-page{
  overflow:visible;
}
.aj-diyar-map-full{
  width:100%;
}
.aj-diyar-map-title{
  margin-bottom:14px;
}
.aj-diyar-map-title h3{
  margin:0 0 4px;
  color:#173b32;
  font-size:22px;
}
.aj-diyar-map-title p{
  margin:0;
  color:#756b5d;
}
.aj-saudi-map-box-full{
  min-height:760px;
  width:100%;
  background:
    radial-gradient(circle at 30% 20%, rgba(183,140,59,.08), transparent 28%),
    linear-gradient(180deg,#fffefb 0%,#f8f2e5 100%);
}
.aj-saudi-map-svg .aj-saudi-outline{
  fill:url(#ajSaudiFill);
  stroke:#b78c3b;
  stroke-width:8;
  stroke-linejoin:round;
}
.aj-saudi-map-svg .aj-saudi-coast,
.aj-saudi-map-svg .aj-saudi-east{
  fill:none;
  stroke:#d2bc8d;
  stroke-width:3;
  stroke-linecap:round;
}
.aj-unmapped-note{
  margin-top:12px;
  background:#fbf8f1;
  border:1px solid #eadfc9;
  border-radius:12px;
  padding:10px 12px;
  color:#6f6250;
  line-height:1.8;
}
@media(max-width:700px){
  .aj-saudi-map-box-full{min-height:610px}
}

/* V2.8 - full Saudi map image */
.aj-saudi-photo-map{
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:197 / 148;
  background:#f5f3ee;
  overflow:hidden;
  border-radius:18px;
}
.aj-saudi-photo-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.aj-saudi-photo-map .aj-city-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  z-index:5;
}
.aj-saudi-photo-map .aj-city-badge{
  background:#173b32;
  color:#fff;
  border:2px solid #fff;
  padding:4px 9px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.aj-saudi-photo-map .aj-city-label{
  background:rgba(255,255,255,.94);
  color:#173b32;
  border:1px solid #d7c49a;
  font-weight:800;
}
@media(max-width:700px){
  .aj-saudi-photo-map .aj-city-badge{font-size:10px;padding:2px 6px}
  .aj-saudi-photo-map .aj-city-label{font-size:10px;padding:2px 5px}
}


/* V2.9 - ديارهم: خريطة كاملة بلون الهوية */
.aj-saudi-brand-map{
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:14 / 10;
  background:linear-gradient(180deg,#fbf7ef 0%,#f3ead7 100%);
  border:1px solid #eadfc9;
  border-radius:24px;
  overflow:hidden;
  padding:12px;
}
.aj-saudi-brand-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.aj-saudi-brand-map .aj-city-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  z-index:5;
  text-align:center;
}
.aj-saudi-brand-map .aj-city-badge{
  display:inline-block;
  margin-bottom:6px;
  background:#173b32;
  color:#fff;
  border:2px solid #fff;
  border-radius:999px;
  padding:4px 10px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 6px 14px rgba(0,0,0,.14);
}
.aj-saudi-brand-map .aj-city-dot{
  display:block;
  width:10px;
  height:10px;
  margin:0 auto 6px;
  border-radius:50%;
  background:#c39a42;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #c39a42;
}
.aj-saudi-brand-map .aj-city-label{
  display:inline-block;
  background:rgba(255,255,255,.96);
  color:#173b32;
  border:1px solid #dcc79d;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.aj-diyar-map-title h3{
  margin:0 0 6px;
  color:#173b32;
  font-size:22px;
}
.aj-diyar-map-title p{
  margin:0 0 14px;
  color:#6f6456;
}
.aj-unmapped-note{display:none!important;}
@media(max-width: 800px){
  .aj-saudi-brand-map .aj-city-badge{
    font-size:11px;
    padding:3px 8px;
  }
  .aj-saudi-brand-map .aj-city-label{
    font-size:10px;
    padding:3px 6px;
  }
}

/* V3.2 - اعتماد خريطة السعودية الكاملة داخل منصة الجماز */
.aj-saudi-brand-map{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  min-height:0;
  overflow:hidden;
  border-radius:22px;
  background:#f7f1e5;
  border:1px solid #e5d7bb;
}
.aj-saudi-brand-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.aj-saudi-brand-map .aj-city-marker{
  position:absolute;
  z-index:10;
}

/* V3.5 - clickable city markers and residents modal */
.aj-city-open{
  font-family:inherit;
  cursor:pointer;
}
button.aj-city-badge,
button.aj-city-label{
  appearance:none;
  -webkit-appearance:none;
}
button.aj-city-badge{
  border:2px solid #fff;
}
button.aj-city-label{
  border:1px solid #dcc79d;
}
.aj-city-open:focus-visible{
  outline:3px solid rgba(183,140,59,.45);
  outline-offset:3px;
}
.aj-city-open:hover{
  transform:translateY(-1px);
}
body.aj-city-modal-open{
  overflow:hidden;
}
.aj-city-modal[hidden]{
  display:none!important;
}
.aj-city-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.aj-city-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,39,33,.55);
  backdrop-filter:blur(2px);
}
.aj-city-modal-card{
  position:relative;
  z-index:2;
  width:min(560px,100%);
  max-height:min(72vh,680px);
  overflow:auto;
  background:#fffdf8;
  border:1px solid #dfcfad;
  border-radius:20px;
  padding:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.aj-city-modal-close{
  position:absolute;
  top:12px;
  left:12px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #dfcfad;
  background:#fff;
  color:#173b32;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.aj-city-modal-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding-inline-end:44px;
  margin-bottom:14px;
}
.aj-city-modal-head small{
  color:#7b6f5d;
}
.aj-city-modal-head h3{
  margin:2px 0 0;
  color:#173b32;
  font-size:22px;
}
.aj-city-modal-count{
  min-width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#173b32;
  color:#fff;
  font-weight:800;
  font-size:17px;
}
.aj-city-residents-list{
  display:flex;
  flex-direction:column;
  border-top:1px solid #eadfc9;
}
.aj-city-resident-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 4px;
  border-bottom:1px solid #eee5d5;
}
.aj-city-resident-row span{
  color:#173b32;
  font-weight:700;
}
.aj-city-resident-row small{
  direction:ltr;
  color:#8b7c67;
  white-space:nowrap;
}
@media(max-width:700px){
  .aj-city-modal{
    padding:12px;
  }
  .aj-city-modal-card{
    max-height:78vh;
    border-radius:16px;
    padding:16px;
  }
  .aj-city-resident-row{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* V3.8 - تحسين خريطة ديارهم على الجوال */
.aj-saudi-map-scroll{
  width:100%;
  overflow:visible;
}
.aj-mobile-map-hint{
  display:none;
}

@media(max-width:600px){
  .aj-mobile-map-hint{
    display:block;
    margin:0 0 8px;
    padding:7px 10px;
    border-radius:10px;
    background:#f8f2e7;
    color:#756955;
    border:1px solid #eadfc9;
    font-size:12px;
    line-height:1.7;
    text-align:center;
  }

  .aj-saudi-map-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    padding-bottom:8px;
    direction:ltr;
  }

  .aj-saudi-map-scroll .aj-saudi-brand-map{
    width:700px;
    min-width:700px;
    max-width:none;
    aspect-ratio:4 / 3;
    margin:0;
    direction:rtl;
  }

  .aj-saudi-brand-map .aj-city-marker{
    min-width:50px;
  }

  .aj-saudi-brand-map .aj-city-badge{
    font-size:11px;
    padding:3px 7px;
    margin-bottom:4px;
  }

  .aj-saudi-brand-map .aj-city-label{
    font-size:10px;
    padding:3px 6px;
  }

  .aj-saudi-brand-map .aj-city-dot{
    width:8px;
    height:8px;
    margin-bottom:5px;
  }
}


/* V3.9 - معالجة نهائية لتداخل خريطة ديارهم على الجوال */
.aj-mobile-city-list{
  display:none;
}

@media(max-width:600px){
  /* اجعل الخريطة نفسها مضغوطة بشكل طبيعي داخل الشاشة */
  .aj-mobile-map-hint{
    display:none !important;
  }

  .aj-saudi-map-scroll{
    overflow:visible !important;
    padding-bottom:0 !important;
    direction:rtl !important;
  }

  .aj-saudi-map-scroll .aj-saudi-brand-map{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    aspect-ratio:4 / 3;
    margin:0 !important;
  }

  /* على الجوال نعرض الرقم فقط فوق الخريطة لمنع التزاحم */
  .aj-saudi-brand-map .aj-city-label{
    display:none !important;
  }

  .aj-saudi-brand-map .aj-city-marker{
    min-width:0 !important;
    transform:translate(-50%,-50%);
  }

  .aj-saudi-brand-map .aj-city-badge{
    display:flex !important;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:30px;
    padding:0 7px !important;
    border-radius:999px;
    font-size:11px !important;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 2px 7px rgba(0,0,0,.16);
    margin:0 !important;
  }

  .aj-saudi-brand-map .aj-city-dot{
    width:7px !important;
    height:7px !important;
    margin:4px auto 0 !important;
  }

  /* أسماء المدن تظهر مرتبة أسفل الخريطة */
  .aj-mobile-city-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
  }

  .aj-mobile-city-item{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #e2d3b5;
    background:#fffdf8;
    color:#173b32;
    font-family:inherit;
    cursor:pointer;
    text-align:right;
  }

  .aj-mobile-city-name{
    font-weight:700;
    font-size:12px;
    line-height:1.5;
  }

  .aj-mobile-city-count{
    flex:0 0 auto;
    min-width:30px;
    height:30px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#173b32;
    color:#fff;
    font-size:11px;
    font-weight:800;
  }
}

@media(max-width:380px){
  .aj-mobile-city-list{
    grid-template-columns:1fr;
  }
}

/* V4.0 */
.aj-children-block{margin-top:10px}
.aj-children-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.aj-child-line{display:block;padding:7px 10px;border-radius:9px;background:#fbf7ee;border:1px solid #eadfc9;color:#173b32}
.aj-child-empty{color:#8c806d}
.aj-profile-sections section h3{margin-bottom:14px}
.aj-duplicate-warning{margin:14px 0;padding:14px 16px;border-radius:12px;border:1px solid #c79634;background:#fff8e8;color:#5f4a1f}
.aj-duplicate-warning ul{margin:8px 20px 8px 0}
.aj-duplicate-warning[hidden]{display:none!important}

/* V4.1 */
@media(max-width:600px){.aj-saudi-brand-map .aj-city-marker{display:none!important}.aj-mobile-city-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}.aj-mobile-city-item{min-height:46px;font-size:13px}.aj-diyar-map-title p::after{content:" على الجوال اختر المدينة من القائمة أسفل الخريطة."}}
.aj-admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:16px 0}.aj-admin-kpi-card,.aj-quality-item{text-decoration:none;background:#fffdf8;border:1px solid #e5d7bb;border-radius:16px;padding:16px;color:#173b32;box-shadow:0 2px 8px rgba(0,0,0,.03)}.aj-admin-kpi-card span,.aj-quality-item span{display:block;font-weight:700}.aj-admin-kpi-card strong,.aj-quality-item strong{display:block;margin-top:8px;color:#b78c3b;font-size:30px}.aj-admin-kpi-card:hover,.aj-quality-item:hover{border-color:#b78c3b}.aj-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.aj-filter-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.aj-filter-toolbar input,.aj-filter-toolbar select{min-width:150px}.aj-duplicate-group{border:1px solid #e5d7bb;border-radius:14px;margin:16px 0;overflow:hidden}.aj-duplicate-group-head{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#f8f2e7}.aj-duplicate-group-head small{display:block;color:#756955;margin-top:4px}.aj-duplicate-table{overflow:auto}.aj-duplicate-row{display:grid;grid-template-columns:120px minmax(240px,1.4fr) minmax(220px,1fr) 140px 110px;gap:10px;padding:10px 12px;border-top:1px solid #eee5d5;align-items:center}.aj-duplicate-row-head{font-weight:700;background:#fff}.aj-audit-details{min-width:360px;white-space:normal}@media(max-width:900px){.aj-admin-kpi-grid,.aj-quality-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}


/* V4.2 - حل جذري لخريطة ديارهم على الجوال */
.aj-mobile-map-title{
  display:none;
}

@media(max-width:600px){
  .aj-diyar-map-full .aj-saudi-map-scroll,
  .aj-diyar-map-full .aj-saudi-brand-map,
  .aj-diyar-map-full .aj-mobile-map-hint{
    display:none !important;
  }

  .aj-diyar-map-title{
    margin-bottom:10px;
  }

  .aj-diyar-map-title h3{
    font-size:20px;
    margin-bottom:4px;
  }

  .aj-diyar-map-title p{
    font-size:13px;
    line-height:1.7;
    margin:0;
  }

  .aj-mobile-map-title{
    display:block;
    margin:10px 0 6px;
    font-weight:700;
    color:#173b32;
  }

  .aj-mobile-city-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-top:12px !important;
  }

  .aj-mobile-city-item{
    min-height:50px;
    padding:11px 13px !important;
    border-radius:13px !important;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
  }

  .aj-mobile-city-name{
    font-size:14px !important;
  }

  .aj-mobile-city-count{
    min-width:34px !important;
    height:34px !important;
    font-size:12px !important;
  }
}

/* V4.2 - وضوح أدوات الإدارة */
.aj-admin-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.aj-version-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  background:#173b32;
  color:#fff;
  font-weight:700;
  font-size:12px;
}
.aj-tree-export-btn{
  border-color:#b78c3b !important;
  color:#173b32 !important;
  font-weight:700 !important;
}
.aj-duplicates-main-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:16px 0;
  text-decoration:none;
  color:#173b32;
  border:1px solid #d7c08e;
  background:#fffaf0;
}
.aj-duplicates-main-card h2{
  margin:0 0 4px;
}
.aj-duplicates-main-card p{
  margin:0;
  color:#746852;
}
.aj-duplicates-main-card strong{
  min-width:64px;
  height:64px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#173b32;
  color:#fff;
  font-size:24px;
}

/* V4.3 - نموذج طلب التعديل والرأس المبسط */
.aj-brand-clean{justify-content:center;text-align:center;flex-direction:column;gap:6px;margin-bottom:14px}
.aj-brand-clean img{height:78px;max-width:220px}
.aj-brand-clean p{margin:0;color:#746852;font-size:14px;line-height:1.8}
.aj-request-edit-card{max-width:980px;margin-inline:auto}
.aj-request-edit-form .aj-form-section{background:#fffdf8;border:1px solid #eadfc9;border-radius:14px;padding:16px;margin:14px 0}
.aj-request-edit-form .aj-form-section h4{margin:0 0 10px;color:#173b32;font-size:17px}
.aj-request-edit-form label{display:block;color:#173b32;font-weight:700}
.aj-request-edit-form label small{display:block;color:#827666;font-size:12px;font-weight:400;margin-top:3px}
.aj-readonly-request-field{background:#f8f2e7;border:1px solid #eadfc9;border-radius:12px;padding:12px}
.aj-readonly-request-field small{display:block;color:#827666;margin-bottom:4px}
.aj-readonly-request-field strong{display:block;color:#173b32;margin-bottom:8px;line-height:1.7}
.aj-request-notes{display:block;margin:14px 0;color:#173b32;font-weight:700}
.aj-request-change-list{display:grid;gap:8px;margin-top:10px}
.aj-request-change{display:grid;grid-template-columns:170px 1fr 1fr;gap:10px;align-items:center;background:#fff;border:1px solid #eadfc9;border-radius:10px;padding:10px}
.aj-request-change strong{color:#173b32}
.aj-branch-review-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:700px){
  .aj-request-change{grid-template-columns:1fr}
  .aj-brand-clean img{height:66px}
  .aj-brand-clean p{font-size:13px}
}
.aj-request-status-review{background:#e8eef8;color:#274b78}
.aj-branch-pdf-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}

/* V4.7 - أدوات الشجرة والطباعة والتدقيق */
.aj-tree-focus-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aj-descendant-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.aj-descendant-kpis>div,.aj-audit-summary>div{background:#fffaf0;border:1px solid #e4d2aa;border-radius:12px;padding:12px;text-align:center}
.aj-descendant-kpis span,.aj-audit-summary span{display:block;color:#786c59;font-size:12px;margin-bottom:3px}
.aj-descendant-kpis strong,.aj-audit-summary strong{display:block;color:#173b32;font-size:22px}
.aj-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.aj-backup-status{margin:16px 0}.aj-backup-status h2{margin-top:0}

/* V4.7.1: make the approved three-generation print action unmistakably visible */



/* V4.9 - mobile polish, backups, and cleaner family cards */
.aj-backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.aj-backup-grid>div{background:#fffaf0;border:1px solid #e4d2aa;border-radius:12px;padding:14px}
.aj-backup-grid strong,.aj-backup-grid span,.aj-backup-grid small{display:block}
.aj-backup-grid span{margin-top:7px;color:#173b32}.aj-backup-grid small{margin-top:5px;color:#786c59}
.aj-migration-readiness{border-right:4px solid #b78c3b}
.aj-family-name small{line-height:1.7}
@media(max-width:800px){
  .aj-portal{padding-inline:8px}
  .aj-card{padding:13px}
  .aj-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .aj-tabs a{text-align:center;padding:9px 5px;font-size:13px}
  .aj-profile-card{padding:14px}
  .aj-profile-head{gap:12px}
  .aj-descendant-kpis{gap:7px}
  .aj-descendant-kpis>div{padding:10px 6px}
  .aj-descendant-kpis strong{font-size:19px}
  .aj-person-nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .aj-person-nav-group .aj-btn{width:auto!important;min-width:0;text-align:center}
  .aj-family-row{padding:12px}
  .aj-family-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .aj-family-actions .aj-btn{width:auto!important;text-align:center}
  .aj-backup-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .aj-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aj-brand-clean img{height:58px}
  .aj-person-nav-group{grid-template-columns:1fr}
  .aj-family-actions{grid-template-columns:1fr 1fr}
  .aj-profile-head .aj-avatar,.aj-profile-head .aj-avatar-img{width:92px;height:92px}
}


/* V4.9.2 — wider tablet/mobile layout and descendant-tree viewport */
.aj-portal{
  box-sizing:border-box;
  width:min(1180px,calc(100vw - 32px));
  max-width:none;
  margin-inline:auto;
}
.aj-portal.aj-tab-tree,
.aj-portal.aj-tab-descendants{
  width:min(1320px,calc(100vw - 24px));
}
.aj-descendants-page .aj-full-tree-wrap,
.aj-tab-tree .aj-full-tree-wrap{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.aj-descendants-page .aj-full-tree-scroll,
.aj-tab-tree .aj-full-tree-scroll{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  touch-action:pan-x pan-y;
}

/* Break out of narrow WordPress theme content columns on tablets/desktop. */
@media (min-width:721px){
  .aj-portal{
    position:relative;
    left:50%;
    transform:translateX(-50%);
  }
  [dir="rtl"] .aj-portal{
    left:auto;
    right:50%;
    transform:translateX(50%);
  }
  .aj-tab-tree .aj-card,
  .aj-tab-descendants .aj-card{
    padding:18px;
  }
  .aj-tab-tree .aj-full-tree-scroll,
  .aj-tab-descendants .aj-full-tree-scroll{
    min-height:320px;
    padding:18px 14px 30px;
  }
}

@media (max-width:900px){
  .aj-portal,
  .aj-portal.aj-tab-tree,
  .aj-portal.aj-tab-descendants{
    width:calc(100vw - 16px);
    margin-inline:auto;
    padding-inline:0;
  }
  .aj-tab-tree .aj-card,
  .aj-tab-descendants .aj-card{
    padding:12px;
  }
  .aj-tab-tree .aj-full-tree-wrap,
  .aj-tab-descendants .aj-full-tree-wrap{
    padding:10px;
  }
  .aj-tab-tree .aj-full-tree-scroll,
  .aj-tab-descendants .aj-full-tree-scroll{
    padding:14px 6px 24px;
  }
  .aj-tree-head{
    align-items:flex-start;
  }
}

@media (max-width:600px){
  .aj-portal,
  .aj-portal.aj-tab-tree,
  .aj-portal.aj-tab-descendants{
    width:calc(100vw - 10px);
  }
  .aj-card{
    border-radius:13px;
    padding:10px;
  }
  .aj-tab-tree .aj-full-tree-wrap,
  .aj-tab-descendants .aj-full-tree-wrap{
    border-radius:12px;
    padding:7px;
  }
  .aj-tree-toolbar{
    padding:9px;
    gap:6px;
  }
  .aj-tree-toolbar span{
    width:100%;
    line-height:1.7;
  }
  .aj-tab-tree .aj-full-tree-scroll,
  .aj-tab-descendants .aj-full-tree-scroll{
    padding:12px 2px 20px;
  }
}

/* V4.10 — OTP readiness and privacy preparation */
.aj-readiness-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin:16px 0}
.aj-readiness-grid .aj-card{margin:0;text-align:center;padding:18px 12px}
.aj-readiness-grid span{display:block;color:#746a5c;font-size:13px;margin-bottom:8px}
.aj-readiness-grid strong{display:block;color:#173b32;font-size:28px}
.aj-mobile-duplicate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eadfc9}
.aj-mobile-duplicate:last-child{border-bottom:0}
.aj-mobile-duplicate>a{background:#f8f3e9;border:1px solid #e6d7b7;border-radius:10px;padding:7px 10px;text-decoration:none}
.aj-family-row .aj-family-name{align-self:center}
.aj-family-row .aj-family-name strong{display:block;line-height:1.8}
@media(max-width:900px){.aj-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.aj-readiness-grid{grid-template-columns:1fr}.aj-mobile-duplicate{align-items:stretch;flex-direction:column}}
