
:root{
  --navy-950:#07172f;
  --navy-900:#0a2143;
  --navy-800:#0d3267;
  --navy-700:#124a8b;
  --blue-600:#1d67ae;
  --blue-500:#2e7bc2;
  --blue-100:#eaf3fb;
  --bg:#f2f5f8;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#0e1c31;
  --muted:#6d7d92;
  --muted-2:#97a4b4;
  --line:#e0e7ef;
  --line-strong:#cfdae6;
  --green:#168260;
  --green-soft:#e9f7f1;
  --red:#bd4250;
  --red-soft:#fff0f2;
  --amber:#a66a12;
  --amber-soft:#fff6e6;
  --shadow-sm:0 8px 24px rgba(14,39,70,.055);
  --shadow:0 18px 50px rgba(14,39,70,.10);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--text);background:
  radial-gradient(circle at 13% 0%,rgba(56,126,190,.09),transparent 26%),
  linear-gradient(180deg,#f7f9fb 0,#f1f5f8 100%);
  font-family:"Segoe UI","Noto Sans Arabic","Noto Kufi Arabic",Tahoma,Arial,sans-serif;
  font-size:14px;overflow-x:hidden
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{width:18px;height:18px;display:block;flex:0 0 auto;stroke-width:1.8}
.ambient{display:none}

/* shell */
.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;z-index:60;
  display:flex;flex-direction:column;padding:18px 14px;
  color:#fff;background:linear-gradient(180deg,var(--navy-950),#092651 68%,#0b2d5e);
  box-shadow:16px 0 45px rgba(4,22,49,.09);overflow:auto
}
.brand{display:flex;align-items:center;gap:11px;padding:3px 5px 20px}
.brand-mark{
  position:relative;width:45px;height:45px;border-radius:14px;display:grid;place-items:center;
  font:800 12px/1 Arial;color:#fff;background:linear-gradient(145deg,#2c74b9,#7fb8e0);
  box-shadow:0 12px 30px rgba(31,108,177,.28)
}
.brand-mark span{position:absolute;inset:-4px;border:1px solid rgba(131,194,235,.20);border-radius:18px}
.brand-copy{min-width:0}.brand-copy strong{display:block;font:800 12px Arial;letter-spacing:.09em}.brand-copy small{display:block;color:#8ea9c7;font-size:10px;margin-top:3px}
.nav-caption{padding:10px 11px 6px;color:#6385ab;font:700 9px Arial;letter-spacing:.16em}.nav-caption.management{margin-top:11px}
.sidebar nav{display:flex;flex-direction:column;gap:3px}
.sidebar nav a{
  position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;
  min-height:43px;padding:9px 11px;border-radius:11px;color:#bdcee0;font-size:12px;font-weight:600;transition:.18s
}
.sidebar nav a svg{color:#83a4c7}.sidebar nav a:hover{background:rgba(255,255,255,.055);color:#fff}
.sidebar nav a.active{background:rgba(71,137,201,.15);color:#fff;box-shadow:inset 0 0 0 1px rgba(146,193,232,.09)}
.sidebar nav a.active:after{content:"";position:absolute;right:-14px;width:3px;height:22px;border-radius:5px;background:#6cb4e5}
.sidebar nav em{font:700 8px Arial;font-style:normal;padding:3px 6px;border-radius:99px;background:#255d99;color:#d5ecff}
.side-sec{margin-top:auto;display:grid;grid-template-columns:28px minmax(0,1fr) 8px;gap:8px;align-items:center;padding:10px;border:1px solid rgba(156,193,228,.1);border-radius:12px;background:rgba(255,255,255,.03)}
.side-sec>svg{color:#73bce3}.side-sec b{display:block;font-size:9px}.side-sec small{display:block;color:#7998b8;font-size:8px}.side-sec>span{width:7px;height:7px;border-radius:50%;background:#40d3a3;box-shadow:0 0 0 4px rgba(64,211,163,.08)}
.sidebar-user{display:grid;grid-template-columns:36px minmax(0,1fr) 32px;gap:9px;align-items:center;padding:13px 2px 0;margin-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.avatar,.top-avatar{display:grid;place-items:center;background:linear-gradient(145deg,#173c6d,#2e72b4);color:#fff;font-weight:800}
.avatar{width:36px;height:36px;border-radius:11px}.sidebar-user b{display:block;font-size:10px}.sidebar-user small{display:block;color:#829dbb;font-size:8px;margin-top:2px}
.sidebar-close{display:none;margin-right:auto}.sidebar-overlay{display:none}

/* main/header */
.main{min-width:0;padding:24px 28px 56px}
.topbar{
  position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;
  margin:-24px -28px 24px;padding:15px 28px;
  background:rgba(247,249,251,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(215,225,235,.78)
}
.top-title{display:flex;align-items:center;gap:10px}.eyebrow{display:block;color:#7b8ca2;font-size:9px;font-weight:800;letter-spacing:.12em}
.topbar h1{margin:3px 0 0;font-size:23px;line-height:1.25;letter-spacing:-.02em}
.top-actions{display:flex;align-items:center;gap:7px}
.top-chip{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#5c7087}
.top-chip svg{width:14px}.top-chip.secure{color:var(--green)}.top-avatar{width:36px;height:36px;border-radius:11px;border:0}
.menu-btn{display:none;border:1px solid var(--line)!important;background:#fff!important}
.icon-btn{width:32px;height:32px;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;color:inherit}
.icon-btn:hover{background:rgba(255,255,255,.06)}
.page-enter{animation:pageEnter .28s ease-out}@keyframes pageEnter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* common surfaces */
.panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow-sm)
}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.panel-head h3{margin:2px 0 0;font-size:15px;line-height:1.3}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;
  padding:8px 13px;border:1px solid transparent;border-radius:11px;font-size:11px;font-weight:700;transition:.16s
}
.btn svg{width:15px;height:15px}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--navy-800),var(--navy-700));box-shadow:0 8px 22px rgba(18,74,139,.17)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 11px 27px rgba(18,74,139,.20)}
.btn.ghost{background:#fff;border-color:var(--line);color:#334b65}.btn.ghost:hover{border-color:#bfd0df;background:#fafcfd}
.btn.soft{background:#edf5fb;color:#15598f;border-color:#dbeaf5}.btn.big{min-height:44px;padding-inline:17px}.btn.full{width:100%}
.alert{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:11px;margin-bottom:14px;font-size:11px}
.alert.success{background:var(--green-soft);border:1px solid #cbe9dc;color:#14684f}.alert.error{background:var(--red-soft);border:1px solid #f1d3d7;color:#9d3441}

/* dashboard */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stat-card{position:relative;overflow:hidden;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.stat-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;left:-35px;top:-38px;background:rgba(29,103,174,.045)}
.stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf5fb;color:#1b609c;margin-bottom:11px}
.stat-card>span{font-size:10px;color:var(--muted)}.stat-card strong{display:block;margin:3px 0;font-size:27px;line-height:1.1}.stat-card small{font-size:9px;color:var(--muted-2)}
.stat-card.accent{background:linear-gradient(145deg,#0b2a55,#124981);border-color:#174d87;color:#fff}.stat-card.accent>span,.stat-card.accent small{color:#c2d4e5}.stat-card.accent .stat-icon{background:rgba(255,255,255,.1);color:#d8ecfb}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:14px}
.quick-stack{display:flex;flex-direction:column;gap:8px}.quick-stack a{display:grid;grid-template-columns:42px 1fr 18px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:.16s}
.quick-stack a:hover{border-color:#c3d3e2;background:#fbfdfe}.quick-icon{width:42px;height:42px;border-radius:12px;background:#edf5fb;color:#1b609c;display:grid;place-items:center}
.quick-stack b{display:block;font-size:10px}.quick-stack small{display:block;color:var(--muted);font-size:8px;margin-top:1px}.chev{color:#9dacba}

/* tables/list */
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.searchbox{display:flex;align-items:center;gap:7px;min-width:230px;flex:1;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:11px}
.searchbox svg{width:15px;color:#7e90a4}.searchbox input{width:100%;border:0;outline:0;background:transparent;padding:9px 0;font-size:11px}
.filterbar select{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:11px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;text-align:right;border-bottom:1px solid #edf1f5;white-space:nowrap}
th{background:#f8fafc;color:#8290a1;font-size:9px;font-weight:800}td{font-size:10.5px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfe}
.mono{font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.table-link{display:inline-flex;align-items:center;gap:5px;color:#155a94;font-weight:700}
.person-cell{display:flex;align-items:center;gap:9px}.avatar.small{width:34px;height:34px;border-radius:10px;background:#edf4fa;color:#15568f;font-size:11px}.person-cell b{display:block}.person-cell small{display:block;color:var(--muted);font-size:8px}.empty{text-align:center!important;padding:28px!important;color:var(--muted)}

/* forms */
.profile-hero{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:15px;align-items:center;margin-bottom:14px}
.profile-photo-placeholder{width:70px;height:70px;border-radius:18px;display:grid;place-items:center;background:#eef5fb;color:#1a629f;border:1px solid #d8e7f3}
.profile-photo-placeholder small{display:block;font-size:8px;color:#688099}.profile-hero h2{margin:3px 0 2px;font-size:20px}.profile-hero p{margin:0;color:var(--muted);font-size:9px}
.form-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-title>span{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#edf5fb;color:#195e99}
.section-title h3{margin:0;font-size:14px}.section-title small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1/-1}
.form-grid label,.stack-form label,.block,.account-form label,.bio-search-card label{display:flex;flex-direction:column;gap:5px;color:#607389;font-size:9.5px;font-weight:700}
.form-grid input,.form-grid select,.form-grid textarea,.stack-form input,.stack-form select,.account-form input,.bio-search-card select,.input-control,.upload-row select,.upload-row input{
  width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:0;font-size:11px;transition:.15s
}
.form-grid textarea,.block textarea{min-height:95px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.account-form input:focus,.input-control:focus{border-color:#8db7d8;box-shadow:0 0 0 3px rgba(29,103,174,.07)}
.input-wrap{position:relative}.input-wrap>svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;color:#8495a6}.input-wrap input{padding-right:32px!important}
.form-grid label>small,.form-hint{font-size:8px;font-weight:400;color:#909dad;line-height:1.5}
.sticky-save{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding:9px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}

/* modern person photo */
.person-photo-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}
.person-photo-preview{
  position:relative;aspect-ratio:4/5;width:180px;border-radius:20px;overflow:hidden;
  background:linear-gradient(160deg,#f7fbfe,#e7f0f7);border:1px solid #d7e4ef;box-shadow:0 14px 35px rgba(18,55,91,.08)
}
.person-photo-preview:before,.person-photo-preview:after{content:"";position:absolute;z-index:2;width:35px;height:35px;border-color:#5b9dcc;pointer-events:none}
.person-photo-preview:before{right:14px;top:14px;border-right:2px solid;border-top:2px solid;border-radius:0 8px 0 0}
.person-photo-preview:after{left:14px;bottom:14px;border-left:2px solid;border-bottom:2px solid;border-radius:0 0 0 8px}
.person-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.person-photo-preview .placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#66839f}
.person-photo-preview .placeholder svg{width:38px;height:38px}.person-photo-controls{display:flex;flex-direction:column;gap:10px}
.person-photo-controls p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}
.person-photo-drop{position:relative;min-height:118px;display:grid!important;place-items:center!important;text-align:center;border:1px dashed #9fbbd2!important;border-radius:15px;background:#f6fafe;cursor:pointer;transition:.15s}
.person-photo-drop:hover{border-color:#659ecc!important;background:#f1f8fd}.person-photo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.person-photo-drop div{display:flex;flex-direction:column;align-items:center;gap:5px;color:#2b6699}.person-photo-drop svg{width:24px}.person-photo-drop b{font-size:10px}.person-photo-drop small{font-size:8px;color:#8094a8}

/* children */
.child-list{display:flex;flex-direction:column;gap:7px}.child-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;align-items:center}.child-row input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px}
.child-remove{width:38px;height:38px;border:1px solid #efd8db;border-radius:10px;background:#fff7f8;color:#b84451;display:grid;place-items:center}.child-remove:hover{background:#ffedef}.child-remove svg{width:15px}.add-child-btn{margin-top:8px}

/* uploads */
.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upload-tile{position:relative;min-height:105px;display:grid!important;place-items:center!important;text-align:center;padding:12px;border:1px dashed #b4c8da!important;border-radius:14px;background:#f8fbfd;overflow:hidden;cursor:pointer}
.upload-tile input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-tile div{display:flex;flex-direction:column;align-items:center;gap:4px}.upload-tile svg{width:22px;color:#2d72aa}.upload-tile b{font-size:9px;color:#365872}.upload-tile small{font-size:7px;color:#8c9fb2}.upload-tile.has-file{border-style:solid!important;border-color:#7cafd3!important;background:#f0f8fd}
.file-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#165991;color:#fff;font:700 8px Arial}

/* address */
.address-wrap{position:relative}.addr-provider{display:flex;align-items:center;gap:5px;margin-top:4px;color:#8c99a8;font-size:8px;font-weight:400}.addr-provider svg{width:12px}
.suggestions{display:none;position:absolute;right:0;left:0;top:calc(100% + 5px);z-index:100;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);max-height:300px;overflow:auto;padding:5px}
.suggestions.open{display:block}.suggestion-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:9px;cursor:pointer}.suggestion-item:hover{background:#f0f6fb}
.suggestion-icon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#edf5fb;color:#1a5f98}.suggestion-icon svg{width:14px}.suggestion-item b{display:block;font-size:9px}.suggestion-item small{display:block;color:var(--muted);font-size:7px;margin-top:1px}.source{padding:2px 5px;border-radius:99px;background:#f1f4f7;color:#72849a;font:700 7px Arial}

/* dossier */
.person-header{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:15px;align-items:center;margin-bottom:14px}.person-avatar{width:82px;height:82px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#123762,#2e72b1);color:#fff;font-size:26px;font-weight:800}
.person-avatar img{width:100%;height:100%;object-fit:cover}.person-main h2{margin:3px 0;font-size:21px}.meta-row{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:8.5px}.person-actions{display:flex;gap:7px;flex-wrap:wrap}
.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-grid .span2{grid-column:1/-1}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.info-grid>div{padding:10px;border:1px solid #e9eef3;border-radius:11px;background:#fafcfd}.info-grid .wide{grid-column:1/-1}.info-grid span{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}.info-grid b{font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chips span{padding:4px 7px;border-radius:999px;background:#ebf4fb;color:#195a91;font-size:8px}
.upload-row{display:grid;grid-template-columns:155px minmax(0,1fr) auto;gap:7px}.document-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.doc-card{display:grid;grid-template-columns:35px minmax(0,1fr) 17px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff}
.doc-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#edf5fb;color:#1a609b}.doc-card b{display:block;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-card small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.note-box{min-height:75px;padding:12px;border:1px solid #e8edf3;border-radius:11px;background:#fafcfd;font-size:10px;line-height:1.75}
.bio-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bio-card{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fafcfd}.bio-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf3fb;color:#185b96}.bio-card b{font-size:9px}.bio-card small{font-size:7px;color:var(--muted)}
.profile-photo-card{max-width:520px}.profile-photo-card .preview-box{aspect-ratio:1/1;max-height:400px;display:grid;place-items:center;overflow:hidden;border-radius:15px;background:#eef4f8}.profile-photo-card .preview-box img{width:100%;height:100%;object-fit:cover}

/* biometric pages */
.bio-search-layout{display:grid;grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr);gap:14px}.bio-search-card h2{margin:5px 0;font-size:20px}.bio-search-card>p{margin:0 0 12px;color:var(--muted);font-size:9px;line-height:1.65}.bio-search-card form{display:flex;flex-direction:column;gap:10px}
.dropzone{position:relative;overflow:hidden;min-height:245px;display:grid!important;place-items:center!important;text-align:center;border:1px dashed #a8bfd3!important;border-radius:15px;background:#f8fbfd;cursor:pointer}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px}.scan-icon,.finger-symbol{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;background:#eaf3fb;color:#1c6099}.scan-icon svg,.finger-symbol svg{width:28px}.dropzone img{width:100%;height:245px;object-fit:cover}.scan-line{position:absolute;left:9%;right:9%;top:10%;height:2px;background:#2c81d9;box-shadow:0 0 14px #2c81d9;animation:scan 2.5s linear infinite}@keyframes scan{0%{top:10%}50%{top:88%}100%{top:10%}}
.results-panel{min-height:500px}.result-placeholder{min-height:390px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.radar{width:125px;height:125px;border-radius:50%;border:1px solid #c9d9e7;box-shadow:inset 0 0 0 26px #f7fafc,inset 0 0 0 27px #dce8f1;margin-bottom:16px}
.engine-warning{padding:17px;border:1px solid #ecd8af;border-radius:13px;background:var(--amber-soft);color:#6d501d}.engine-warning b{display:block;margin-bottom:5px}.engine-warning p{font-size:9px;line-height:1.6}.match-list{display:flex;flex-direction:column;gap:8px}.match-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.match-avatar{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#173c68,#3177b5);color:#fff;font-weight:800}.match-main b{display:block;font-size:10px}.match-main small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.match-score{text-align:left}.match-score strong{display:block;color:#155a94;font:800 14px Arial}.match-score span{font-size:7px;color:var(--muted)}
.json{direction:ltr;text-align:left;padding:12px;border-radius:11px;background:#081b33;color:#d2e7f7;font:9px ui-monospace,monospace;overflow:auto}

/* country/user/account */
.country-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.country-card{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.country-code{display:inline-block;padding:3px 6px;border-radius:6px;background:#eef4f9;color:#5e758b;font:700 8px Arial}.country-card h4{margin:7px 0 0;font-size:11px}.country-card small{font-size:8px;color:var(--muted)}.country-stats{display:grid;grid-template-columns:auto auto;gap:2px 6px;align-content:center}.country-stats b{font-size:11px}.country-stats span{font-size:7px;color:var(--muted)}
.stack-form{display:flex;flex-direction:column;gap:9px}
.account-menu-wrap{position:relative}.account-trigger{cursor:pointer}.account-menu{display:none;position:absolute;top:44px;left:0;width:260px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:120}
.account-menu.open{display:block}.account-menu-head{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center;padding:7px 8px 10px;border-bottom:1px solid #edf1f5;margin-bottom:4px}.account-menu-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#153a69,#2e72b2);color:#fff;font-weight:800}.account-menu-head b{display:block;font-size:10px}.account-menu-head small{display:block;font-size:8px;color:var(--muted);margin-top:2px}
.account-menu>a{display:grid;grid-template-columns:17px 1fr;gap:8px;align-items:center;padding:9px;border-radius:9px;font-size:9px;font-weight:600;color:#465d74}.account-menu>a:hover{background:#f0f6fb;color:#165890}.account-menu>a.danger{color:#b13d49}.account-menu>a.danger:hover{background:#fff2f3}.account-menu-sep{height:1px;background:#edf1f5;margin:4px 0}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-hero{grid-column:1/-1;display:flex;align-items:center;gap:14px}.account-avatar{width:76px;height:76px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#123762,#2e72b1);color:#fff;font-size:24px;font-weight:800}.account-hero h2{margin:3px 0;font-size:19px}.account-hero p{margin:0;color:var(--muted);font-size:8px}.account-form{display:flex;flex-direction:column;gap:9px}.account-form input:disabled{background:#f5f7f9;color:#8795a5}

/* login */
.login-screen{min-height:100vh;background:#eef3f7;padding:22px}.login-grid{max-width:1120px;min-height:calc(100vh - 44px);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;border:1px solid #dbe4ed;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(9,33,63,.12)}
.login-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:54px;color:#fff;background:linear-gradient(145deg,#071a35,#0a3266 70%,#15518d)}
.login-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px}.orb{position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(123,184,229,.22);top:60px;right:90px;box-shadow:0 0 0 50px rgba(82,148,207,.04),0 0 0 100px rgba(82,148,207,.02)}
.login-copy{position:relative;z-index:1;max-width:580px}.login-copy>span{font-size:9px;font-weight:700;letter-spacing:.14em;color:#9dc1df}.login-copy h1{margin:12px 0 14px;font-size:44px;line-height:1.2}.login-copy p{margin:0;max-width:500px;color:#b9cee1;font-size:11px;line-height:1.8}.login-features{display:flex;gap:16px;margin-top:28px}.login-features div{min-width:120px;padding-top:9px;border-top:1px solid rgba(255,255,255,.13)}.login-features b{font:700 8px Arial;color:#6fb0e3}.login-features span{display:block;font-size:9px;margin-top:3px}
.login-panel{display:grid;place-items:center;padding:35px;background:#fff}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:12px}.mini-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1d5c9b,#75afe0);color:#fff;font:800 12px Arial;box-shadow:0 10px 25px rgba(31,103,169,.2)}.login-card h2{margin:3px 0 0;font-size:24px}.login-card p{margin:0 0 4px;color:var(--muted);font-size:10px}.login-card label{display:flex;flex-direction:column;gap:5px;color:#61758a;font-size:9px;font-weight:700}.login-card input{min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;outline:0}.login-card input:focus{border-color:#8bb4d5;box-shadow:0 0 0 3px rgba(29,103,174,.07)}.login-card small{text-align:center;color:#98a4b0;font-size:8px}

/* responsive */
@media(max-width:1100px){
  .app-shell{grid-template-columns:232px minmax(0,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .form-sections{grid-template-columns:1fr}
  .main{padding-inline:20px}.topbar{margin-inline:-20px;padding-inline:20px}
}
@media(max-width:820px){
  .app-shell{display:block}.sidebar{position:fixed;right:0;top:0;width:min(300px,86vw);transform:translateX(105%);transition:.24s;z-index:90}.sidebar.open{transform:none}
  .sidebar-close,.menu-btn{display:grid}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:80;background:rgba(4,18,38,.42);opacity:0;pointer-events:none;transition:.2s}.sidebar.open~.sidebar-overlay{opacity:1;pointer-events:auto}
  .main{padding:18px 14px 48px}.topbar{margin:-18px -14px 18px;padding:13px 14px}.top-actions .top-chip:first-child{display:none}
  .dashboard-grid,.record-grid,.bio-search-layout{grid-template-columns:1fr}.record-grid .span2{grid-column:auto}.person-header{grid-template-columns:72px minmax(0,1fr)}.person-avatar{width:72px;height:72px}.person-actions{grid-column:1/-1}
  .document-gallery{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.account-hero{grid-column:auto}.account-menu{position:fixed;top:64px;left:12px;right:12px;width:auto}
  .login-grid{grid-template-columns:1fr}.login-visual{display:none}.login-screen{padding:14px}.login-grid{min-height:calc(100vh - 28px)}
}
@media(max-width:580px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:13px}.stat-card strong{font-size:23px}.topbar h1{font-size:19px}.top-actions .top-chip{display:none}
  .form-grid,.upload-grid,.info-grid,.bio-cards,.country-cards{grid-template-columns:1fr}.form-grid .wide,.info-grid .wide{grid-column:auto}
  .person-photo-section{grid-template-columns:1fr}.person-photo-preview{width:100%;max-width:240px;margin:auto}.filterbar{display:grid;grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}.upload-row{grid-template-columns:1fr}
  .profile-hero{grid-template-columns:58px minmax(0,1fr)}.profile-photo-placeholder{width:58px;height:58px;border-radius:15px}.profile-hero>div:last-child{display:none}
}
@media(max-width:390px){.stats-grid{grid-template-columns:1fr}.panel{padding:14px}.main{padding-inline:10px}.topbar{margin-inline:-10px;padding-inline:10px}}

.photo-panel-wide{grid-column:1/-1}

.face-engine-strip{display:flex;align-items:center;gap:9px;margin-bottom:15px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}
.engine-dot{width:8px;height:8px;border-radius:50%;background:#a7b2bf}.engine-dot.ok{background:#29b77d;box-shadow:0 0 0 5px rgba(41,183,125,.1)}
.face-engine-strip b{display:block;font-size:9px}.face-engine-strip small{display:block;font-size:7px;color:var(--muted);margin-top:2px}
.result-time{font:700 8px ui-monospace,monospace;color:#698096;background:#f3f6f9;border-radius:999px;padding:5px 8px}
.scan-error,.scan-warning{display:grid;grid-template-columns:45px 1fr;gap:12px;align-items:start;padding:15px;border-radius:13px}
.scan-error{background:#fff1f2;border:1px solid #f0d1d6;color:#8e3440}.scan-warning{background:#fff7e8;border:1px solid #eddab4;color:#76571e}
.scan-error-icon,.scan-warning>span{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.72)}
.scan-error b,.scan-warning b{display:block;font-size:10px}.scan-error p,.scan-warning p{margin:4px 0;font-size:9px;line-height:1.7}.scan-error small{font-size:7px}
.result-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.result-summary span{padding:5px 8px;border-radius:999px;background:#eef5fb;color:#476b8d;font-size:7px;font-weight:700}
.match-avatar{overflow:hidden}.match-avatar img{width:100%;height:100%;object-fit:cover}.match-card.orphan{opacity:.72;border-style:dashed}
.scan-overlay{position:fixed;inset:0;z-index:300;background:rgba(6,22,45,.48);backdrop-filter:blur(5px);display:none;place-items:center;padding:20px}
.scan-overlay.open{display:grid}.scan-modal{width:min(330px,92vw);padding:26px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 30px 90px rgba(6,22,45,.24)}
.scan-loader{position:relative;width:80px;height:80px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#edf5fb;color:#1a609a}
.scan-loader svg{width:34px;height:34px}.scan-loader span{position:absolute;inset:-5px;border:2px solid transparent;border-top-color:#2c79b9;border-right-color:#2c79b9;border-radius:50%;animation:spinScan .9s linear infinite}
@keyframes spinScan{to{transform:rotate(360deg)}}.scan-modal b{display:block;font-size:11px}.scan-modal small{display:block;margin-top:4px;color:#7d8d9f;font-size:8px}

.face-result-actions{display:flex;gap:7px;align-items:center}
.warning-mark{font:800 16px Arial!important}
.index-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.index-stat{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}
.index-stat span{display:block;color:var(--muted);font-size:9px}.index-stat strong{display:block;font-size:25px;margin:3px 0}.index-stat small{font-size:8px;color:var(--muted-2)}
.index-stat.good{border-color:#cbe6da;background:#f7fcfa}.index-stat.bad{border-color:#efd6d9;background:#fffafb}
.index-help{margin:0 0 14px;color:var(--muted);font-size:9px;line-height:1.8}
.engine-info-list{display:flex;flex-direction:column;gap:7px}.engine-info-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #e8edf2;border-radius:10px;background:#fafcfd}.engine-info-list span{font-size:8px;color:var(--muted)}.engine-info-list b{font-size:9px}
.sync-report{margin-bottom:14px}.sync-summary{display:flex;flex-wrap:wrap;gap:7px}.sync-summary span{padding:6px 9px;border-radius:999px;font-size:8px;font-weight:700}.sync-summary .success{background:#e9f7f1;color:#15694f}.sync-summary .failed{background:#fff0f2;color:#a03946}.sync-summary .skipped{background:#f1f4f7;color:#6d7d90}
.sync-details{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:390px;overflow:auto}.sync-row{display:flex;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid #e6ecf2;border-radius:10px;background:#fff}.sync-row b{display:block;font-size:9px}.sync-row small{display:block;font-size:7px;color:var(--muted)}.sync-row>span{font-size:8px;text-align:left}.sync-row.failed{border-color:#efd3d7;background:#fffafb}.sync-row.success{border-color:#d2e8de;background:#fbfefc}
@media(max-width:800px){.index-stats{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.index-stats{grid-template-columns:1fr}}

.face-quality-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.face-quality-bar span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#f7fafc;color:#5d7389;font:700 7px Arial}
.no-match-layout{display:grid;grid-template-columns:135px 1fr;gap:18px;align-items:center;padding:18px;border:1px solid #e0e7ee;border-radius:16px;background:#fbfcfd}.query-face-box{display:flex;flex-direction:column;gap:6px;text-align:center}.query-face-box img{width:135px;height:135px;object-fit:cover;border-radius:16px;border:1px solid #dbe5ee}.query-face-box small{font-size:7px;color:var(--muted)}.no-match-layout b{font-size:13px}.no-match-layout p{margin:7px 0 4px;font-size:10px;color:#526b82}.no-match-layout small{font-size:8px;color:var(--muted);line-height:1.6}
.candidate-stack{display:flex;flex-direction:column;gap:12px}.candidate-card{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.candidate-card.primary-candidate{border-color:#9fc1dd;box-shadow:0 15px 40px rgba(27,92,148,.10)}.candidate-head{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:14px 15px;border-bottom:1px solid #edf1f5;background:#fbfcfd}.candidate-label{display:inline-block;margin-bottom:4px;color:#1d6098;font-size:7px;font-weight:800;letter-spacing:.06em}.candidate-head h4{margin:0;font-size:14px}.candidate-head p{margin:3px 0 0;color:var(--muted);font-size:8px}.raw-score{text-align:left}.raw-score strong{display:block;color:#154f84;font:800 20px Arial;letter-spacing:-.02em}.raw-score span{font-size:6px;color:#8493a3}
.face-compare-grid{display:grid;grid-template-columns:1fr 52px 1fr;gap:10px;align-items:center;padding:16px}.compare-face{display:flex;flex-direction:column;align-items:center;gap:7px}.compare-face img,.face-fallback{width:min(190px,100%);aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid #dbe5ed;background:#eff4f8}.compare-face span{font-size:8px;color:#5f7489;font-weight:700}.face-fallback{display:grid;place-items:center;font-size:32px;color:#fff;background:linear-gradient(145deg,#173d69,#367ab7)}.compare-divider{display:grid;place-items:center}.compare-divider span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0e3767;color:#fff;font:800 8px Arial;box-shadow:0 7px 20px rgba(14,55,103,.15)}
.candidate-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid #edf1f5;background:#fbfcfd}.possible-match{font-size:7px;color:#7d8b99}
@media(max-width:650px){.no-match-layout{grid-template-columns:1fr}.query-face-box img{margin:auto}.face-compare-grid{grid-template-columns:1fr}.compare-divider{height:28px}.compare-divider span{width:32px;height:32px}.candidate-foot{align-items:flex-start;flex-direction:column}.candidate-foot .btn{width:100%}}
