*{box-sizing:border-box}body{margin:0;background:#f3f5f3;color:#18332e;font:16px Tahoma,Arial,sans-serif}header{background:#123f39;color:white;padding:24px 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:20px;align-items:center;font-size:32px;font-weight:bold}.brand span{font-size:22px}.brand small{display:block;font-size:12px;font-weight:normal;margin-top:9px;color:#c7dbd5}main{max-width:1200px;margin:35px auto;padding:0 20px}h1{font-size:28px}h2{font-size:21px}p{line-height:1.8;color:#5a716b}.card{background:white;border:1px solid #dce5e0;border-radius:15px;padding:26px;margin-bottom:22px}.login{max-width:460px;margin:60px auto}label{display:block;font-size:14px;margin:16px 0 7px}input,select,button{font:inherit;border-radius:7px;padding:11px 13px}input,select{width:100%;border:1px solid #b9cbc3;background:white}input[type=checkbox]{width:auto}button{border:0;background:#17624e;color:white;cursor:pointer}button:hover{background:#104a3b}button.secondary{background:#e6efea;color:#234c40}button:disabled{opacity:.5}form>button{margin-top:20px}nav{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}nav button{background:white;color:#234c40;border:1px solid #c6d7ce}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.metric strong{font-size:30px;display:block;margin-top:14px}.table{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:right}th,td{padding:15px;border-bottom:1px solid #e2eae5;font-size:14px}th{color:#667e74;background:#f8faf8}td button{padding:6px 12px}.badge{display:inline-block;padding:5px 10px;background:#e6f3ec;border-radius:20px;font-size:12px}#notice:not(:empty){margin:18px auto;padding:15px 22px;max-width:1160px;background:#fff0cf;border-radius:8px;color:#624711}.checklist{display:flex;gap:20px;flex-wrap:wrap}.checklist label{padding:10px;background:#f1f6f2;border-radius:7px}.actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.muted{color:#75867e;font-size:13px}code{overflow-wrap:anywhere;direction:ltr;display:block}a{color:#145f4c}@media(max-width:600px){header{padding:20px}.brand span{font-size:17px}.brand small{max-width:210px;line-height:1.8}.card{padding:18px}main{padding:0 12px}}
nav button:hover{color:white}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd923d;outline-offset:3px}
/* Palette drawn from the supplied company logo. */
:root{--brand-teal:#317f8e;--brand-mint:#79cec1;--brand-purple:#70418c;--brand-pink:#d60068;--brand-gold:#dcc780;--ink:#27343e}
body{background:#f5f7f9;color:var(--ink)}
header{position:relative;background:white;color:var(--ink);padding:20px 5% 24px;gap:24px;border-bottom:1px solid #e1e6eb}
header::after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(to left,var(--brand-mint) 0 25%,var(--brand-teal) 25% 50%,var(--brand-gold) 50% 65%,var(--brand-purple) 65% 83%,var(--brand-pink) 83% 100%)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.brand-logo{display:block;width:350px;max-width:100%;height:auto;object-fit:contain}.brand small{color:#606c78;font-size:12px;margin:0;font-weight:normal}
button{background:var(--brand-teal)}button:hover{background:#245e6a}button.secondary{background:#eaf3f5;color:#245e6a}#logout{flex-shrink:0;background:#f2edf6;color:var(--brand-purple);border:1px solid #e1d5eb}#logout:hover{background:#e6d9ef}
nav button{color:#315665;border-color:#d8e3e8}nav button:hover{background:var(--brand-teal);color:white}
.card{border-color:#e0e6ec;box-shadow:0 4px 18px #27343e04}.metric{border-top:3px solid var(--brand-teal)}.metric:nth-child(2){border-top-color:var(--brand-purple)}.metric:nth-child(3){border-top-color:var(--brand-pink)}.metric strong{color:var(--brand-teal)}.metric:nth-child(2) strong{color:var(--brand-purple)}.metric:nth-child(3) strong{color:var(--brand-pink)}
.login{border-top:4px solid var(--brand-teal)}.badge{background:#e2f3ef;color:#28645d}p{color:#586875}.muted{color:#667581}input,select{border-color:#c6d4db}input[type=checkbox]{accent-color:var(--brand-teal)}th{background:#f0f5f7;color:#46616c}td,th{border-bottom-color:#e3e9ef}.checklist label{background:#eef5f6}a{color:#246b7b}button:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--brand-purple)}
@media(max-width:600px){header{padding:16px 16px 22px;gap:12px;flex-wrap:wrap}.brand{flex:1 1 210px}.brand-logo{width:290px}.brand small{font-size:11px;max-width:none}#logout{padding:9px 12px;font-size:13px}.grid{grid-template-columns:minmax(0,1fr)}}
textarea{font:inherit;width:100%;resize:vertical;border:1px solid #c6d4db;border-radius:7px;padding:12px;line-height:1.7}textarea:focus-visible{outline:3px solid var(--brand-purple);outline-offset:3px}.button-group,.version-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.filter-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:25px}.filter-form label{margin:0}.filter-form>button{margin:0}.cell-note{display:block;color:#667581;margin-top:7px}.progress-line{display:flex;align-items:center;gap:12px;min-width:130px;margin:14px 0}progress{width:100%;height:10px;accent-color:var(--brand-teal);border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#e7eff1}progress::-webkit-progress-value{background:var(--brand-teal)}.project-facts{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:#586875;margin-top:20px}.workflow-item{border:1px solid #e0e6ec;border-right:4px solid var(--brand-teal);border-radius:10px;padding:20px;margin:16px 0}.workflow-item h3{font-size:17px;line-height:1.7}.workflow-item.late{border-right-color:var(--brand-pink)}.workflow-item.done{border-right-color:#4b9b78}.requirement-chips{display:flex;gap:8px;flex-wrap:wrap}.requirement-chips span{background:#f5eef8;padding:5px 9px;color:#70418c;border-radius:5px;font-size:12px}.inline-editor{padding:20px;background:#f3f7f9;border-radius:10px;margin:20px 0}.template-item{padding:18px;border:1px solid #dfe5eb;border-radius:10px;margin:14px 0}.template-item summary{cursor:pointer;font-weight:bold;line-height:1.8}.template-item summary .badge{margin-inline-start:12px}.publish-box{padding:20px;background:#f5f0e1;border-radius:10px;margin-top:20px}.event{border-right:2px solid #79cec1;padding:10px 18px;margin:15px 0}.event small{display:block;color:#667581;margin-top:8px}.event p{margin:8px 0;font-size:14px}.pre-wrap{white-space:pre-wrap}.empty-state{padding:35px;text-align:center}h3{overflow-wrap:anywhere}@media(max-width:700px){.filter-form{grid-template-columns:1fr}.workflow-item{padding:14px}.inline-editor{padding:14px}.project-facts{flex-direction:column;gap:12px}.template-item{padding:12px}.version-tabs button{font-size:13px}}
 .finance-metrics{margin:24px 0}.finance-metrics>div{padding:18px;border-radius:10px;background:#f0f6f7}.finance-metrics strong{display:block;margin-top:12px;color:var(--brand-teal);font-size:23px;overflow-wrap:anywhere}.finance-metrics span{font-size:13px;color:#586875}.installments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:20px 0}.installment-card{padding:20px;border:1px solid #e0e6ec;border-top:3px solid var(--brand-purple);border-radius:12px}.installment-card>strong{color:var(--brand-purple);font-size:22px}.installment-card p{font-size:14px}.finance-history{border-top:1px solid #e0e6ec;padding:18px 0}.finance-history summary{cursor:pointer;font-weight:bold}@media(max-width:600px){.installments-grid{grid-template-columns:minmax(0,1fr)}}
[hidden]{display:none!important}
.dashboard-metrics .metric{color:#245463;background:white;text-align:right;border:1px solid #d8e5e7;cursor:pointer;font:inherit}
.dashboard-metrics .metric strong{display:block;font-size:2rem;color:#317f8e}
.dashboard-metrics .metric.selected{border:2px solid #317f8e;background:#eef9f7}
.workflow-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1rem 0}
.reason-field{margin-block:1rem}.reason-field select{width:100%}
.button-link{display:inline-block;padding:.75rem 1rem;border-radius:10px;background:#317f8e;color:white;text-decoration:none}
@media print{nav,button,form,.workflow-filters,#notice,#logout,.button-group{display:none!important}body{background:white!important;font-size:11pt}main{max-width:none!important;padding:0!important}.card{box-shadow:none!important;break-inside:avoid;border-color:#ccc!important}.table{overflow:visible!important}table{min-width:0!important;width:100%!important}header{position:static!important}.workflow-item[hidden]{display:block!important}.workflow-list{display:block!important}.brand-logo{max-width:350px!important}a{color:black;text-decoration:none}}
.task-overdue{background:#fff0f1}.task-overdue td:first-child{border-right:4px solid #c4374b}.task-soon{background:#fff8e7}.task-soon td:first-child{border-right:4px solid #c68c22}
@media screen and (max-width:600px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-metrics .metric{padding:15px;margin-bottom:0;font-size:13px}.dashboard-metrics .metric strong{font-size:25px;margin-top:8px}.dashboard-metrics{margin-bottom:20px}.dashboard-table{overflow:visible}.dashboard-table table,.dashboard-table tbody{display:block;min-width:0;width:100%;white-space:normal}.dashboard-table thead{display:none}.dashboard-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8e5e7;border-radius:10px;padding:12px;margin:12px 0;gap:8px}.dashboard-table td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}.dashboard-table td:first-child{grid-column:1/-1;border:0}.dashboard-table td:nth-child(2)::before{content:'المشروع: ';color:#74818a}.dashboard-table td:nth-child(3){font-size:12px}.dashboard-table td:nth-child(4)::before{content:'الموعد: ';color:#74818a}.dashboard-table td:last-child{grid-column:1/-1}.dashboard-table td button{width:100%;padding:10px}}
.notification-card{border:1px solid #d9e6e8;border-right:4px solid #317f8e;border-radius:10px;padding:18px;margin:16px 0}.notification-card.is-read{border-right-color:#bdccd0;background:#f8fafb}.notification-card h3{margin:12px 0}
.date-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.date-field>button{margin-bottom:7px;background:#e9f3f4;color:#245965}.date-picker{width:min(430px,calc(100% - 24px));max-height:90vh;overflow:auto;border:1px solid #bcd7db;border-radius:16px;padding:22px;color:#243f49;background:white;box-shadow:0 16px 70px #163b4b44}.date-picker::backdrop{background:#102d4277}.date-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-selectors label{margin-top:0}.date-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0}.date-navigation button{padding:8px}.date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.date-days button{padding:10px 0;background:#f0f6f7;color:#275766}.date-days button[aria-pressed=true]{background:#317f8e;color:white}.date-days button[aria-current=date]{outline:2px solid #70418c;outline-offset:-2px}.date-weekday{font-size:11px;padding:8px 0}.date-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.date-picker button:focus-visible,.date-picker select:focus-visible{outline:3px solid #70418c;outline-offset:2px}

label:has(input:required):not(:has(input[hidden]))::before,label:has(select:required)::before,label:has(textarea:required)::before{content:'* ';color:#b42336;font-weight:bold}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b42336!important;background:#fff7f7!important}
.field-error{display:block;color:#a3182b;font-size:13px;line-height:1.6;margin-top:6px;white-space:normal}
@media print{.field-error{display:none}}
.report-project-options {max-height:280px;overflow:auto;padding:12px}.report-project-options input{width:auto}.report-overdue{color:#b42318;background:#fff5f4}.work-report-project{margin-block:20px}.work-report-project td{vertical-align:top}.work-report-project td:nth-child(3),.work-report-project td:nth-child(5){white-space:nowrap}
@media print {
 @page workreport {size:A4 landscape;margin:14mm}
 body.printing-work-report {page:workreport;background:white}
 body.printing-work-report header,body.printing-work-report nav,body.printing-work-report .report-controls,body.printing-work-report .report-print-excluded{display:none!important}
 body.printing-work-report main> :not(#work-report){display:none!important}
 body.printing-work-report #work-report{width:100%;max-width:none;border:0;padding:0;break-inside:auto;box-shadow:none}
 body.printing-work-report .table{overflow:visible}
 body.printing-work-report table{width:100%;font-size:10pt;table-layout:auto}
 body.printing-work-report thead{display:table-header-group}
 body.printing-work-report tr{break-inside:avoid}
 body.printing-work-report h3{break-after:avoid}
 body.printing-work-report .work-report-project{break-inside:auto}
}

.date-conversion-hint{grid-column:1/-1}.date-conversion-hint{font-size:11px;color:#61727a}.installment-card:has(#finance-editor){grid-column:1/-1}

.portal-contract-body{white-space:pre-wrap;font:inherit;line-height:1.9}

.quote-project-services{grid-column:1/-1;min-width:0;border:1px solid #ded2e3;border-radius:12px;padding:16px}.quote-price-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:end;border-bottom:1px solid #e8dfeb;padding:8px 0}.quote-price-row button{margin-bottom:8px}@media(max-width:600px){.quote-price-row{grid-template-columns:minmax(0,1fr)}.quote-price-row button{justify-self:start}}
