:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#718096;--primary:#0f766e;--primary2:#115e59;--danger:#b42318;--success:#067647;--warning:#b54708;--border:#e4e9f1;--shadow:0 10px 30px rgba(20,34,66,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:255px;background:#102a3a;color:#fff;position:fixed;right:0;top:0;bottom:0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:22px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark,.login-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#14b8a6,#0f766e);display:grid;place-items:center;color:white;font-size:24px;font-weight:700}.brand strong,.brand small,.sidebar-user strong,.sidebar-user small{display:block}.brand small,.sidebar-user small{color:#a9c0cd;margin-top:5px;font-size:11px}.sidebar nav{padding:16px;overflow:auto;flex:1}.sidebar nav a{display:block;padding:12px 14px;color:#cbd8df;text-decoration:none;border-radius:10px;margin-bottom:5px}.sidebar nav a:hover,.sidebar nav a.active{background:#1d475d;color:#fff}.sidebar-user{padding:17px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.sidebar-user a{color:#ffb4ab;font-size:12px}.main{margin-right:255px;width:calc(100% - 255px)}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:10}.topbar h1{font-size:21px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:12px}.menu-btn{display:none;border:0;background:#eef2f6;padding:9px;border-radius:8px}.content{padding:26px;max-width:1600px;margin:auto}.alert{padding:13px 15px;border-radius:10px;margin-bottom:16px;border:1px solid}.alert-success{background:#ecfdf3;color:#067647;border-color:#abefc6}.alert-danger{background:#fef3f2;color:#b42318;border-color:#fecdca}.alert-warning{background:#fffaeb;color:#b54708;border-color:#fedf89}.alert-info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:var(--card);padding:20px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--border)}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:24px;margin:12px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.card-head{padding:17px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.card-head h2,.card-head h3{margin:0;font-size:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;text-align:right;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}th{background:#f8fafc;color:#526074;font-size:12px}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px;font-size:11px}.empty{text-align:center;color:var(--muted);padding:35px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:9px 14px;text-decoration:none;cursor:pointer;font-family:inherit;font-size:13px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-light{background:#eef2f6;color:#27364b}.btn-danger{background:#fef3f2;color:var(--danger)}.btn-success{background:#067647;color:#fff}.btn-block{width:100%}.actions{display:flex;gap:6px;align-items:center}.actions form,.invoice-actions form{display:inline}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px}.badge-success{background:#dcfae6;color:#067647}.badge-danger{background:#fee4e2;color:#b42318}.badge-info{background:#e0f2fe;color:#075985}.badge-warning{background:#fef0c7;color:#b54708}.badge-muted{background:#eef2f6;color:#526074}.progress{width:100px;height:7px;background:#e7edf3;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--primary)}.form-card form{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.invoice-bottom label,.date-filter label{display:flex;flex-direction:column;gap:7px;color:#445168;font-size:12px}.form-grid input,.form-grid select,.form-grid textarea,.search input,.items-box input,.items-box select,.date-filter input,.invoice-bottom textarea{width:100%;border:1px solid #ccd5df;border-radius:9px;padding:11px;background:#fff;font-family:inherit;color:var(--text)}textarea{min-height:90px;resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-start;padding-top:4px}.check-label{justify-content:flex-end;flex-direction:row!important;align-items:center}.check-label input{width:auto}.search,.date-filter{display:flex;gap:10px;align-items:flex-end}.search input{width:280px}.filters{display:flex;gap:7px}.filters a{padding:8px 11px;border-radius:8px;color:#526074;text-decoration:none}.filters a.active{background:#e5f5f3;color:var(--primary);font-weight:700}.items-box{margin:20px 0;border:1px solid var(--border);border-radius:13px;overflow:hidden}.items-box .card-head{background:#f8fafc}.items-box input,.items-box select{min-width:90px;padding:9px}.items-box td:first-child input{min-width:250px}.icon-btn{width:28px;height:28px;border:0;border-radius:50%;background:#fee4e2;color:#b42318;font-size:18px;cursor:pointer}.invoice-bottom{display:grid;grid-template-columns:1fr 380px;gap:25px}.totals{border:1px solid var(--border);border-radius:12px;overflow:hidden}.totals div{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.totals .grand{background:#102a3a;color:white;font-size:16px}.invoice-actions{display:flex;gap:9px;justify-content:flex-end;margin-bottom:15px}.hidden{display:none!important}.invoice-paper{background:#fff;border:1px solid var(--border);border-radius:12px;padding:40px;max-width:1100px;margin:auto}.invoice-header,.invoice-meta,.invoice-summary{display:grid;grid-template-columns:1fr 1fr;gap:30px}.invoice-header{border-bottom:3px solid #102a3a;padding-bottom:25px}.invoice-header h2,.invoice-title h1{margin:0 0 10px}.invoice-title{text-align:left}.invoice-title h1{font-size:24px}.invoice-meta{padding:25px 0}.invoice-meta span{color:var(--muted)}.invoice-meta strong{display:block;font-size:18px;margin:7px 0}.invoice-table th{background:#102a3a;color:#fff}.invoice-summary{margin-top:25px}.signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:center;margin-top:65px}.signatures div{border-top:1px solid #9aa7b6;padding-top:10px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef7f6,#edf2f7);padding:20px}.login-card,.install-card{width:min(430px,100%);background:#fff;border-radius:20px;box-shadow:0 20px 70px rgba(22,45,70,.15);padding:34px}.install-card{width:min(760px,100%)}.login-logo{margin:auto}.login-card h1,.install-card h1{text-align:center;margin:18px 0 8px}.login-card>p,.install-card>p{text-align:center;color:var(--muted);margin-bottom:25px}.login-card form{display:grid;gap:15px}.login-card label{display:grid;gap:7px}.login-card input{border:1px solid #ccd5df;border-radius:10px;padding:12px}.expenses-grid{grid-template-columns:430px 1fr}.date-filter{padding:16px}.positive strong{color:var(--success)}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.expenses-grid{grid-template-columns:1fr}.sidebar{transform:translateX(100%);transition:.2s}.sidebar.open{transform:none}.main{margin-right:0;width:100%}.menu-btn{display:block}.invoice-bottom{grid-template-columns:1fr}.invoice-header,.invoice-meta,.invoice-summary{grid-template-columns:1fr}.invoice-title{text-align:right}}@media(max-width:650px){.content{padding:14px}.stats-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.topbar{padding:0 16px}.card-head{align-items:flex-start;flex-wrap:wrap}.search{width:100%}.search input{width:100%}.invoice-paper{padding:20px}.date-filter{align-items:stretch;flex-direction:column}}@media print{.sidebar,.topbar,.no-print,.alert,.invoice-actions{display:none!important}.main{margin:0;width:100%}.content{padding:0}.invoice-paper{border:0;box-shadow:none;padding:0}.card{box-shadow:none}.invoice-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge{border:1px solid #ccc}}

/* V1.1 — التقارير والطباعة والإنذارات */
.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.wrap-text{white-space:normal;min-width:220px;line-height:1.7}.card-head small{color:var(--muted)}
.schedule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:14px}.schedule-summary div{padding:8px}.schedule-summary span,.schedule-summary strong{display:block}.schedule-summary span{color:var(--muted);font-size:11px;margin-bottom:6px}.schedule-summary strong{font-size:13px;line-height:1.6}
.report-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.report-nav a{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:#526074;text-decoration:none}.report-nav a.active{background:var(--primary);border-color:var(--primary);color:#fff}.report-filter select{border:1px solid #ccd5df;border-radius:9px;padding:11px;background:#fff;min-width:190px}
.report-document,.report-sheet{--doc-accent:var(--report-accent);background:#fff}.report-document{border:1px solid var(--border);border-radius:14px;padding:34px;box-shadow:var(--shadow);max-width:1450px;margin:auto}.document-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-bottom:4px solid var(--doc-accent);padding-bottom:22px;margin-bottom:18px}.document-company{display:flex;align-items:center;gap:16px}.document-company h2,.document-company p,.document-title h1,.document-title p{margin:0}.document-company h2{font-size:22px}.document-company p{color:var(--muted);margin-top:5px}.document-logo{width:78px;height:78px;object-fit:contain}.document-logo-placeholder{width:72px;height:72px;border-radius:18px;background:var(--doc-accent);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:700}.document-title{text-align:left}.document-title h1{font-size:22px}.document-title p{margin-top:6px;color:var(--doc-accent);font-weight:700}.document-title span{display:block;color:var(--muted);font-size:11px;margin-top:10px}.document-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.document-meta div{background:#f8fafc;border:1px solid var(--border);border-radius:9px;padding:10px 12px}.document-meta span,.document-meta strong{display:block}.document-meta span{color:var(--muted);font-size:10px;margin-bottom:5px}.document-meta strong{font-size:12px}
.report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:18px 0}.report-kpis>div{border:1px solid var(--border);border-top:3px solid var(--doc-accent);border-radius:10px;padding:13px;background:#fff}.report-kpis span,.report-kpis strong{display:block}.report-kpis span{font-size:10px;color:var(--muted);min-height:27px}.report-kpis strong{font-size:17px;margin-top:7px}.report-section{margin:20px 0}.report-section>h3{font-size:15px;border-right:4px solid var(--doc-accent);padding-right:10px;margin:0 0 12px}.print-table{border:1px solid var(--border)}.print-table th{background:var(--doc-accent);color:#fff}.print-table th,.print-table td{padding:10px 9px;font-size:11px}.print-table tr:nth-child(even) td{background:#fafbfc}.document-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;text-align:center;margin:70px 0 25px}.document-signatures div{border-top:1px solid #7d8999;padding-top:10px;color:#445168}.document-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:12px;margin-top:25px;color:var(--muted);font-size:10px}.project-report-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--doc-accent) 12%,white),#fff);border:1px solid color-mix(in srgb,var(--doc-accent) 25%,white);border-radius:14px;padding:20px;margin:18px 0}.project-report-hero h2,.project-report-hero p{margin:4px 0}.project-report-hero>div:last-child{text-align:center}.project-report-hero>div:last-child strong,.project-report-hero>div:last-child small{display:block}.project-report-hero>div:last-child strong{font-size:30px;margin-top:8px}.report-grid{align-items:start}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-list div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:9px}.detail-list span{color:var(--muted)}.risk-score{display:flex;align-items:end;gap:5px}.risk-score strong{font-size:45px;color:var(--doc-accent)}
.alert-stats .stat strong{font-size:28px}.settings-tabs{display:flex;gap:8px;margin-bottom:14px}.settings-tabs span{background:#eaf2f4;border-radius:999px;padding:8px 12px;color:#315365;font-size:12px}.settings-section-title{border-bottom:1px solid var(--border);padding:12px 0 4px}.settings-section-title h2,.settings-section-title p{margin:0}.settings-section-title h2{font-size:17px}.settings-section-title p{color:var(--muted);margin-top:5px}.logo-upload-box{grid-column:span 2;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;border:1px dashed #b7c3d0;border-radius:13px;padding:15px}.logo-upload-box img,.logo-empty{width:110px;height:90px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:#fff}.logo-empty{display:grid;place-items:center;color:var(--muted);font-size:11px}.print-preview{border:1px solid var(--border);border-top:5px solid var(--preview-accent);padding:18px;border-radius:12px;background:#fff}.print-preview div{display:flex;justify-content:space-between}.print-preview strong,.print-preview small{display:block}.print-preview h3{margin:25px 0 8px}.print-preview p{color:var(--muted)}
.professional-meta{border-bottom:1px solid var(--border);margin-bottom:22px}.invoice-party{border-right:4px solid var(--doc-accent);padding-right:14px}.invoice-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-details>div{border:1px solid var(--border);border-radius:8px;padding:9px}.invoice-details span,.invoice-details strong{display:block}.invoice-details span{font-size:10px;color:var(--muted);margin-bottom:4px}.professional-summary{align-items:start}.invoice-notes{border:1px solid var(--border);border-radius:10px;padding:15px;min-height:180px}.tax-note{background:#f8fafc;border:1px solid var(--border);border-radius:9px;padding:11px;margin-top:18px;font-size:11px}
.print-template-classic .document-header{border-bottom-style:double;border-bottom-width:6px}.print-template-classic .report-kpis>div{border-top:1px solid #222}.print-template-classic .print-table th{background:#222}.print-template-minimal .document-header{border-bottom-width:1px}.print-template-minimal .document-logo-placeholder{border-radius:4px}.print-template-minimal .report-kpis>div{border-top-width:1px;box-shadow:none}.print-template-minimal .print-table th{background:#f1f3f5;color:#222;border-bottom:2px solid #555}
@media(max-width:1100px){.report-kpis{grid-template-columns:repeat(3,1fr)}.document-meta{grid-template-columns:repeat(2,1fr)}.schedule-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.report-document{padding:16px}.document-header{flex-direction:column}.document-title{text-align:right}.report-kpis{grid-template-columns:1fr 1fr}.document-meta{grid-template-columns:1fr}.schedule-summary{grid-template-columns:1fr}.logo-upload-box{grid-template-columns:1fr;grid-column:span 1}.invoice-details{grid-template-columns:1fr}.document-footer{flex-direction:column}.report-nav{overflow:auto;flex-wrap:nowrap}.report-nav a{white-space:nowrap}}

@media print{
 @page{size:A4 portrait;margin:10mm}@page landscape{size:A4 landscape;margin:8mm}.print-orientation-landscape{--print-orientation:landscape}.print-orientation-landscape .report-document{width:100%}
 body.print-orientation-landscape{page:landscape} body.print-orientation-landscape .report-document{max-width:none}
 .sidebar,.topbar,.no-print,.alert,.invoice-actions,.report-nav{display:none!important}.main{margin:0!important;width:100%!important}.content{padding:0!important;max-width:none!important}.report-document,.invoice-paper{border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;max-width:none!important;margin:0!important}.report-sheet{break-inside:auto}.document-header{margin-top:0}.document-logo{max-height:60px}.document-logo-placeholder{width:58px;height:58px}.document-company h2{font-size:18px}.document-title h1{font-size:18px}.report-kpis{gap:5px;margin:10px 0}.report-kpis>div{padding:8px}.report-kpis span{min-height:auto}.report-kpis strong{font-size:13px}.report-section{margin:12px 0}.table-wrap{overflow:visible}.print-table,.invoice-table{width:100%;table-layout:auto}.print-table th,.print-table td,.invoice-table th,.invoice-table td{font-size:8.5pt;padding:5px 4px;white-space:normal}.print-table thead,.invoice-table thead{display:table-header-group}.print-table tr,.invoice-table tr{break-inside:avoid}.document-signatures{margin-top:45px}.document-footer{position:relative;bottom:0}.badge{border:1px solid #aaa;padding:2px 5px}.invoice-meta,.invoice-summary{grid-template-columns:1fr 1fr}.card{border:0}.report-section h3{font-size:11pt}
}

/* V1.2 — الصلاحيات والوحدات التشغيلية */
.nav-group-title{color:#7293a5;font-size:10px;font-weight:700;padding:14px 12px 6px;letter-spacing:.2px;border-top:1px solid rgba(255,255,255,.06);margin-top:5px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs a{padding:9px 13px;border-radius:9px;background:#eef2f6;color:#526074;text-decoration:none}.tabs a.active{background:var(--primary);color:#fff}.permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.permission-matrix section{border:1px solid var(--border);border-radius:12px;overflow:hidden}.permission-matrix section h3{margin:0;padding:11px 14px;background:#f8fafc;border-bottom:1px solid var(--border);font-size:13px}.permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.permission-options label{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border);border-radius:9px;padding:9px;cursor:pointer}.permission-options label span{font-size:11px;line-height:1.5}.permission-options label small{margin-right:auto;color:var(--danger);font-size:9px}.sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);padding:14px 20px;z-index:5}.check-list{display:grid;gap:8px;padding:16px}.check-list label{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:11px}.check-list label span strong,.check-list label span small{display:block}.check-list label span small{color:var(--muted);margin-top:4px}.info-box{padding:20px;line-height:1.8;color:#445168}.info-box p{margin:0 0 12px}.row-warning td{background:#fffaeb!important}.inline-decision{display:flex!important;gap:5px}.table-input{min-width:95px;width:100%;border:1px solid #ccd5df;border-radius:7px;padding:7px}.filters select,.filters input{border:1px solid #ccd5df;border-radius:8px;padding:9px;background:#fff}.filters{align-items:center;flex-wrap:wrap}.report-section p{white-space:normal;line-height:1.8}.card .report-kpis{padding:16px}.positive-value{color:var(--success)}.negative-value{color:var(--danger)}
@media(max-width:900px){.permission-matrix{grid-template-columns:1fr}.permission-options{grid-template-columns:1fr}.tabs{overflow:auto;flex-wrap:nowrap}.tabs a{white-space:nowrap}}
@media(max-width:650px){.permission-matrix{padding:10px}.filters{width:100%}.filters select,.filters input{width:100%}}
@media print{.nav-group-title,.sticky-actions{display:none!important}.row-warning td{background:#fff!important}.table-input{border:0;padding:0}}
.sensitive-hidden{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:.82rem;font-weight:700;white-space:nowrap}
