:root{--green:#124e3e;--green-deep:#103e32;--green-pale:#ecf4f0;--gold:#bd9951;--ink:#1c302b;--muted:#63736d;--line:#dfe7e3;--page:#f4f7f5;--white:#fff;--high:#984536;--high-bg:#fbede8;--blue:#315d84;--blue-bg:#edf3f8;--radius:12px;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.75}button,input,summary{font:inherit}button,summary{cursor:pointer}button{touch-action:manipulation}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #bd9951;outline-offset:4px}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;right:20px;background:var(--white);padding:10px 20px;z-index:10;color:var(--green)}.skip-link:focus{top:10px}
.masthead{color:#fff;background:var(--green);border-bottom:4px solid var(--gold)}.masthead-inner{max-width:1600px;margin:auto;min-height:118px;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;gap:18px}.identity-mark{width:56px;height:56px;display:grid;place-items:center;border:1px solid #be9c62;color:#e4c68b;font-size:2.1rem;font-family:Arial,sans-serif;border-radius:9px}.institution{color:#d0e1da;font-size:.875rem;margin-bottom:3px}h1{font-size:1.375rem;line-height:1.5;margin:0;font-weight:700}.header-end{display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:#e1ece7;font-size:.875rem}.privacy-label{font-size:.8125rem;color:#eddbb5;border:1px solid #7c968c;padding:1px 10px;border-radius:30px}.header-end time{unicode-bidi:plaintext}
main{max-width:1600px;margin:auto;padding:32px 40px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px}.eyebrow{color:#8c6b30;font-size:.875rem;font-weight:700}h2{font-size:2rem;line-height:1.45;margin:0 0 6px}.page-heading p{margin:0;color:var(--muted);font-size:.9375rem}.refresh-button{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--green);font-size:.875rem;white-space:nowrap;min-height:44px}.refresh-button:hover{background:var(--green-pale);border-color:#bbcec4}.refresh-button:disabled{opacity:.6;cursor:wait}
.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}.metric{padding:20px 26px;position:relative;display:flex;flex-direction:column;border-inline-start:1px solid var(--line)}.metric:first-child{border:0}.metric-main{background:var(--green);color:#fff}.metric-label{font-size:.9375rem;color:var(--muted)}.metric strong{font-size:2.5rem;line-height:1.5;letter-spacing:-.5px;font-family:Arial,sans-serif;font-variant-numeric:tabular-nums}.metric-main .metric-label,.metric-main .metric-note{color:#d6e7de}.metric-note{font-size:.8125rem;color:var(--muted)}
.sync-band{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:25px;background:#eaf2ed;border:1px solid #d3e1d7;border-radius:9px;font-size:.875rem;position:relative}.sync-main{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.sync-main strong{font-weight:600}.sync-main>span:last-child{color:var(--muted);font-size:.8125rem}.connection-dot{width:8px;height:8px;border-radius:50%;background:#2c8862;flex-shrink:0}.connection-dot.pending{background:#a07b37}.connection-dot.offline{background:#a1493b}.sync-details summary{color:var(--green);text-decoration:underline;text-underline-offset:4px}.sync-explanation{position:absolute;left:0;top:calc(100% + 8px);max-width:480px;width:min(480px,100%);background:white;padding:18px 22px;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 8px 30px #173d2c16;border-radius:8px;z-index:5;color:var(--ink)}.sync-explanation p{margin:0 0 10px}.sync-explanation p:last-child{margin:0;color:var(--muted)}
.records-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.records-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 24px 14px}.records-heading h3{margin:0;font-size:1.125rem}.records-heading h3 span{display:inline-block;border-radius:6px;background:#f0f4f1;color:var(--muted);font:700 .875rem/1.6 Arial,sans-serif;min-width:27px;text-align:center;margin-inline-start:8px;padding:2px 6px}.sort-hint{font-size:.8125rem;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 24px 19px;border-bottom:1px solid var(--line)}.group-filters{display:flex;flex-wrap:wrap;gap:5px}.filter-button{background:transparent;color:var(--muted);border-radius:6px;padding:7px 10px;font-size:.875rem;min-height:40px}.filter-button:hover{background:#f1f5f2}.filter-button.active{background:var(--green-pale);color:var(--green);font-weight:700}.filter-button .filter-count{font:400 .8125rem Arial,sans-serif;margin-inline-start:6px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fafcfb;border-radius:8px;padding:7px 10px;color:var(--muted);min-width:260px}.search-field svg{width:17px;height:17px}.search-field input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font-size:.875rem;outline-offset:8px}.search-field input::placeholder{color:#6d7974}
.table-wrap{width:100%}.records-table{width:100%;border-collapse:collapse;text-align:right;table-layout:fixed}.records-table th{background:#f6f8f6;color:var(--muted);font-size:.875rem;font-weight:400;padding:13px 16px;vertical-align:top;white-space:normal}.records-table th:nth-child(1){width:50px;text-align:center}.records-table th:nth-child(2){width:29%}.records-table th:nth-child(3){width:12%}.records-table th:nth-child(4){width:36%}.records-table th:nth-child(5){width:150px}.records-table th:nth-child(6){width:52px}.records-table td{padding:20px 16px;vertical-align:top;border-top:1px solid #e8eeea;overflow-wrap:anywhere}.record-row{scroll-margin-top:20px}.record-row:hover{background:#fbfdfb}.record-row.is-open{background:#f7faf8}.record-row:has(.priority-high) .row-number{color:#976d4c}.row-number{display:block;font:400 1rem/1.8 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#6a7970;text-align:center;padding-top:1px}.item-title{font-size:1rem;line-height:1.65;font-weight:700;margin:0 0 5px}.reference{font:400 .8125rem/1.6 "Segoe UI",Arial,sans-serif;color:#697a72;display:block;unicode-bidi:plaintext;overflow-wrap:anywhere}.reference[dir=ltr]{text-align:right}.badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:9px}.priority{font-size:.8125rem;border-radius:4px;padding:0 7px;white-space:nowrap;background:#f0f2f1;color:#64716a}.priority-high{color:var(--high);background:var(--high-bg)}.priority-medium{color:#8a672e;background:#f8f0df}.stage{display:block;font-size:.875rem;line-height:1.6;font-weight:600;color:var(--green)}.stage-quotes{color:var(--blue)}.stage-action{color:#8f6221}.stage-on_hold{color:#707874}.next-action{font-size:.9375rem;line-height:1.75;margin:0 0 8px}.owner{font-size:.8125rem;color:var(--muted)}.information-date{font:400 .875rem/1.8 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#40574b;white-space:nowrap;unicode-bidi:isolate}.date-note{display:block;margin-top:4px;font-size:.75rem;color:#857454;line-height:1.6}.date-note.current{color:#50725b}.expand-button{width:34px;min-height:36px;display:flex;align-items:center;justify-content:center;color:#5b7467;border:1px solid var(--line);border-radius:6px;background:#fff}.expand-button:hover{border-color:var(--green);color:var(--green)}.expand-button svg{width:18px;height:18px;transition:transform .18s}.expand-button[aria-expanded=true] svg{transform:rotate(180deg)}.records-table .detail-row td{background:#f7faf8;border-top:0;padding:0 24px 24px}.detail-grid{margin-inline-start:35px;padding:20px 22px;background:#fff;border:1px solid #d9e5dd;border-inline-start:3px solid var(--gold);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.detail-grid h4{font-size:.875rem;font-weight:700;color:var(--green);margin:0 0 5px}.detail-grid p{margin:0;font-size:.9375rem;line-height:1.85}.detail-grid .detail-full{grid-column:1/-1}.detail-meta{font-size:.8125rem;color:var(--muted);margin-top:8px!important}.sources{margin:0;padding:0;list-style:none}.sources li+li{margin-top:8px;padding-top:8px;border-top:1px solid #edf1ee}.source-title{font-size:.875rem;display:block;overflow-wrap:anywhere;unicode-bidi:plaintext}.source-locator{font-size:.8125rem;color:var(--muted);display:block}.loading-cell{padding:60px!important;text-align:center;font-size:1rem;color:var(--muted)}.empty-state{text-align:center;padding:50px 24px 55px}.empty-state h4{font-size:1.125rem;margin:0 0 5px}.empty-state p{margin:0 0 18px;color:var(--muted);font-size:.9375rem}.notice{border:1px solid #e4c18b;background:#fff8eb;color:#785b27;padding:12px 18px;border-radius:8px;margin-bottom:15px;font-size:.9375rem}.notice.error{border-color:#e6bbb4;background:#fff3ef;color:#943d30}footer{margin-top:22px;display:flex;justify-content:space-between;gap:15px;color:#67746d;font-size:.8125rem;flex-wrap:wrap}footer p{margin:0}.noscript{margin:30px;padding:20px;background:#fff0df}
@media(min-width:1500px){.toolbar{flex-wrap:nowrap}.group-filters{flex-wrap:nowrap}.search-field{min-width:270px}}
@media(max-width:1150px){main{padding:25px 24px 20px}.masthead-inner{padding:22px 24px}.metric{padding:18px 20px}.records-table th:nth-child(2){width:28%}.records-table th:nth-child(3){width:18%}.records-table th:nth-child(4){width:29%}.records-table th:nth-child(5){width:130px}.records-table td{padding:17px 12px}.records-table th{padding:13px 12px}.records-table th:nth-child(1){width:40px}.records-table th:nth-child(6){width:45px}}
@media(max-width:900px){.records-table{table-layout:auto}.records-table thead{display:none}.records-table tbody{display:block}.records-table tr.record-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:5px 10px;padding:19px 18px;border-top:1px solid var(--line);position:relative}.records-table td{display:block;border:0;padding:0}.record-row .number-cell{grid-column:1;grid-row:1}.record-row .topic-cell{grid-column:2;grid-row:1;padding-inline-end:28px}.record-row .status-cell{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.status-cell .badges{margin:0}.stage{font-size:.875rem}.record-row .action-cell{grid-column:2/-1;grid-row:3;margin-top:7px}.record-row .date-cell{grid-column:2/-1;grid-row:4;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:5px}.date-cell .date-note{margin:0}.record-row .expand-cell{position:absolute;left:15px;top:20px}.information-date::before{content:"آخر معلومة: ";font-family:Tahoma,Arial,sans-serif;font-size:.8125rem}.row-number{font-size:.875rem}.records-table .detail-row{display:block}.records-table .detail-row td{padding:0 16px 18px}.detail-grid{margin:0;grid-template-columns:1fr;padding:16px}.detail-grid .detail-full{grid-column:auto}.table-wrap{overflow:visible}.records-table{display:block}.item-title{margin-bottom:3px}.toolbar{padding:0 18px 16px}.records-heading{padding:18px}.search-field{width:100%;min-width:0}.metric-label{font-size:.875rem}.metric-note{font-size:.75rem}.sync-band{align-items:flex-start}.sync-details{flex-shrink:0}.sync-main>span:last-child{width:100%;padding-inline-start:17px}}
@media(max-width:600px){main{padding:22px 14px 20px}.masthead-inner{padding:18px 18px;min-height:106px;align-items:flex-start;gap:10px}.identity{gap:12px}.identity-mark{display:none}.institution{font-size:.75rem;max-width:220px}h1{font-size:1.125rem}.header-end{font-size:.75rem;max-width:125px;gap:5px}.privacy-label{font-size:.75rem}.header-end time{line-height:1.6;text-align:left}.page-heading{gap:10px;align-items:flex-start}.page-heading h2{font-size:1.7rem}.page-heading p{font-size:.875rem}.page-heading .refresh-button{font-size:.8125rem;padding:8px 10px;margin-top:17px}.page-heading .refresh-button svg{width:17px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:16px 18px;border-top:1px solid var(--line)}.metric:nth-child(-n+2){border-top:0}.metric:nth-child(3){border-inline-start:0}.metric strong{font-size:2.2rem}.metric-note{line-height:1.7}.sync-band{padding:10px 12px;display:block;margin-bottom:20px}.sync-details{margin-top:5px;margin-inline-start:17px}.sync-details summary{font-size:.8125rem}.records-heading{align-items:flex-start}.sort-hint{font-size:.75rem}.records-heading h3{font-size:1rem}.group-filters{gap:3px}.filter-button{font-size:.8125rem;padding:6px 8px;min-height:36px}.filter-count{display:none}.next-action{font-size:.9375rem}.item-title{font-size:1rem}.reference{font-size:.8125rem}.detail-grid p{font-size:.9375rem}footer{font-size:.75rem;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.view-tabs{display:flex;gap:8px;margin:0 0 22px;border-bottom:1px solid #c8d8ce}.view-tabs button{display:flex;align-items:center;gap:12px;color:var(--muted);background:transparent;font-weight:700;padding:12px 20px;font-size:1.0625rem;border-bottom:3px solid transparent;margin-bottom:-1px;min-height:50px}.view-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--gold);background:#e9f1eb}.view-tabs button span{font:700 .875rem Arial,sans-serif;min-width:28px;border-radius:5px;padding:4px 7px;background:white;color:var(--green)}.purchase-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:20px}.purchase-summary>div{padding:19px 22px;display:flex;flex-direction:column;border-inline-start:1px solid var(--line)}.purchase-summary>div:first-child{border:0}.purchase-summary strong{font:700 2rem/1.6 Arial,sans-serif;color:var(--green)}.purchase-summary span{font-size:.875rem;color:var(--muted)}.purchase-note{margin:0;padding:12px 24px;background:#f7faf8;color:var(--muted);font-size:.875rem;border-bottom:1px solid var(--line)}.purchase-stage-heading{margin:0;padding:15px 24px;background:#eaf1ed;color:var(--green);font-size:1rem;border-bottom:1px solid var(--line)}.purchase-stage-heading span{font:400 .875rem Arial,sans-serif;margin-inline-start:9px;color:var(--muted)}.purchase-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:right}.purchase-table th{font-size:.875rem;font-weight:400;color:var(--muted);padding:11px 14px;background:#fafcfa}.purchase-table th:nth-child(1){width:4%}.purchase-table th:nth-child(2){width:29%}.purchase-table th:nth-child(3){width:12%}.purchase-table th:nth-child(4){width:10%}.purchase-table th:nth-child(5){width:40%}.purchase-table th:nth-child(6){width:5%}.purchase-table td{padding:19px 14px;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.purchase-topic h4{margin:5px 0 0;font-size:1rem;line-height:1.75;font-weight:600}.purchase-reference{font-size:.9375rem;color:var(--green);font-weight:700}.purchase-amount bdi,.purchase-budget bdi{font-family:Arial,Tahoma,sans-serif;font-size:1rem}.purchase-number{color:var(--muted);font:400 .875rem/1.8 Arial,sans-serif}.purchase-sub{display:block;font-size:.8125rem;color:var(--muted);margin-top:5px}.missing-value{color:var(--muted);font-size:.875rem}.purchase-action p{font-size:1rem;margin:5px 0 7px;line-height:1.75}.purchase-detail td{background:#f4f8f5;padding:0 18px 20px;border-top:0}.purchase-detail .detail-grid{margin:0}.next-action,.detail-grid p{font-size:1rem!important}.purchase-section .search-field{min-width:290px}
@media(max-width:1000px){.purchase-table,.purchase-table tbody{display:block}.purchase-table thead{display:none}.purchase-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);gap:9px 14px;padding:20px 18px;position:relative;border-top:1px solid var(--line)}.purchase-table .purchase-row td{display:block;border:0;padding:0}.purchase-number{grid-column:1;grid-row:1}.purchase-topic{grid-column:2/-1;grid-row:1;padding-inline-end:38px!important}.purchase-amount{grid-column:2;grid-row:2}.purchase-budget{grid-column:3;grid-row:2}.purchase-amount:before,.purchase-budget:before{content:attr(data-label);display:block;font-size:.8125rem;color:var(--muted);margin-bottom:3px}.purchase-action{grid-column:2/-1;grid-row:3}.purchase-toggle{position:absolute;left:16px;top:20px}.purchase-detail{display:block}.purchase-detail td{display:block;width:100%}.purchase-summary>div{padding:16px 18px}}
@media(max-width:600px){.view-tabs button{padding:10px 12px;font-size:1rem;gap:7px}.purchase-summary{grid-template-columns:1fr 1fr}.purchase-summary>div:nth-child(n+3){border-top:1px solid var(--line)}.purchase-summary>div:nth-child(3){border-inline-start:0}.purchase-summary strong{font-size:1.7rem}.purchase-note{padding:12px 18px}.purchase-section .search-field{min-width:0}.purchase-row{gap:9px 10px;padding:18px 12px}.purchase-stage-heading{padding:13px 18px}.purchase-topic h4,.purchase-action p{font-size:1rem}}
/* Bilingual layout and an always-visible language choice. */
.language-switch{display:flex;gap:3px;padding:3px;border:1px solid #86a99a;border-radius:8px;direction:ltr;background:#0c3d30}
.language-switch button{font:600 .875rem/1.5 Tahoma,"Segoe UI",Arial,sans-serif;background:transparent;color:#fff;padding:7px 11px;min-height:38px;border-radius:5px}
.language-switch button[aria-pressed=true]{background:#fff;color:var(--green)}
.language-switch button:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.records-table,.purchase-table{text-align:start}
.sync-explanation{left:auto;inset-inline-end:0}
.skip-link{right:auto;inset-inline-start:20px}
html[lang=en] body{font-family:"Segoe UI",Arial,sans-serif}
html[lang=en] .identity-mark{font-size:0}
html[lang=en] .identity-mark::after{content:"D";font-size:2rem}
html[dir=ltr] .reference[dir=ltr]{text-align:left}
@media(max-width:1000px){.purchase-toggle{left:auto;inset-inline-end:16px}}
@media(max-width:900px){.record-row .expand-cell{left:auto;inset-inline-end:15px}html[lang=en] .information-date::before{content:"Latest information: "}}
@media(max-width:600px){.masthead-inner{flex-wrap:wrap}.header-end{max-width:none;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}.header-end time{text-align:start}.language-switch button{font-size:.875rem}.view-tabs button{font-size:.9375rem}.view-tabs{gap:3px}}

.purchase-section .toolbar,.purchase-section .group-filters{flex-wrap:wrap}

.secondary-statuses{padding:16px 24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}
.record-updated { color: var(--green, #124e3e); font-size: 1rem; font-weight: 600; margin: 0 0 1rem; }



/* Purchase orders and line-level receipts. */
.stage-lpo_pending{background:#eaf0fb;color:#294778}.stage-partial_delivery{background:#fff0d2;color:#75530f}.stage-received{background:#dcefe4;color:#145033}.stage-closed_unreceived{background:#eee8e2;color:#58463c}
.lpo-details{min-width:0}.lpo-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin:12px 0}.lpo-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lpo-heading h5{font:700 1rem Arial,sans-serif;margin:0;color:var(--green)}.lpo-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}.lpo-meta dt{font-size:.8125rem;color:var(--muted)}.lpo-meta dd{margin:4px 0 0;font-size:.9375rem}.delivery-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:6px}.delivery-table{width:100%;min-width:600px;border-collapse:collapse;text-align:start;table-layout:auto}.purchase-detail .delivery-table td,.purchase-detail .delivery-table th{display:table-cell;width:auto;background:white;border-top:1px solid var(--line);padding:10px;vertical-align:top;font-size:.875rem}.purchase-detail .delivery-table thead th{background:#f1f6f2;white-space:nowrap}.delivery-table thead{display:table-header-group}.delivery-table tbody{display:table-row-group}.delivery-table th:first-child{width:34%;font-weight:400}.delivery-table th span,.delivery-table th small{display:block;margin-top:4px}.delivery-table td:not(:first-child){font-variant-numeric:tabular-nums}.delivery-table th small{color:var(--muted)}

/* حقول العمل اليومي: الإجراء عند والمجال والعائق. */
.focus-bar{padding:0 0 4px}
.focus-filters{display:flex;flex-wrap:wrap;gap:7px}
.area-filter{font:inherit;font-size:.875rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;min-height:42px;padding:6px 12px;max-width:260px}
.action-at{display:block;margin-top:6px;font-size:.75rem;color:#5c7267;background:#f1f5f2;border:1px solid #e2eae5;border-radius:4px;padding:1px 8px;width:fit-content}
.action-at[data-at=me]{color:#8a5a20;background:#fbf3e4;border-color:#efe0c2}
.action-at[data-at=external]{color:#3f6188;background:#eef3fa;border-color:#dbe5f1}
.action-at[data-at=unassigned]{color:#69706d;background:#f3f4f4;border-color:#e6e8e8}
.blocker{display:block;margin-top:7px;font-size:.8125rem;line-height:1.7;color:#93493a;background:#fdf1ee;border-inline-start:3px solid #d9a99c;border-radius:4px;padding:5px 10px}
.detail-blocker p{color:#93493a}
@media(max-width:700px){.area-filter{max-width:none;width:100%}}


/* متابعة المراسلات. */
.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;padding:0 20px 22px}
.letter-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.letter-card h4{font-size:1rem;line-height:1.65;margin:0 0 5px}
.letter-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.letter-direction{font-size:.75rem;font-weight:700;border-radius:4px;padding:2px 9px;background:#eaf1fb;color:#396493}
.letter-direction[data-direction=in]{background:#f3efe5;color:#7d6524}
.letter-reference{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}
.letter-top .edit-button{margin:0 0 0 auto}
html[dir=rtl] .letter-top .edit-button{margin:0 auto 0 0}
.letter-party{font-size:.875rem;color:var(--muted);margin:0 0 12px}
.letter-states{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.letter-state{font-size:.75rem;border-radius:4px;padding:2px 9px;background:#f1f4f2;color:#55665e}
.letter-state[data-kind=reply]{background:#f8f2e4;color:#816224}
.letter-state[data-closure=closed]{background:#e6f0e9;color:#2f6146}
.letter-state[data-closure=pending]{background:#faece5;color:#93492e}
.letter-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.letter-meta dt{font-size:.75rem;color:var(--muted)}
.letter-meta dd{margin:3px 0 0;font-size:.875rem;overflow-wrap:anywhere}
.letter-action{border-top:1px solid var(--line);padding-top:11px}
.letter-action h5{font-size:.75rem;color:var(--muted);margin:0 0 4px;font-weight:400}
.letter-action p{margin:0;font-size:.9375rem;line-height:1.75}
.letter-link,.letter-notes{font-size:.8125rem;color:var(--muted);margin:11px 0 0;line-height:1.8}
.link-button{font:inherit;color:var(--green);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
@media(max-width:700px){.letter-grid{grid-template-columns:1fr;padding:0 14px 18px}.letter-meta{grid-template-columns:1fr}}

/* الأعمال: البيندنق جوب والأعمال القائمة. */
.job-group{padding:0 20px 8px}
.job-group-heading{font-size:.9375rem;margin:0 0 12px;display:flex;align-items:center;gap:9px;color:var(--green)}
.job-group-heading span{font-size:.8125rem;font-weight:400;color:var(--muted);background:#f1f4f2;border-radius:20px;padding:1px 10px}
.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;padding:0 0 18px}
.job-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.job-card h4{font-size:1rem;line-height:1.65;margin:0 0 5px}
.job-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.job-party{font-size:.75rem;font-weight:700;border-radius:4px;padding:2px 9px;background:#eaf1fb;color:#396493}
.job-party[data-party=inbound]{background:#f3efe5;color:#7d6524}
.job-party[data-party=internal]{background:#eef2f0;color:#4c6459}
.job-state{font-size:.75rem;border-radius:4px;padding:2px 9px;background:#f1f4f2;color:#55665e}
.job-state[data-state=awaiting_parts],.job-state[data-state=awaiting_party]{background:#faece5;color:#93492e}
.job-state[data-state=done]{background:#e6f0e9;color:#2f6146}
.job-top .edit-button{margin:0 0 0 auto}
html[dir=rtl] .job-top .edit-button{margin:0 auto 0 0}
.job-counterpart{font-size:.875rem;color:var(--muted);margin:0 0 12px}
.job-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.job-meta dt{font-size:.75rem;color:var(--muted)}
.job-meta dd{margin:3px 0 0;font-size:.875rem;overflow-wrap:anywhere}
.job-late{color:#93492e;font-weight:700}
.job-gear{margin:0 0 10px;font-size:.8125rem;line-height:1.8;background:#f6f8f7;border:1px solid var(--line);border-radius:8px;padding:8px 11px}
.job-gear span{display:block;font-size:.75rem;color:var(--muted)}
.job-link,.job-notes{font-size:.8125rem;color:var(--muted);margin:11px 0 0;line-height:1.8}
@media(max-width:700px){.job-group{padding:0 14px 6px}.job-grid{grid-template-columns:1fr}.job-meta{grid-template-columns:1fr}}

/* المعدات المستلمة للصيانة. */
.gear-badge{font-size:.75rem;border-radius:4px;padding:0 7px;background:#eef3fa;color:#3f6188;white-space:nowrap}
.detail-equipment{border-inline-start:3px solid #7fa2c4;padding-inline-start:14px}
.detail-equipment p{margin:0 0 4px}
.detail-equipment strong{color:#35597d}

/* إشعارات التحديث: تطفو أعلى الصفحة ولا تحجب المحتوى. */
.view-tabs{flex-wrap:wrap}
.followup-categories{padding:0 24px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.followup-categories #groups,.followup-categories #general-record-types{display:contents}
#records>#letters-panel>.records-section,#records>#jobs-panel>.records-section{border:0;border-radius:0}
#followup-records>.toolbar{padding-top:12px}
.related-records{border-top:1px solid var(--line);padding-top:14px}
.related-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.related-actions{display:flex;flex-wrap:wrap;gap:12px}
.related-records h5{margin:14px 0 7px;color:var(--green);font-size:.875rem}
.related-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.related-record{padding:12px;background:#f7faf8;border:1px solid #e1e9e4;border-radius:7px;overflow-wrap:anywhere}
.related-record .related-heading>strong{font-size:.9375rem}
.detail-grid p.related-meta{font-size:.8125rem!important;color:var(--muted)}
.related-actions .link-button,.related-heading .link-button{min-height:36px}
@media(max-width:600px){.followup-categories{padding-inline:18px}.related-record{padding:10px}}
.toast-shelf{position:fixed;top:14px;inset-inline:0;z-index:40;display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none;padding:0 12px}
.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;width:min(520px,100%);padding:12px 15px;border-radius:10px;border:1px solid #cfded5;background:#ffffffeb;backdrop-filter:blur(8px);box-shadow:0 10px 30px #12382e1f;color:var(--ink)}
.toast[data-kind=add]{border-inline-start:3px solid #3f7f5f}
.toast[data-kind=change]{border-inline-start:3px solid var(--gold)}
.toast[data-kind=remove]{border-inline-start:3px solid #b07a6d}
.toast-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.toast-text strong{font-size:.9375rem;line-height:1.6}
.toast-text span{font-size:.8125rem;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}
.toast-close{width:28px;height:28px;flex:none;display:grid;place-items:center;border:0;border-radius:6px;background:none;color:#7b8c84;cursor:pointer}
.toast-close:hover{background:#eef2f0;color:var(--ink)}
.toast-close svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media(max-width:700px){.toast-shelf{top:8px;gap:7px}.toast{padding:10px 13px}}
@media print{.toast-shelf{display:none!important}}

/* ٣) أهداف اللمس: 44px على شاشات اللمس دون تكبير الواجهة على الفأرة.
   بادئة :root مقصودة — followup-layout.css يُحمّل بعد هذا الملف، فبلا زيادة
   الأولوية تفوز قواعده ذات الارتفاع الأصغر. لا تحذف البادئة. */
@media(pointer:coarse){
  :root .filter-button,:root .edit-button,:root .expand-button,:root .language-switch button,
  :root .admin-button,:root .refresh-button,:root .motion-toggle,
  :root .search-field input,:root .area-filter,:root .sync-details summary{min-height:44px}
  :root .edit-button,:root .expand-button{width:44px}
  :root .group-filters{gap:8px}
}
/* ٣) شريط التبويبات على الهاتف: تمرير أفقي بسطر واحد بدل ثلاثة أسطر تدفع المحتوى. */
/* المعرّف #main-views مقصود: قاعدة followup-layout.css تستخدم المعرّف نفسه،
   فبأقل من هذه الأولوية يبقى الشريط ملتفاً على ثلاثة أسطر. */
@media(max-width:700px){
  :root #main-views{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:2px}
  :root #main-views button{flex:0 0 auto;scroll-snap-align:end;white-space:nowrap}
}
/* ٢) المسؤول والإجراء عند في سطر واحد بدل سطرين، فيقصر الصف بلا حذف معلومة. */
:root .action-cell .owner,:root .action-cell .action-at{display:inline-block;vertical-align:middle}
:root .action-cell .owner{margin-inline-end:8px}
/* ٢) الإجراء الطويل يُقصر إلى ثلاثة أسطر في الجدول؛ نصه الكامل في لوحة التفاصيل
   وفي البحث، فلا تُفقد معلومة. */
:root .next-action{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
@media(max-width:900px){:root .next-action{-webkit-line-clamp:unset;line-clamp:unset;display:block}}
/* ٦) أرقام الوقت والتواريخ جدولية فلا يتغيّر عرضها مع كل تحديث. */
.record-updated time,.date-cell time,.detail-meta time{font-variant-numeric:tabular-nums}

/* ٣) ضغط أعلى الصفحة على الحاسوب: نفس المعلومات في ارتفاع أقل، فيظهر أول
   صف من السجل دون تمرير. لا يسري على الهاتف حيث المساحة مختلفة. */
:root .sync-main .record-updated{margin:0;font-size:.8125rem;color:var(--muted);padding-inline-start:14px;border-inline-start:1px solid var(--line)}
@media(max-width:700px){:root .sync-main .record-updated{padding-inline-start:0;border:0;width:100%}}
@media(min-width:1000px){
  :root .masthead-inner{min-height:96px;padding:14px 40px}
  :root .identity-mark{width:46px;height:46px;font-size:1.7rem}
  :root .page-heading{margin-bottom:12px}
  :root .page-heading h2{margin-bottom:2px}
  :root .sync-band{margin-bottom:12px;padding-block:10px}
  :root .view-tabs{margin-bottom:14px}
  :root .records-heading{padding:14px 20px}
}
/* روابط تنقّل بهيئة أزرار: الرابط بين صفحتي الموقع ليس نصاً مسطراً. */
a.admin-button{text-decoration:none}
