@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--bg:#f3f6f9;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#667085;--line:#dfe5ec;--primary:#145c57;--primary-2:#0f766e;--danger:#b42318;--danger-bg:#fff1f0;--warning:#b54708;--success:#067647;--shadow:0 12px 35px rgba(16,24,40,.08);--radius:14px}
*{box-sizing:border-box}html{font-family:'Cairo',Tahoma,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.hint{font-size:12px;color:var(--muted)}
.topbar{height:68px;background:#172033;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30;box-shadow:0 3px 12px rgba(0,0,0,.12)}.brand,.top-actions{display:flex;align-items:center;gap:12px}.brand small{display:block;color:#cbd5e1;margin-top:3px}.brand-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#0f766e,#164e63);color:#fff;font-weight:800;font-size:22px;box-shadow:var(--shadow)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:15px}.user-chip{font-size:13px;color:#d6dde7;border-inline-start:1px solid #475467;padding-inline-start:12px}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s ease;background:#fff}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-light{background:#fff;color:#344054;border-color:#d0d5dd}.topbar .btn-light{background:#273447;color:#fff;border-color:#455369}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecdca}.btn-block{width:100%}.icon-btn{border:0;background:transparent;font-size:26px;line-height:1;color:#667085;border-radius:8px;padding:2px 8px}.icon-btn:hover{background:#f2f4f7}
.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:var(--surface);border-inline-end:1px solid var(--line);padding:18px;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto}.sidebar-head,.panel-head,.workspace-head,.modal-head,.modal-actions,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-head h2,.panel-head h2{margin:0}.search-input,select,input,textarea{width:100%;border:1px solid #cfd6df;border-radius:9px;background:#fff;color:var(--text);padding:10px 11px;outline:none;transition:.15s ease}.search-input{margin:14px 0 8px}input:focus,select:focus,textarea:focus{border-color:#4d9b95;box-shadow:0 0 0 3px rgba(20,92,87,.11)}textarea{resize:vertical}.project-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.project-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;text-align:right;width:100%;display:block}.project-card:hover{border-color:#9cc9c5;background:#f5fbfa}.project-card.active{border-color:var(--primary);background:#edf8f7;box-shadow:inset -4px 0 0 var(--primary)}.project-card strong{display:block;line-height:1.5}.project-card small{display:flex;justify-content:space-between;color:var(--muted);margin-top:7px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:5px;background:#98a2b3}.status-draft .status-dot{background:#f79009}.status-submitted .status-dot{background:#2e90fa}.status-awarded .status-dot{background:#12b76a}.status-closed .status-dot{background:#667085}
.workspace{padding:24px;min-width:0}.empty-state{height:calc(100vh - 120px);display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state h1{color:var(--text);margin-bottom:4px}.empty-icon{font-size:70px;color:#aac7c4}.workspace-head{align-items:flex-start;margin-bottom:18px}.workspace-head h1{margin:2px 0 4px;font-size:26px}.eyebrow{font-size:12px;color:var(--primary);font-weight:800}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deadline-badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#f2f4f7;color:#475467;font-size:12px}.deadline-badge.urgent{background:#fff4ed;color:#b93815}.deadline-badge.expired{background:#fef3f2;color:#b42318}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:0 4px 16px rgba(16,24,40,.04)}.kpi span,.kpi small{color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:22px;margin:7px 0 2px;font-variant-numeric:tabular-nums}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(16,24,40,.04);margin-bottom:16px;overflow:hidden}.panel>summary{padding:15px 18px;font-weight:800;cursor:pointer;background:var(--surface-2);border-bottom:1px solid var(--line)}.project-details form{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.stack-form label,.modal-card>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#344054}.span-2{grid-column:span 2}.form-actions{justify-content:flex-start;padding-top:4px}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line)}.panel-head p{margin:4px 0 0}.badge{background:#eef4ff;color:#3538cd;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.quick-add{display:grid;grid-template-columns:minmax(280px,1fr) 120px 120px auto;gap:8px;padding:12px 18px;background:#fbfcfd;border-bottom:1px solid var(--line)}.cost-add{grid-template-columns:minmax(220px,1fr) 120px 140px auto;padding:12px 0}.table-wrap{overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1380px;font-size:12.5px}.data-table th,.data-table td{padding:8px;border-bottom:1px solid var(--line);border-inline-start:1px solid #edf0f4;text-align:center;vertical-align:middle}.data-table th:first-child,.data-table td:first-child{border-inline-start:0}.data-table thead th{position:sticky;top:0;background:#eef2f6;color:#344054;z-index:2;white-space:nowrap}.data-table tbody tr:hover{background:#fbfdfd}.data-table tbody tr.dirty{background:#fffbe9}.data-table tfoot th{background:#1d4d6b;color:#fff;font-variant-numeric:tabular-nums}.data-table input{min-width:80px;padding:7px 8px;font-size:12px}.data-table .item-input{min-width:270px;text-align:right}.item-col{min-width:280px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.actions{display:flex;gap:5px;justify-content:center;white-space:nowrap}.mini-btn{border:1px solid #d0d5dd;background:#fff;border-radius:7px;padding:6px 8px;color:#344054;font-size:11px}.mini-btn.primary{background:#edf8f7;border-color:#9cc9c5;color:#145c57}.mini-btn.danger{background:#fff5f4;border-color:#fecdca;color:#b42318}.mini-btn:disabled{opacity:.5;cursor:not-allowed}.read-only .edit-only{display:none!important}.read-only input,.read-only select,.read-only textarea{pointer-events:none;background:#f8fafc;color:#475467}
.app-dialog{border:0;padding:0;background:transparent;max-width:min(650px,calc(100vw - 30px));width:100%}.app-dialog.wide{max-width:min(900px,calc(100vw - 30px))}.app-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:14px;max-height:88vh;overflow:auto}.modal-head{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.modal-head h2{margin:0}.modal-head p{margin:4px 0 0}.modal-actions{justify-content:flex-start;border-top:1px solid var(--line);padding-top:14px}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:8px}.tabs button{border:0;background:#f2f4f7;border-radius:8px;padding:8px 12px;color:#475467}.tabs button.active{background:#dff3f1;color:#145c57;font-weight:800}.compact-table{min-width:650px}.bulk-text{font-family:'Cairo',Tahoma,Arial,sans-serif;direction:rtl;white-space:pre}.check{display:flex!important;flex-direction:row!important;align-items:center!important}.check input{width:auto}
.toast{position:fixed;left:24px;bottom:24px;background:#172033;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(120px);opacity:0;transition:.25s ease;z-index:100;font-size:13px;max-width:420px}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#b42318}.alert{padding:11px 13px;border-radius:9px;font-size:13px}.alert-danger{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.login-page{display:grid;place-items:center;background:radial-gradient(circle at 10% 20%,#dff3f1,transparent 35%),linear-gradient(145deg,#f5f8fb,#eef3f8);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(16,24,40,.14);text-align:center}.login-card .brand-mark{margin:0 auto}.login-card h1{margin-bottom:5px}.stack-form{display:flex;flex-direction:column;gap:13px;text-align:right;margin-top:22px}.single-page{padding:24px;max-width:1200px;margin:0 auto}.single-page .data-table{min-width:850px}
.loading{padding:20px;text-align:center;color:var(--muted)}.empty-row{padding:28px!important;text-align:center;color:var(--muted)}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{height:auto;min-height:68px;padding:10px 14px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.user-chip{display:none}.app-shell{display:block}.sidebar{position:static;height:auto;border-inline-end:0;border-bottom:1px solid var(--line)}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.workspace{padding:14px}.workspace-head{flex-direction:column}.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.compact{grid-template-columns:1fr}.span-2{grid-column:auto}.quick-add,.cost-add{grid-template-columns:1fr 1fr}.quick-add>input:first-child,.cost-add>input:first-child{grid-column:1/-1}.app-dialog{max-width:calc(100vw - 20px)}}
@media(max-width:520px){.brand small{display:none}.top-actions .btn{padding:7px 9px}.project-list{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi strong{font-size:18px}.quick-add,.cost-add{grid-template-columns:1fr}.quick-add>input:first-child,.cost-add>input:first-child{grid-column:auto}}

/* Dashboard and administrative reports */
.dashboard-shell{max-width:1600px;margin:0 auto;padding:24px}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-heading h1{margin:3px 0 5px;font-size:30px}.report-filters{padding:14px;display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr 1.1fr auto;gap:10px;align-items:end;overflow:visible}.report-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#344054}.filter-actions{display:flex;gap:7px;white-space:nowrap}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin:16px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 4px 16px rgba(16,24,40,.04)}.metric-card span,.metric-card small{color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:24px;margin:8px 0 3px;font-variant-numeric:tabular-nums}.metric-card.warning-card{border-color:#fedf89;background:#fffcf5}.negative{color:#b42318!important}.dashboard-grid{display:grid;gap:16px}.dashboard-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.report-card{min-width:0}.status-report{padding:18px}.status-line{margin-bottom:16px}.status-line>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.status-pill{display:inline-flex;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}.status-pill.status-draft{background:#fff4e5;color:#b54708}.status-pill.status-submitted{background:#eff8ff;color:#175cd3}.status-pill.status-awarded{background:#ecfdf3;color:#027a48}.status-pill.status-closed{background:#f2f4f7;color:#475467}.bar-track{height:8px;background:#edf1f5;border-radius:99px;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,#145c57,#2e90fa);border-radius:99px}.rank-list{padding:8px 18px 18px}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.7fr);gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);color:inherit}.rank-row:last-child{border-bottom:0}.rank-row strong,.rank-row small{display:block}.rank-row small{color:var(--muted);margin-top:3px}.rank-value{text-align:left;font-variant-numeric:tabular-nums}.rank-value .bar-track{margin-top:7px}.entity-list{padding:10px 18px 18px}.entity-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.entity-list>div:last-child{border-bottom:0}.entity-list strong{background:#eef4ff;color:#3538cd;border-radius:99px;min-width:34px;padding:4px 9px;text-align:center}.report-table{min-width:760px}.report-table th,.report-table td{padding:10px}.report-table a{color:#145c57;font-weight:700}.wide-report{min-width:1450px}.text-cell{text-align:right!important;min-width:250px}.text-cell strong,.text-cell small{display:block}.text-cell small{color:var(--muted);margin-top:3px}.activity-table{min-width:760px}.full-report{margin-top:16px}
@media(max-width:1200px){.report-filters{grid-template-columns:repeat(3,1fr)}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.dashboard-shell{padding:14px}.dashboard-heading{flex-direction:column}.report-filters{grid-template-columns:1fr 1fr}.dashboard-grid.two-cols{grid-template-columns:1fr}.filter-actions{grid-column:1/-1}.rank-row{grid-template-columns:1fr}}
@media(max-width:520px){.report-filters{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:1fr 1fr}.filter-actions{grid-column:auto;flex-direction:column}.dashboard-heading h1{font-size:25px}}


/* Bootstrap 5.3.8 integration -------------------------------------------------
   Bootstrap RTL is loaded first. These rules bridge its components and
   utilities to the existing application theme without changing business UI. */
:root{
  --bs-font-sans-serif:Tahoma,"Segoe UI",Arial,sans-serif;
  --bs-body-font-family:var(--bs-font-sans-serif);
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--text);
  --bs-primary:#145c57;
  --bs-primary-rgb:20,92,87;
  --bs-danger:#b42318;
  --bs-danger-rgb:180,35,24;
  --bs-border-color:var(--line);
  --bs-border-radius:.5625rem;
  --bs-link-color:#145c57;
  --bs-link-hover-color:#0f766e;
}
body{font-family:var(--bs-body-font-family)}
.navbar.topbar{flex-wrap:nowrap}
.table-responsive.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.data-table.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line);margin-bottom:0}
.data-table.table>:not(caption)>*>*{background-color:transparent;box-shadow:none}
.data-table.table-hover>tbody>tr:hover>*{--bs-table-bg-state:#f6fbfa}
.form-control,.form-select{
  border-color:#cfd6df;border-radius:9px;color:var(--text);background-color:#fff;
  min-height:42px;padding:10px 11px;box-shadow:none
}
.form-control:focus,.form-select:focus{
  border-color:#4d9b95;box-shadow:0 0 0 3px rgba(20,92,87,.11)
}
textarea.form-control{min-height:auto}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
.btn{--bs-btn-border-radius:9px;--bs-btn-font-weight:700}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary-2);--bs-btn-hover-border-color:var(--primary-2)}
.alert-danger{--bs-alert-color:#b42318;--bs-alert-bg:#fef3f2;--bs-alert-border-color:#fecdca}
.app-dialog[open]{display:block}
.app-dialog[open]{position:fixed!important;inset:0!important;margin:auto!important;z-index:2147483000!important;max-height:96vh!important;overflow:visible!important}
#costImportDialog[open]{width:min(1180px,calc(100vw - 24px))!important;max-width:min(1180px,calc(100vw - 24px))!important}
#costImportDialog[open] .modal-card{max-height:94vh!important;overflow:auto!important;border:2px solid var(--primary)!important}
#costImportDialog::backdrop{background:rgba(2,8,14,.82)!important;backdrop-filter:blur(3px)!important}
.app-dialog form{margin:0}
@media(max-width:850px){.navbar.topbar{flex-wrap:wrap}}

/* Stamp management ---------------------------------------------------------- */
.stamp-shell{max-width:1450px}.stamp-heading{margin-bottom:18px}.stamp-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}.stamp-upload-panel{position:sticky;top:86px}.stamp-upload-form{padding:18px;margin-top:0}.stamp-list-panel{min-width:0}.stamps-grid{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:14px}.stamp-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:.16s ease}.stamp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stamp-card.default{border-color:#6ab8b1;box-shadow:inset 0 0 0 1px #6ab8b1}.stamp-preview{height:180px;display:grid;place-items:center;background:linear-gradient(45deg,#f4f6f8 25%,transparent 25%),linear-gradient(-45deg,#f4f6f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f4f6f8 75%),linear-gradient(-45deg,transparent 75%,#f4f6f8 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-bottom:1px solid var(--line);padding:18px}.stamp-preview img{max-width:100%;max-height:100%;object-fit:contain}.stamp-card-body{padding:14px}.stamp-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.stamp-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp-card-body small{display:block;color:var(--muted);margin-top:7px;direction:ltr;text-align:right}.default-badge{background:#dff3f1;color:#145c57;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:800}.stamp-actions{display:flex;gap:8px;margin-top:14px}.stamp-actions .btn{flex:1;padding:8px 10px;font-size:12px}.stamp-empty{grid-column:1/-1}.read-only .stamp-card{pointer-events:auto}.read-only .stamp-preview{opacity:1}
@media(max-width:1100px){.stamps-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}}
@media(max-width:850px){.stamp-layout{grid-template-columns:1fr}.stamp-upload-panel{position:static}.stamps-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:520px){.stamps-grid{grid-template-columns:1fr}.stamp-actions{flex-direction:column}}

/* PDF file stamper ---------------------------------------------------------- */
.pdf-stamper-panel{overflow:visible;margin-bottom:28px;border-color:#b9d9d5;box-shadow:0 12px 34px rgba(20,92,87,.08)}
.pdf-stamper-panel .panel-head{background:linear-gradient(135deg,#f1fbfa,#fff)}
.privacy-badge{display:inline-flex;align-items:center;gap:6px;background:#ecfdf3;color:#067647;border:1px solid #abefc6;border-radius:99px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.pdf-stamp-form{padding:20px;display:flex;flex-direction:column;gap:16px}
.pdf-drop-field{border:2px dashed #9cc9c5;border-radius:14px;background:#f7fcfb;padding:18px;display:flex;flex-direction:column;gap:8px}
.pdf-drop-field>label,.pdf-stamp-options>label{font-size:13px;font-weight:800;color:#344054;display:flex;flex-direction:column;gap:7px}
.pdf-drop-field input[type=file]{background:#fff;border-color:#b9d9d5}
.pdf-files-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.pdf-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:1px solid #d7e4e2;border-radius:8px;background:#fff;font-size:12px}.pdf-file-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-file-row span{color:var(--muted);white-space:nowrap}.pdf-file-row.done{border-color:#86d7ad;background:#f0fdf5}.pdf-file-row.error{border-color:#f3a3a3;background:#fff3f3}
.pdf-stamp-options{display:grid;grid-template-columns:1.35fr repeat(4,minmax(135px,1fr));gap:12px;align-items:end}
.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) 42px;direction:ltr}
.input-with-unit input{border-radius:9px 0 0 9px;text-align:center}
.input-with-unit span{display:grid;place-items:center;background:#f2f4f7;border:1px solid #cfd6df;border-left:0;border-radius:0 9px 9px 0;color:#475467;font-size:12px;font-weight:800}
.selected-stamp-preview{display:flex;align-items:center;gap:14px;background:#fbfcfd;border:1px solid var(--line);border-radius:12px;padding:12px}
.selected-stamp-preview img{width:100px;height:78px;object-fit:contain;background:linear-gradient(45deg,#f4f6f8 25%,transparent 25%),linear-gradient(-45deg,#f4f6f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f4f6f8 75%),linear-gradient(-45deg,transparent 75%,#f4f6f8 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;border:1px solid var(--line);border-radius:9px;padding:6px}
.selected-stamp-preview strong,.selected-stamp-preview small{display:block}.selected-stamp-preview small{margin-top:5px;direction:ltr;text-align:right}
.pdf-stamp-status{min-height:24px;padding:0 2px;font-size:13px;font-weight:700;color:#475467}
.pdf-stamp-status.working{color:#175cd3}.pdf-stamp-status.success{color:#067647}.pdf-stamp-status.error{color:#b42318}.pdf-stamp-status.warning{color:#b54708}
.pdf-stamp-button{width:100%;min-height:48px;font-size:15px;background:#067647;color:#fff}.pdf-stamp-button:hover{background:#05603a}.pdf-stamp-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.stamp-management-heading{margin:12px 0 18px}.stamp-management-heading h2{margin:3px 0 5px;font-size:26px}
.read-only .pdf-stamper-panel input,.read-only .pdf-stamper-panel select{pointer-events:auto;background:#fff;color:var(--text)}
@media(max-width:1200px){.pdf-stamp-options{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:850px){.pdf-stamper-panel .panel-head{align-items:flex-start}.pdf-stamp-options{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:520px){.pdf-stamp-options{grid-template-columns:1fr}.privacy-badge{white-space:normal}.selected-stamp-preview{align-items:flex-start}.selected-stamp-preview img{width:84px;height:68px}}
.selected-stamp-preview[hidden]{display:none!important}

/* Dashboard charts (donut / trend / horizontal bars) ------------------------ */
.chart-pad{padding:18px}
.chart-donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.chart-donut-holder{position:relative;flex:0 0 auto}
.chart-donut{display:block}
.chart-donut-seg{transition:opacity .15s ease}
.chart-donut-seg:hover{opacity:.78}
.chart-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.chart-donut-center strong{font-size:22px;font-variant-numeric:tabular-nums;color:var(--text)}
.chart-donut-center small{color:var(--muted);font-size:11px}
.chart-legend{display:flex;flex-direction:column;gap:9px;flex:1;min-width:160px}
.chart-legend.inline{flex-direction:row;flex-wrap:wrap;gap:16px;padding:6px 4px 0}
.chart-legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#344054}
.chart-legend.inline .chart-legend-item{gap:7px}
.chart-legend-item b{margin-inline-start:auto;font-variant-numeric:tabular-nums;color:var(--text)}
.chart-legend-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto;display:inline-block}
.chart-legend-dot.bar{background:var(--primary)}
.chart-legend-dot.line{background:#e0693e;border-radius:50%}
.chart-trend{overflow:visible}
.chart-trend-bar{fill:var(--primary);opacity:.85;transition:opacity .15s ease}
.chart-trend-bar:hover{opacity:1}
.chart-trend-line{stroke:#e0693e;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.chart-trend-dot{fill:#e0693e;stroke:#fff;stroke-width:1.5;transition:r .15s ease}
.chart-trend-dot:hover{r:6}
.chart-trend-axis{fill:var(--muted);font-size:10.5px}
.hbar-row{padding:10px 0;border-bottom:1px solid var(--line)}
.hbar-row:last-child{border-bottom:0}
.hbar-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:#344054;margin-bottom:6px}
.hbar-label b{font-variant-numeric:tabular-nums}
.hbar-track{height:9px;background:#edf1f5;border-radius:99px;overflow:hidden}
.hbar-track span{display:block;height:100%;background:linear-gradient(90deg,#145c57,#2e90fa);border-radius:99px;min-width:2px}
.hbar-row.negative .hbar-track span{background:linear-gradient(90deg,#b42318,#e0693e)}
.hbar-sub{display:block;color:var(--muted);margin-top:5px;font-size:11px}

/* Save status indicator + quick-nav helpers ---------------------------------- */
.save-status{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:0 4px}
.save-status .dot{width:7px;height:7px;border-radius:50%;background:#98a2b3}
.save-status.saving .dot{background:#f79009;animation:pulse-dot 1s ease-in-out infinite}
.save-status.saved .dot{background:#12b76a}
.save-status.error .dot{background:#b42318}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
.recent-projects{padding:0 0 10px;margin-bottom:6px;border-bottom:1px dashed var(--line)}
.recent-projects-label{font-size:11px;color:var(--muted);font-weight:800;margin:10px 2px 6px}
.recent-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.recent-chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:5px 10px;font-size:11.5px;color:#344054}
.recent-chip:hover{border-color:#9cc9c5;background:#f5fbfa}

/* Approved-price suggestion (selectable/copyable, not just a placeholder) --- */
.approved-cell{display:flex;flex-direction:column;gap:3px;align-items:stretch}
.suggested-price{font-size:10.5px;color:var(--muted);white-space:nowrap;cursor:text}
.suggested-price .copyable-number{color:#344054;font-variant-numeric:tabular-nums;user-select:all}

/* 2026 offer identity refresh */
:root{--brand-navy:#263746;--brand-gold:#f5a313;--brand-blue:#365ca9;--brand-soft:#fff7e7}.topbar{background:linear-gradient(105deg,var(--brand-navy),#334d63 58%,#3f6380)!important;border-bottom:3px solid var(--brand-gold)}.brand-mark{background:linear-gradient(145deg,var(--brand-gold),#ffc454)!important;color:#263746!important;box-shadow:0 5px 14px #0003}.workspace-head{background:linear-gradient(120deg,#fff,#fffaf0);border-radius:16px;padding:16px;border:1px solid #eee2ca}.kpi-grid .kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e3e8ee;box-shadow:0 8px 20px rgba(38,55,70,.07)}.kpi-grid .kpi:before{content:"";position:absolute;top:0;right:0;width:100%;height:4px;background:linear-gradient(90deg,var(--brand-gold),var(--brand-blue))}.kpi-grid .kpi strong{color:var(--brand-navy)}.panel{border-color:#e1e7ed!important;box-shadow:0 8px 25px rgba(31,45,58,.055)}.panel-head h2,.project-details summary{color:var(--brand-navy)}.btn-warning{background:var(--brand-gold)!important;border-color:var(--brand-gold)!important;color:#263746!important;font-weight:700}.btn-primary{background:#365c79!important;border-color:#365c79!important}.data-table thead th{background:linear-gradient(180deg,#334b5f,#263746)!important;color:#fff!important}.data-table tfoot th,.data-table tfoot td{background:#fff7e7!important}

/* Improve totals row readability */
.data-table tfoot th,.data-table tfoot td{
  background:#fff4dc!important;
  color:#263746!important;
  font-weight:800!important;
}
.data-table tfoot th *,.data-table tfoot td *{color:#263746!important}

/* Global typography: Cairo across the entire application */
:root{--app-font:'Cairo',Tahoma,'Segoe UI',Arial,sans-serif;--bs-font-sans-serif:var(--app-font);--bs-body-font-family:var(--app-font)}
html,body,button,input,select,textarea,option,optgroup,label,table,th,td,a,p,span,div,h1,h2,h3,h4,h5,h6,small,strong,b,dialog{font-family:var(--app-font)!important}
::file-selector-button{font-family:var(--app-font)!important}

/* Etimad integration */
.btn-etimad{background:#0f766e!important;border-color:#0f766e!important;color:#fff!important;font-weight:800;white-space:nowrap}.btn-etimad:hover{background:#115e59!important;border-color:#115e59!important}.btn-etimad:disabled{opacity:.65;cursor:wait}.reference-fetch-field{grid-column:1/-1}.reference-fetch-row{display:flex;gap:8px;align-items:center}.reference-fetch-row input{flex:1;min-width:0}.panel-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media(max-width:680px){.reference-fetch-row{flex-direction:column;align-items:stretch}.reference-fetch-row .btn{width:100%}}


/* Compact, balanced interface + competition countdown ----------------------- */
:root{--ui-card-radius:10px}
.project-card{border-radius:var(--ui-card-radius);padding:8px 10px}
.project-list{gap:6px;margin-top:10px}
.project-card strong{font-size:12.5px;font-weight:600;line-height:1.45}
.project-card small{font-size:10.5px;margin-top:4px}
.sidebar{padding:14px}
.sidebar-head h2{font-size:18px;font-weight:700}
.search-input{margin:10px 0 7px;padding:8px 10px}
.workspace{padding:18px}
.workspace-head{padding:12px 14px!important;border-radius:12px!important;margin-bottom:12px}
.workspace-head h1{font-size:22px;font-weight:700;margin:1px 0 4px}
.eyebrow{font-weight:600}
.kpi-grid{gap:8px;margin-bottom:12px}
.kpi,.kpi-grid .kpi{border-radius:var(--ui-card-radius);padding:10px 12px;box-shadow:0 3px 10px rgba(38,55,70,.045)}
.kpi-grid .kpi:before{height:3px}
.kpi span,.kpi small{font-size:10.5px}
.kpi strong{font-size:18px;font-weight:700;margin:4px 0 1px}
.panel{border-radius:11px;margin-bottom:12px;box-shadow:0 4px 14px rgba(31,45,58,.045)}
.panel>summary{padding:11px 14px;font-weight:700;font-size:13px}
.panel-head{padding:11px 14px}
.panel-head h2{font-size:17px;font-weight:700;margin:0}
.panel-head p{font-size:11.5px}
.project-details form{padding:14px}
.form-grid{gap:9px}
.form-grid label,.stack-form label,.modal-card>label{font-size:12px;font-weight:600;gap:4px}
input,select,textarea,.search-input{padding:8px 9px;border-radius:8px;font-size:12.5px}
.btn{padding:7px 10px;font-size:12px;font-weight:600;border-radius:8px}
.badge{padding:4px 8px;font-size:11px;font-weight:600}
.quick-add{padding:9px 14px}
.data-table th,.data-table td{padding:6px 7px}
.data-table thead th{font-weight:600}
.data-table tfoot th,.data-table tfoot td{font-weight:700!important}
.mini-btn{padding:5px 7px;font-size:10.5px}

.deadline-badge{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;padding:6px 10px;border-radius:9px;font-size:11px;border:1px solid #dfe4ea;background:#f8fafc;color:#475467}
.deadline-badge .deadline-label{font-weight:600;color:#667085}
.deadline-badge strong{font-size:13px;font-weight:700;color:#263746}
.deadline-badge .deadline-date{padding-inline-start:7px;border-inline-start:1px solid #d0d5dd;color:#667085}
.deadline-badge.urgent{background:#fff8ed;border-color:#fed7aa;color:#b54708}
.deadline-badge.urgent strong{color:#b54708}
.deadline-badge.expired{background:#fff5f4;border-color:#fecdca;color:#b42318}
.deadline-badge.expired strong{color:#b42318}

/* Dashboard cards use the same compact rhythm */
.dashboard-shell{padding:18px}
.dashboard-heading h1{font-size:25px;font-weight:700}
.dashboard-kpis{gap:8px;margin:12px 0}
.metric-card{border-radius:var(--ui-card-radius);padding:11px 12px;box-shadow:0 3px 10px rgba(16,24,40,.04)}
.metric-card span,.metric-card small{font-size:10.5px}
.metric-card strong{font-size:19px;font-weight:700;margin:5px 0 1px}
.status-pill{font-weight:600}
.report-filters label{font-weight:600}
.report-table a{font-weight:600}

@media(max-width:850px){.workspace{padding:12px}.kpi-grid{gap:7px}.deadline-badge{align-items:flex-start}.deadline-badge .deadline-date{width:100%;padding-inline-start:0;border-inline-start:0}}


/* Jana Almaseef brand theme — derived from supplied logo ------------------- */
:root{
  --bg:#f5f6f7;--surface:#ffffff;--surface-2:#f8f9fa;--text:#34424d;--muted:#6b7780;
  --line:#d9dee2;--primary:#34424d;--primary-2:#202a31;--accent:#f2a41f;--accent-2:#d98a00;
  --danger:#b42318;--danger-bg:#fff1f0;--warning:#f2a41f;--success:#16855b;
  --shadow:0 10px 28px rgba(34,46,55,.09);--radius:12px;
  --bs-primary:#34424d;--bs-primary-rgb:52,66,77;--bs-link-color:#34424d;--bs-link-hover-color:#202a31;
}
html,body{background:var(--bg);color:var(--text)}
.topbar{background:linear-gradient(90deg,#0d1317 0%,#26343e 58%,#34424d 100%);border-bottom:3px solid var(--accent)}
.brand-mark{background:linear-gradient(145deg,#f7b238,#f2a41f 52%,#34424d 53%,#111 100%);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22)}
.topbar .btn-light{background:#34424d;color:#fff;border-color:#51606b}.topbar .btn-light:hover{background:#26343e;border-color:#f2a41f}
.btn-primary{background:#34424d;border-color:#34424d;color:#fff}.btn-primary:hover{background:#202a31;border-color:#202a31}
.btn-warning{background:#f2a41f!important;border-color:#f2a41f!important;color:#15191c!important}.btn-warning:hover{background:#d98a00!important;border-color:#d98a00!important}
.sidebar{background:#fff;border-inline-end:1px solid #d9dee2}.sidebar-head h2{color:#26343e}
.project-card:hover{border-color:#e7bd71;background:#fffaf0}.project-card.active{border-color:#f2a41f;background:#fff8e9;box-shadow:inset -4px 0 0 #f2a41f}
.eyebrow{color:#d98a00}.deadline-badge{background:#eef1f3;color:#34424d}
.kpi,.metric-card,.panel,.modal-card{border-color:#d9dee2;box-shadow:0 5px 18px rgba(52,66,77,.055)}
.kpi strong,.metric-card strong{color:#202a31}.panel>summary{background:#f7f8f9;color:#34424d}
.data-table thead th{background:#34424d;color:#fff;border-color:#52606a}.data-table tfoot th{background:#202a31;color:#fff}
.data-table tbody tr:hover{background:#fffaf1}.data-table tbody tr.dirty{background:#fff4d9}
.tabs button{background:#eef1f3;color:#4d5a64}.tabs button.active{background:#f2a41f;color:#15191c;font-weight:800}
.badge,.entity-list strong{background:#fff1cf;color:#8a5700}.mini-btn.primary{background:#fff7e5;border-color:#efc978;color:#805100}

/* B59: sortable dashboard tables and paginated audit history. */
.dashboard-page .data-table thead th:not([data-sort-disabled="true"]){cursor:pointer;user-select:none;position:relative;padding-inline-end:25px}
.dashboard-page .data-table thead th:not([data-sort-disabled="true"])::after{content:"⇅";position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);font-size:11px;opacity:.55}
.dashboard-page .data-table thead th[aria-sort="ascending"]::after{content:"▲";opacity:1;color:#ffd477}
.dashboard-page .data-table thead th[aria-sort="descending"]::after{content:"▼";opacity:1;color:#ffd477}
.dashboard-page .data-table thead th:focus-visible{outline:2px solid #f5a313;outline-offset:-3px}
.table-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:14px;border-top:1px solid var(--line);direction:rtl}
.table-pagination button{min-width:36px;height:34px;border:1px solid #c9d2da;border-radius:8px;background:#fff;color:#263746;font:700 12px Cairo,Tahoma,Arial,sans-serif;cursor:pointer}
.table-pagination button:hover:not(:disabled),.table-pagination button.active{background:#365c79;color:#fff;border-color:#365c79}
.table-pagination button:disabled{opacity:.45;cursor:not-allowed}
.table-pagination .page-summary{color:var(--muted);font-size:12px;margin-inline:6px}
.dashboard-page .panel-head>.badge{background:#fff1cf!important;color:#704600!important;border:1px solid #e6bd63!important;font-weight:800!important;text-shadow:none!important}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:#f2a41f;box-shadow:0 0 0 3px rgba(242,164,31,.18)}
.bar-track span{background:linear-gradient(90deg,#34424d,#f2a41f)}
.report-table a{color:#b36e00}.default-badge{background:#fff1cf;color:#805100}.stamp-card.default{border-color:#f2a41f;box-shadow:inset 0 0 0 1px #f2a41f}
.toast{background:#202a31;border-inline-start:4px solid #f2a41f}
.login-page{background:radial-gradient(circle at 15% 15%,rgba(242,164,31,.18),transparent 34%),linear-gradient(145deg,#f7f8f9,#eceff1)}

/* ========================================================================== */
/* Project workspace visual refresh — 2026-08-12                              */
/* Mirrors the approved compact dashboard mockup without changing logic.      */
/* ========================================================================== */
#projectWorkspace .workspace-head{
  display:grid!important;
  grid-template-columns:500px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:26px!important;
  align-items:stretch!important;
  min-height:255px;
  padding:20px 22px!important;
  margin-bottom:18px!important;
  background:linear-gradient(115deg,#ffffff 0%,#fffdf8 72%,#fffaf0 100%)!important;
  border:1px solid #ead9b8!important;
  border-radius:16px!important;
  box-shadow:0 5px 18px rgba(52,66,77,.045)!important;
}
#projectWorkspace .workspace-head>div:first-child{
  grid-column:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
  position:relative;
  padding:8px 0 0;
}
#projectWorkspace .workspace-head .eyebrow{
  width:100%;
  color:#d98a00!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.4;
  margin-bottom:11px;
}
#projectWorkspace #workspaceTitle{
  width:100%;
  min-height:112px;
  max-height:112px;
  overflow:hidden;
  margin:0!important;
  color:#34424d!important;
  font-size:20px!important;
  line-height:1.75!important;
  font-weight:500!important;
  letter-spacing:0!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  text-wrap:balance;
}
#projectWorkspace #deadlineBadge{
  margin-top:auto;
  margin-inline-start:auto;
  min-height:44px;
  max-width:100%;
  padding:8px 13px!important;
  border-radius:11px!important;
  background:#fffaf2!important;
  border:1px solid #f1c978!important;
  box-shadow:none!important;
  font-size:11.5px!important;
}
#projectWorkspace #deadlineBadge strong{color:#c46e00!important;font-size:13px!important}
#projectWorkspace .toolbar{
  grid-column:1;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:54px;
  align-content:start;
  gap:10px 12px!important;
  width:100%;
  min-width:0;
  padding:0;
}
#projectWorkspace .toolbar .save-status{
  grid-column:1/-1;
  min-height:34px;
  height:34px;
  justify-content:center;
  align-self:center;
  font-size:12px;
  color:#667085;
  white-space:nowrap;
}
#projectWorkspace .toolbar .btn{
  width:100%!important;
  height:54px;
  min-width:0;
  padding:9px 12px!important;
  border-radius:10px!important;
  font-size:12.5px!important;
  font-weight:600!important;
  justify-content:center!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:none!important;
  transform:none!important;
}
#projectWorkspace .toolbar .btn:hover{transform:translateY(-1px)!important}
#projectWorkspace #quotationLink{background:#365c79!important;border-color:#365c79!important;color:#fff!important}
#projectWorkspace #financialOfferLink{background:#f2a41f!important;border-color:#f2a41f!important;color:#15191c!important}
#projectWorkspace #tripCostsBtn{position:static!important;z-index:auto!important}
#projectWorkspace #deleteProjectBtn{background:#fff!important;color:#e1261c!important;border-color:#ffb8b3!important}
#projectWorkspace #deleteProjectBtn:hover{background:#fff5f4!important;border-color:#f97066!important}
#projectWorkspace #deleteProjectBtn{background:#c62828!important;color:#fff!important;border-color:#ef5350!important}
#projectWorkspace #deleteProjectBtn:hover{background:#a91f1f!important;color:#fff!important}
.system-footer{text-align:center;padding:10px;color:#718096;font-size:.82rem;border-top:1px solid #d7dee7}

/* Lightweight visual icons, no JS dependency. */
#projectWorkspace .toolbar .btn::before{font-size:16px;line-height:1;opacity:.9}
#projectWorkspace #quotationLink::before{content:"▣"}
#projectWorkspace #financialOfferLink::before{content:"▤"}
#projectWorkspace #pdfLink::before{content:"PDF";font-size:9px;font-weight:800;border:1px solid currentColor;border-radius:3px;padding:1px 2px}
#projectWorkspace #exportLink::before{content:"XLSX";font-size:8px;font-weight:800;border:1px solid currentColor;border-radius:3px;padding:1px 2px}
#projectWorkspace #pricingSheetPdfLink::before{content:"PDF";font-size:9px;font-weight:800;border:1px solid currentColor;border-radius:3px;padding:1px 2px}
#projectWorkspace #pricingSheetXlsxLink::before{content:"XLSX";font-size:8px;font-weight:800;border:1px solid currentColor;border-radius:3px;padding:1px 2px}
#projectWorkspace #pricingSheetWordLink::before{content:"DOCX";font-size:8px;font-weight:800;border:1px solid currentColor;border-radius:3px;padding:1px 2px}
#projectWorkspace #printLink::before{content:"⎙"}
#projectWorkspace #tripCostsBtn::before{content:"▰"}
#projectWorkspace #bulkPasteBtn::before{content:"▧"}
#projectWorkspace #deleteProjectBtn::before{content:"⌫"}

#projectWorkspace .kpi-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:16px!important;
}
#projectWorkspace .kpi-grid .kpi{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:14px 16px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #dfe4e8!important;
  box-shadow:0 3px 12px rgba(52,66,77,.035)!important;
}
#projectWorkspace .kpi-grid .kpi:before{height:3px!important;background:linear-gradient(90deg,#f2a41f 0%,#f2a41f 45%,#365ca9 100%)!important}
#projectWorkspace .kpi-grid .kpi span{font-size:11px!important;color:#53616c!important;font-weight:600}
#projectWorkspace .kpi-grid .kpi strong{font-size:22px!important;line-height:1.2;margin:9px 0 3px!important;font-weight:700!important;color:#34424d!important}
#projectWorkspace .kpi-grid .kpi small{font-size:10.5px!important;color:#d98a00!important;font-weight:600}
#projectWorkspace .kpi-grid .kpi:nth-child(1) small{color:#1267c4!important}
#projectWorkspace .kpi-grid .kpi:nth-child(2) small{color:#1c9b4d!important}
#projectWorkspace .kpi-grid .kpi:nth-child(4) small{color:#673ab7!important}
#projectWorkspace .kpi-grid .kpi:nth-child(5) small{color:#0891a8!important}

@media(max-width:1250px){
  #projectWorkspace .workspace-head{grid-template-columns:390px minmax(0,1fr)!important;gap:18px!important}
  #projectWorkspace #workspaceTitle{font-size:18px!important}
}
@media(max-width:980px){
  #projectWorkspace .workspace-head{display:flex!important;flex-direction:column!important;min-height:0}
  #projectWorkspace .workspace-head>div:first-child{order:1;width:100%}
  #projectWorkspace .toolbar{order:2;grid-template-columns:repeat(2,minmax(0,1fr))}
  #projectWorkspace #workspaceTitle{min-height:auto;max-height:none;-webkit-line-clamp:unset}
  #projectWorkspace .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  #projectWorkspace .toolbar{grid-template-columns:1fr}
  #projectWorkspace .toolbar .save-status{grid-column:auto}
  #projectWorkspace .kpi-grid{grid-template-columns:1fr!important}
}

/* ========================================================================== */
/* Space-efficient shell + collapsible projects sidebar — 2026-08-12          */
/* ========================================================================== */
:root{--sidebar-w:318px;--topbar-h:64px}
.topbar{min-height:var(--topbar-h);height:var(--topbar-h);padding:8px 18px!important;gap:12px;position:sticky;top:0;z-index:60}
.sidebar-top-toggle{order:99;flex:0 0 auto;width:46px;height:46px;border:0;border-radius:10px;background:#f2a41f;color:#fff;font-size:25px;line-height:1;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.16);cursor:pointer;transition:.18s ease}
.sidebar-top-toggle:hover{transform:translateY(-1px);background:#e89408}
.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)!important;transition:grid-template-columns .24s ease;min-height:calc(100vh - var(--topbar-h))}
.sidebar{width:var(--sidebar-w);top:var(--topbar-h)!important;height:calc(100vh - var(--topbar-h))!important;position:sticky!important;overflow:auto;transition:width .24s ease,transform .24s ease,opacity .18s ease;padding:14px 12px 14px!important;z-index:35}
.sidebar-edge-toggle{position:fixed;top:50%;transform:translateY(-50%);inset-inline-start:calc(var(--sidebar-w) - 1px);width:34px;height:74px;border:1px solid #f2a41f;border-inline-start:0;border-radius:10px 0 0 10px;background:#fff;color:#263746;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:55;box-shadow:-3px 3px 12px rgba(38,55,70,.09);transition:inset-inline-start .24s ease,background .18s ease}
.sidebar-edge-toggle:hover{background:#fff8e9}
body.sidebar-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)!important}
body.sidebar-collapsed .sidebar{width:0!important;min-width:0!important;padding-left:0!important;padding-right:0!important;border:0!important;overflow:hidden!important;opacity:0;pointer-events:none}
body.sidebar-collapsed .sidebar>*:not(.sidebar-edge-toggle){visibility:hidden}
body.sidebar-collapsed .sidebar-edge-toggle{visibility:visible!important;pointer-events:auto;inset-inline-start:0;border-inline-start:1px solid #f2a41f;border-radius:0 10px 10px 0;opacity:1}
.workspace{padding:16px 18px!important;transition:padding .2s ease}

/* Use the header card efficiently: compact actions on left, project data on right. */
#projectWorkspace .workspace-head{grid-template-columns:minmax(360px,420px) minmax(0,1fr)!important;gap:18px!important;min-height:208px!important;padding:16px 18px!important;margin-bottom:12px!important}
#projectWorkspace .workspace-head>div:first-child{padding:2px 0 0!important;justify-content:flex-start}
#projectWorkspace .workspace-head .eyebrow{font-size:11.5px!important;margin-bottom:6px!important}
#projectWorkspace #workspaceTitle{min-height:84px!important;max-height:84px!important;font-size:18px!important;line-height:1.62!important;font-weight:500!important;-webkit-line-clamp:3!important;text-wrap:pretty}
#projectWorkspace #deadlineBadge{margin-top:10px!important;min-height:40px!important;padding:7px 11px!important;font-size:11px!important}
#projectWorkspace .toolbar{grid-auto-rows:48px!important;gap:8px 10px!important;align-content:start!important}
#projectWorkspace .toolbar .save-status{height:28px!important;min-height:28px!important;font-size:11px!important}
#projectWorkspace .toolbar .btn{height:48px!important;padding:7px 10px!important;font-size:12px!important;border-radius:9px!important}
#projectWorkspace .kpi-grid{gap:8px!important;margin-bottom:12px!important}
#projectWorkspace .kpi-grid .kpi{min-height:100px!important;padding:11px 13px!important}
#projectWorkspace .kpi-grid .kpi strong{font-size:20px!important;margin:7px 0 2px!important}

/* Denser project list without reducing readability. */
.sidebar-head{position:sticky;top:-14px;background:#fff;padding:10px 0 8px;z-index:4}
.sidebar .search-input{margin:8px 0 7px!important;padding:9px 10px!important}
.sidebar #projectStatusFilter{padding:9px 10px!important}
.project-list{gap:7px!important;margin-top:10px!important}
.project-card{padding:9px 10px!important;border-radius:10px!important}
.project-card strong{font-size:12px!important;line-height:1.45!important}

@media(max-width:1100px){
  :root{--sidebar-w:286px}
  #projectWorkspace .workspace-head{grid-template-columns:minmax(320px,360px) minmax(0,1fr)!important}
  #projectWorkspace #workspaceTitle{font-size:17px!important}
}
@media(max-width:850px){
  .topbar{height:auto;min-height:var(--topbar-h)}
  .app-shell{display:block!important}
  .sidebar{position:fixed!important;inset-block-start:var(--topbar-h);inset-inline-end:0;width:min(86vw,330px)!important;height:calc(100vh - var(--topbar-h))!important;box-shadow:-12px 0 28px rgba(38,55,70,.14)}
  .sidebar-edge-toggle{display:none!important}
  body.sidebar-collapsed .sidebar{transform:translateX(110%);width:min(86vw,330px)!important;opacity:0}
  .workspace{padding:12px!important}
  #projectWorkspace .workspace-head{display:flex!important;min-height:0!important;padding:14px!important}
  #projectWorkspace #workspaceTitle{min-height:auto!important;max-height:none!important;-webkit-line-clamp:unset!important}
}
/* Appearance switcher */
.theme-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.theme-toggle>span[aria-hidden="true"]{font-size:17px;line-height:1}
body>.theme-toggle{position:fixed;top:18px;left:18px;z-index:1000;width:auto;padding:8px 12px;box-shadow:0 6px 22px rgba(15,23,42,.16)}

html[data-theme="dark"]{
  --ui-bg:#101820;--ui-card:#18232d;--ui-border:#344451;--ui-text:#e7edf2;--ui-muted:#9eabb7;
  color-scheme:dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] body.app-page,
html[data-theme="dark"] .app-shell{background:#101820!important;color:#e7edf2!important}
html[data-theme="dark"] .workspace,
html[data-theme="dark"] .single-page,
html[data-theme="dark"] .settings-shell{background:#101820!important}
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .asset-card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] dialog,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .workspace-head{background:#18232d!important;color:#e7edf2!important;border-color:#344451!important}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:#111b23!important;color:#eef3f6!important;border-color:#3a4a57!important}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#82919e!important}
html[data-theme="dark"] .data-table,
html[data-theme="dark"] .table{--bs-table-bg:#18232d;--bs-table-color:#e7edf2;--bs-table-border-color:#344451;--bs-table-hover-bg:#22313d;--bs-table-hover-color:#fff}
html[data-theme="dark"] .data-table th,
html[data-theme="dark"] .table th{background:#22313d!important;color:#f2f5f7!important}
html[data-theme="dark"] .project-card,
html[data-theme="dark"] .toolbar,
html[data-theme="dark"] .quick-add,
html[data-theme="dark"] .asset-preview{background:#202d38!important;border-color:#344451!important;color:#e7edf2!important}
html[data-theme="dark"] .muted,
html[data-theme="dark"] .hint,
html[data-theme="dark"] small{color:#9eabb7!important}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] strong,
html[data-theme="dark"] label{color:#eef3f6}
html[data-theme="dark"] .btn-light{background:#263642!important;border-color:#415463!important;color:#f4f7f9!important}
html[data-theme="dark"] .btn-light:hover{background:#304452!important;border-color:#536978!important}
html[data-theme="dark"] hr{border-color:#344451}

@media(max-width:700px){.theme-toggle-label{display:none}body>.theme-toggle{width:42px;height:42px;padding:0}}
/* حقول الأرقام: إدخال نظيف بدون أسهم الزيادة والنقصان في جميع المتصفحات. */
input[type="number"]{
    appearance:textfield;
    -moz-appearance:textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
    -webkit-appearance:none;
    appearance:none;
    margin:0;
}

/* سحب وترتيب بنود التسعير والتكاليف. */
.order-cell{white-space:nowrap;text-align:center}
.drag-handle{
    border:1px solid #9aabb8;
    background:#eef3f6;
    color:#334957;
    border-radius:7px;
    min-width:28px;
    min-height:30px;
    padding:2px 7px;
    margin-inline-end:6px;
    cursor:grab;
    font-weight:900;
    line-height:1;
    touch-action:none;
}
.drag-handle:active{cursor:grabbing}
.drag-field{display:flex;align-items:center;gap:6px;min-width:220px}
.drag-field input{flex:1;min-width:0}
tr.dragging-row{opacity:.48;outline:2px dashed #f7a91b;outline-offset:-2px}
#costTabs button.drag-target{background:#f7a91b!important;color:#13232d!important;box-shadow:0 0 0 3px rgba(247,169,27,.28)}
html[data-theme="dark"] .drag-handle{background:#223642;border-color:#607888;color:#f4f7f9}
.import-total-warning td{background:#fff8e6!important;color:#7a4b00!important}
html[data-theme="dark"] .import-total-warning td{background:#382b12!important;color:#ffd98a!important}
