/* إدارة العهد والأصول + عهدتي (scripts/frontend/asset-custody-hub.jsx) */
.ach-root{--ach-ink:#0f172a;--ach-muted:#64748b;--ach-line:#e2e8f0;--ach-soft:#f8fafc;--ach-brand:#b45309;--ach-brand-soft:#fef3c7;--ach-ok:#047857;--ach-ok-soft:#d1fae5;--ach-warn:#b45309;--ach-warn-soft:#fef3c7;--ach-bad:#b91c1c;--ach-bad-soft:#fee2e2;--ach-info:#1d4ed8;--ach-info-soft:#dbeafe;color:var(--ach-ink);max-width:1400px;margin:0 auto;padding:4px 4px 40px;font-size:14px}
.ach-root *{box-sizing:border-box}
.ach-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}
.ach-head h1{font-size:22px;font-weight:800;margin:0 0 4px}
.ach-head p{margin:0;color:var(--ach-muted)}
.ach-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.ach-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--ach-line);background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;text-align:right;font:inherit;color:inherit}
.ach-stat span{font-size:12px;color:var(--ach-muted)}
.ach-stat strong{font-size:22px;font-weight:800}
.ach-stat-ok strong{color:var(--ach-ok)}.ach-stat-warn strong{color:var(--ach-warn)}.ach-stat-bad strong{color:var(--ach-bad)}.ach-stat-info strong{color:var(--ach-info)}
.ach-stat.is-active{border-color:var(--ach-brand);box-shadow:0 0 0 2px var(--ach-brand-soft)}
.ach-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ach-line);margin-bottom:16px;overflow-x:auto;scrollbar-width:thin}
.ach-tabs button{border:0;background:none;padding:10px 16px;font:inherit;font-weight:700;color:var(--ach-muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
.ach-tabs button.is-active{color:var(--ach-brand);border-bottom-color:var(--ach-brand)}
.ach-tab-badge{background:var(--ach-brand);color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}
.ach-intro{background:var(--ach-brand-soft);border:1px solid #fde68a;border-radius:12px;padding:10px 14px;margin-bottom:12px;color:#78350f;line-height:1.7}
.ach-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.ach-grow{flex:1}
.ach-input{border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;font:inherit;background:#fff;color:inherit;min-width:0;width:100%}
.ach-toolbar .ach-input{width:auto}
.ach-input:focus{outline:2px solid #fcd34d;border-color:var(--ach-brand)}
.ach-search{flex:1 1 260px}
.ach-sm{padding:5px 8px;font-size:12.5px}
.ach-btn{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;color:var(--ach-ink);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;list-style:none}
.ach-btn:hover{background:var(--ach-soft)}
.ach-btn:disabled{opacity:.5;cursor:not-allowed}
.ach-btn.ach-sm{padding:5px 10px;font-size:12.5px}
.ach-btn.ach-lg{padding:12px 28px;font-size:16px}
.ach-primary{background:var(--ach-brand);border-color:var(--ach-brand);color:#fff}
.ach-primary:hover{background:#92400e}
.ach-danger{background:var(--ach-bad);border-color:var(--ach-bad);color:#fff}
.ach-ghost{background:transparent;border-color:transparent;color:var(--ach-muted)}
.ach-block{width:100%;justify-content:center}
.ach-link,.ach-linkbtn{color:var(--ach-info);text-decoration:none;font-weight:600;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:right}
.ach-linkbtn{font-weight:700;color:var(--ach-ink)}.ach-linkbtn:hover{color:var(--ach-info);text-decoration:underline}
.ach-muted{color:var(--ach-muted)}.ach-small{font-size:12px}
.ach-mono{font-family:ui-monospace,Menlo,Consolas,monospace;direction:ltr;unicode-bidi:embed;font-size:12.5px}
.ach-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;white-space:nowrap}
.ach-ok{background:var(--ach-ok-soft);color:var(--ach-ok)}.ach-warn{background:var(--ach-warn-soft);color:var(--ach-warn)}.ach-bad{background:var(--ach-bad-soft);color:var(--ach-bad)}.ach-info{background:var(--ach-info-soft);color:var(--ach-info)}.ach-muted.ach-badge{background:#f1f5f9}
.ach-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:28px;text-align:center;color:var(--ach-muted);background:#fff}
.ach-empty strong{display:block;color:var(--ach-ink);margin-bottom:4px}
.ach-empty p{margin:0}
.ach-loading{padding:40px;text-align:center;color:var(--ach-muted)}
.ach-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.ach-card{background:#fff;border:1px solid var(--ach-line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ach-card-new{border-inline-start:4px solid var(--ach-brand)}
.ach-card h4{margin:0;font-size:15px;font-weight:800}
.ach-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ach-amount{font-weight:800;color:var(--ach-brand)}
.ach-dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}
.ach-dl-wide{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.ach-dl div{min-width:0}
.ach-dl dt{font-size:11.5px;color:var(--ach-muted)}
.ach-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.ach-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ach-table-wrap{overflow-x:auto;border:1px solid var(--ach-line);border-radius:12px;background:#fff}
.ach-table{width:100%;border-collapse:collapse;background:#fff}
.ach-table th{background:var(--ach-soft);color:var(--ach-muted);font-weight:700;font-size:12.5px;text-align:right;padding:9px 10px;border-bottom:1px solid var(--ach-line);white-space:nowrap}
.ach-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.ach-table tr.is-selected td{background:#fffbeb}
.ach-table-sm td,.ach-table-sm th{padding:6px 8px;font-size:13px}
.ach-src{display:block;font-size:10.5px;color:var(--ach-brand);font-family:inherit}
.ach-row-actions{white-space:nowrap}
.ach-row-actions button{border:0;background:none;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;color:var(--ach-muted)}
.ach-row-actions button:hover{background:var(--ach-soft);color:var(--ach-ink)}
.ach-more{position:relative}
.ach-more>summary::-webkit-details-marker{display:none}
.ach-more>div{position:absolute;inset-inline-end:0;top:100%;z-index:20;background:#fff;border:1px solid var(--ach-line);border-radius:10px;box-shadow:0 8px 24px #0f172a22;padding:4px;min-width:150px;display:flex;flex-direction:column}
.ach-more>div button{border:0;background:none;text-align:right;padding:8px 10px;font:inherit;cursor:pointer;border-radius:6px}
.ach-more>div button:hover{background:var(--ach-soft)}
.ach-modal-back{position:fixed;inset:0;background:#0f172a66;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.ach-modal{background:#fff;border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0f172a44}
.ach-modal-wide{width:min(860px,100%)}
.ach-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--ach-line)}
.ach-modal-head h3{margin:0;font-size:16px;font-weight:800}
.ach-modal-body{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.ach-modal-foot{padding:12px 18px;border-top:1px solid var(--ach-line);display:flex;gap:8px;flex-wrap:wrap}
.ach-x{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--ach-muted);padding:2px 6px}
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ach-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.ach-field>span{font-size:12.5px;font-weight:700;color:#334155}
.ach-field small{color:var(--ach-muted);font-size:11.5px}
.ach-inline{display:flex;gap:6px;align-items:center}
.ach-check{display:flex;gap:8px;align-items:flex-start;background:var(--ach-soft);border-radius:10px;padding:8px 10px;line-height:1.6}
.ach-source-box{background:var(--ach-soft);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.ach-source-box span{color:var(--ach-muted);font-size:12.5px}
.ach-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ach-size{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--ach-line);border-radius:12px;padding:10px;cursor:pointer;font-size:12.5px;text-align:center}
.ach-size input{position:absolute;opacity:0;pointer-events:none}
.ach-size.is-active{border-color:var(--ach-brand);background:var(--ach-brand-soft);font-weight:700}
.ach-size-box{border:2px solid currentColor;border-radius:3px;opacity:.55;margin-block:auto}
.ach-preview{display:flex;flex-direction:column;align-items:center;gap:6px;background:#f1f5f9;border-radius:12px;padding:12px;overflow:auto}
.ach-preview-label .lbl{background:#fff;box-shadow:0 1px 4px #0003;overflow:hidden;padding:1.2mm 2mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.4mm;color:#000;font-family:Tahoma,Arial,sans-serif}
.ach-preview-label .org{font-size:7pt;font-weight:bold}.ach-preview-label .nm{font-size:8pt;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ach-preview-label .bc{width:100%}.ach-preview-label .bc svg{width:100%;height:100%;display:block}
.ach-preview-label .no{font-family:monospace;font-size:8pt;direction:ltr}.ach-preview-label .meta{font-size:6.5pt;white-space:nowrap;overflow:hidden;max-width:100%}
.ach-barcode{display:inline-block;width:240px;height:56px}
.ach-barcode svg{width:100%;height:100%}
.ach-detail-head{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--ach-soft);padding:10px;border-radius:12px}
.ach-h4{font-size:14px;font-weight:800;margin:10px 0 6px}
.ach-assign{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;margin-bottom:16px}
.ach-panel{background:#fff;border:1px solid var(--ach-line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.ach-panel h3{margin:0;font-size:14.5px;font-weight:800}
.ach-panel-summary{background:#fffdf7;border-color:#fde68a}
.ach-pick-list{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto}
.ach-pick-tall{max-height:46vh}
.ach-pick{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid var(--ach-line);border-radius:10px;padding:7px 10px;background:#fff;cursor:pointer;text-align:right;font:inherit;color:inherit}
.ach-pick>span{display:flex;flex-direction:column;flex:1;min-width:0}
.ach-pick small{color:var(--ach-muted);font-size:11.5px}
.ach-pick.is-active{border-color:var(--ach-brand);background:var(--ach-brand-soft)}
.ach-picked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.ach-picked li{border:1px solid var(--ach-line);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;gap:4px;background:#fff}
.ach-picked li>div:first-child{display:flex;align-items:center;gap:6px}
.ach-picked .ach-x{margin-inline-start:auto;font-size:16px}
.ach-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.ach-subtabs .ach-stat{flex:1 1 150px}
.ach-group{background:#fff;border:1px solid var(--ach-line);border-radius:14px;padding:10px 12px;margin-bottom:10px}
.ach-group header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.ach-group header .ach-btn{margin-inline-start:auto}
.ach-note{background:var(--ach-info-soft);color:#1e3a8a;border-radius:10px;padding:8px 10px;margin:0 0 6px}
.ach-seg{display:inline-flex;border:1px solid var(--ach-line);border-radius:10px;overflow:hidden;background:#fff}
.ach-seg button{border:0;background:none;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;color:var(--ach-muted)}
.ach-seg button.is-active{background:var(--ach-brand);color:#fff}
.ach-start{background:#fff;border:1px solid var(--ach-line);border-radius:16px;padding:32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.ach-start h3{margin:0;font-size:18px}
.ach-start p{margin:0;color:var(--ach-muted);max-width:620px;line-height:1.8}
.ach-inv-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.ach-inv-head h3{margin:0 0 2px;font-size:17px}
.ach-progress{position:relative;height:26px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:12px}
.ach-progress div{position:absolute;inset-block:0;inset-inline-start:0;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s}
.ach-progress span{position:relative;display:flex;height:100%;align-items:center;justify-content:center;font-weight:800;font-size:12.5px}
.ach-scan{display:grid;grid-template-columns:minmax(220px,2fr) auto auto minmax(140px,1fr) minmax(110px,.6fr);gap:8px;margin-bottom:10px;background:#fff;border:2px solid var(--ach-brand);border-radius:14px;padding:10px}
.ach-scan-input{font-size:16px;font-family:ui-monospace,Menlo,Consolas,monospace;direction:ltr;text-align:center}
.ach-feed{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}
.ach-feed li{display:flex;gap:10px;align-items:center;border-radius:10px;padding:6px 10px;font-size:13px}
.ach-feed li small{margin-inline-start:auto;color:var(--ach-muted)}
.ach-feed .is-ok{background:var(--ach-ok-soft)}.ach-feed .is-dup{background:var(--ach-warn-soft)}.ach-feed .is-bad{background:var(--ach-bad-soft)}
.ach-camera{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:4/3}
.ach-camera video{width:100%;height:100%;object-fit:cover}
.ach-camera-frame{position:absolute;inset:30% 12%;border:3px solid #fbbf24;border-radius:10px;box-shadow:0 0 0 999px #0005}
.ach-warn-text{color:var(--ach-bad);background:var(--ach-bad-soft);padding:10px;border-radius:10px}
.ach-section{margin-bottom:18px}
.ach-section>header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ach-section h2{font-size:16px;font-weight:800;margin:0;display:flex;align-items:center;gap:8px}
.ach-clearance{border-radius:12px;padding:10px 14px;margin-bottom:14px;background:var(--ach-warn-soft);color:#78350f;font-weight:700}
.ach-clearance.is-clear{background:var(--ach-ok-soft);color:var(--ach-ok)}
.ach-rate{display:inline-flex;align-items:center;gap:4px}
.ach-rate input{width:76px;text-align:center}
.ach-share{position:relative;display:flex;align-items:center;min-width:110px;height:22px;background:#f1f5f9;border-radius:6px;overflow:hidden}
.ach-share>span{position:absolute;inset-block:0;inset-inline-start:0;background:#fcd34d}
.ach-share-value>span{background:#93c5fd}
.ach-share b{position:relative;padding-inline:8px;font-size:12px}
.ach-table tfoot th,.ach-table tfoot td{background:var(--ach-soft);font-weight:800;padding:8px}
.ach-table tbody th{text-align:right;font-weight:700;padding:6px 8px}
.ach-dim td,.ach-dim th{opacity:.6}
.ach-mt{margin-top:18px}
.ach-check-inline{background:none;padding:0;align-items:center}
.ach-toolbar .ach-field{flex-direction:row;align-items:center;gap:8px}
@media (max-width:1000px){.ach-assign{grid-template-columns:1fr}.ach-scan{grid-template-columns:1fr 1fr}.ach-scan-input{grid-column:1/-1}}
@media (max-width:640px){.ach-root{font-size:13.5px}.ach-head h1{font-size:19px}.ach-stats{grid-template-columns:repeat(2,1fr)}.ach-stat strong{font-size:18px}.ach-toolbar .ach-input{width:100%}.ach-cards{grid-template-columns:1fr}.ach-dl{grid-template-columns:1fr 1fr}.ach-modal-back{padding:0;align-items:flex-end}.ach-modal{border-radius:16px 16px 0 0;max-height:92vh}}
