:root{--primary: #059669;--primary-hover: #047857;--primary-light: #e6f4ea;--bg-main: #f8fafc;--bg-card: #ffffff;--border: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--text-on-primary: #ffffff;--bg-input: #ffffff;--bg-secondary: #f1f5f9;--bg-secondary-hover: #e2e8f0;--info: #3b82f6;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--font-en: "Inter", "Cairo", sans-serif;--font-ar: "Cairo", "Inter", sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 20px rgba(0,0,0,.03);--shadow-lg: 0 10px 30px rgba(0,0,0,.06)}[data-theme=dark]{--bg-main: #0f172a;--bg-card: #1e293b;--border: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--bg-input: #0f172a;--bg-secondary: #334155;--bg-secondary-hover: #475569;--primary-light: rgba(5, 150, 105, .15);--shadow-md: 0 4px 20px rgba(0,0,0,.3);--shadow-lg: 0 20px 40px rgba(0,0,0,.4)}html{font-size:16px}html[dir=ltr]{font-family:var(--font-en)}html[dir=rtl]{font-family:var(--font-ar)}body{margin:0;padding:0;background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .3s,color .3s}.app-container{display:flex;min-height:100vh;width:100%}html[dir=rtl] .app-container{flex-direction:row}.app-sidebar{width:280px;background-color:#0f172a;color:#f8fafc;display:flex;flex-direction:column;padding:1.5rem;box-sizing:border-box;flex-shrink:0;border-inline-end:1px solid #1e293b}.sidebar-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;color:#10b981}.brand-logo{flex-shrink:0}.brand-text{font-weight:700;font-size:1.2rem;letter-spacing:-.5px}.user-profile-badge{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:#1e293b;border-radius:var(--radius-md);margin-bottom:2rem}.profile-avatar{width:42px;height:42px;background-color:var(--primary);color:var(--text-on-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.profile-info{display:flex;flex-direction:column;overflow:hidden}.profile-name{font-weight:600;font-size:.95rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-role{font-size:.8rem;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.nav-link{background:none;border:none;color:#94a3b8;padding:.85rem 1rem;border-radius:var(--radius-sm);text-align:start;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.nav-link:hover,.nav-link.active{background-color:#1e293b;color:#fff}.nav-link.active{border-inline-start:4px solid var(--primary)}.submenu-links{border-inline-start:1px solid #334155;margin-inline-start:.75rem;padding-inline-start:.5rem}.submenu-item{color:#94a3b8}.submenu-item.active{border-inline-start:3px solid var(--primary)!important;background-color:#1e293b;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #1e293b;padding-top:1rem}.btn-logout{width:100%;background:none;border:1px solid #334155;color:#f1f5f9;padding:.75rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:background .2s}.btn-logout:hover{background-color:var(--danger);border-color:var(--danger)}.app-content-wrapper{display:flex;flex-direction:column;flex-grow:1;min-width:0}.app-header{height:70px;background-color:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;transition:background-color .3s,border-color .3s}.header-title{font-size:1.4rem;font-weight:700;margin:0;letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:1.5rem}.btn-lang{background-color:var(--bg-main);border:1px solid var(--border);padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s}.btn-lang:hover{background-color:var(--bg-secondary)}.system-indicator{display:flex;align-items:center;gap:.5rem}.indicator-dot{width:8px;height:8px;border-radius:50%}.indicator-dot.online{background-color:var(--success)}.indicator-text{font-size:.85rem;color:var(--text-muted)}.app-main{padding:2rem;flex-grow:1;overflow-y:auto;box-sizing:border-box}.welcome-banner{background:linear-gradient(135deg,#065f46,#064e3b);color:#fff;padding:2rem;border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.welcome-banner h2{margin:0 0 .5rem;font-weight:700;font-size:1.8rem}.welcome-banner p{margin:0;opacity:.85}.section-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.section-card:hover{box-shadow:var(--shadow-lg)}.section-card h3{margin-top:0;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700;border-bottom:2px solid var(--primary-light);padding-bottom:.75rem}.alert{padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-weight:500}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.table-responsive{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:start}.data-table th{background-color:var(--bg-main);padding:1rem;font-weight:600;font-size:.9rem;color:var(--text-muted);border-bottom:2px solid var(--border);text-align:inherit}.data-table td{padding:1rem;border-bottom:1px solid var(--border);font-size:.95rem;vertical-align:middle}.data-table tr:hover{background-color:var(--bg-main)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-draft{background-color:#e2e8f0;color:#475569}.status-submitted{background-color:#dbeafe;color:#1e40af}.status-under_review{background-color:#fef3c7;color:#92400e}.status-bank_review{background-color:#f3e8ff;color:#6b21a8}.status-approved,.status-funded{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.status-completed{background-color:#ccfbf1;color:#0f766e}.badge-type{display:inline-block;background-color:var(--bg-secondary);border:1px solid var(--border);padding:.2rem .5rem;font-size:.75rem;border-radius:var(--radius-sm);font-weight:600}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;color:var(--text-main)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;box-sizing:border-box;font-family:inherit;transition:border-color .2s;background-color:var(--bg-input);color:var(--text-main)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-grid-3{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}.check-group{display:flex;align-items:center;gap:.75rem}.check-group input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.btn-primary,.btn-submit{background-color:var(--primary);color:var(--text-on-primary);border:none;padding:.85rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:inherit}.btn-primary:hover,.btn-submit:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--text-main);padding:.85rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:var(--bg-secondary-hover)}.btn-danger{background-color:var(--danger);color:#fff;border:none;padding:.85rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer}.btn-danger:hover{background-color:#b91c1c}.btn-block{display:block;width:100%}.btn-table-action{background-color:var(--bg-main);border:1px solid var(--border);padding:.4rem .8rem;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-table-action:hover{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.detail-grids{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 1024px){.detail-grids{grid-template-columns:1fr}}.profile-grid-list{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;justify-content:space-between;border-bottom:1px dashed var(--border);padding-bottom:.5rem}.info-label{color:var(--text-muted);font-size:.9rem}.info-value{font-weight:600}.calculator-embedded-card{background-color:var(--bg-main);border:1px dashed var(--primary);border-radius:var(--radius-md);padding:1.5rem;margin-top:1.5rem}.sim-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:.5rem}.timeline-container{padding:1rem 0;width:100%}.timeline-line-wrapper{display:flex;justify-content:space-between;align-items:center;position:relative}.timeline-line-wrapper:before{content:"";position:absolute;top:21px;left:10px;right:10px;height:4px;background-color:var(--border);z-index:1}.timeline-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.step-marker{width:46px;height:46px;border-radius:50%;background-color:var(--bg-card);border:4px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-muted);font-size:.95rem;transition:all .3s}.step-label{font-size:.8rem;font-weight:600;text-align:center;margin-top:.5rem}.step-completed .step-marker{background-color:var(--success);border-color:var(--success);color:#fff}.step-active .step-marker{background-color:#fff;border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.timeline-rejected-card{display:flex;align-items:center;gap:1.5rem;background-color:#fee2e2;border:1px solid #fca5a5;padding:1.5rem;border-radius:var(--radius-md)}.rejected-icon{width:48px;height:48px;background-color:var(--danger);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem}.bar-chart-container{display:flex;flex-direction:column;gap:1rem}.bar-chart-row{display:grid;grid-template-columns:100px 1fr 40px;gap:1rem;align-items:center}.bar-label{font-size:.85rem;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.bar-track-wrapper{background-color:var(--bg-secondary);height:14px;border-radius:50px;overflow:hidden}.bar-fill{background-color:var(--primary);height:100%;border-radius:50px}.bar-value{text-align:end;font-weight:600;font-size:.85rem}.pie-chart-list{display:flex;flex-direction:column;gap:.75rem}.pie-row{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.pie-color-dot{width:12px;height:12px;border-radius:50%}.pie-label{flex-grow:1}.login-page-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-main);color:var(--text-main);transition:background-color .3s,color .3s}.login-header-bar{height:80px;padding:0 3rem;display:flex;align-items:center;justify-content:space-between}.login-logo-section{display:flex;align-items:center;gap:.75rem}.login-logo-text{font-size:1.3rem;font-weight:700;color:#10b981}.login-card-wrapper{display:grid;grid-template-columns:1.2fr 1fr;margin:auto;width:90%;max-width:1200px;gap:4rem;align-items:center;padding:3rem 0}@media (max-width: 992px){.login-card-wrapper{grid-template-columns:1fr;gap:2rem}}.login-brand-info h2{font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.login-brand-info p{color:var(--text-muted);font-size:1.1rem;line-height:1.6}.role-guide-panel{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;margin-top:2rem}.role-guide-panel h4{margin-top:0;color:#10b981}.role-guide-panel ul{padding-inline-start:1.25rem;margin-bottom:0;font-size:.85rem}.role-guide-panel code{color:var(--primary);background-color:var(--primary-light);padding:.1rem .3rem;border-radius:4px}.login-form-card{background-color:var(--bg-card);border:1px solid var(--border);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-form-card h3{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.btn-toggle-auth{background:none;border:none;color:#38bdf8;cursor:pointer;display:block;margin-top:1rem;font-size:.9rem;text-align:center;width:100%}.phases-list-grid{display:flex;flex-direction:column;gap:.75rem}.phase-item-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border)}.phase-item-row.status-approved{border-color:var(--success);background-color:var(--primary-light)}.phase-item-row.status-blocked{border-color:var(--danger);background-color:#fee2e2}.inspector-inline-form{width:100%;margin-top:1rem;border-top:1px dashed var(--border);padding-top:1rem}.inspector-actions{display:flex;gap:1rem;margin-top:.5rem}.upload-doc-form{border-top:1px dashed var(--border);padding-top:1.5rem;margin-top:1.5rem}.bank-offer-row-card{display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-main);border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius-md);margin-bottom:1rem}.offer-bank-details h4{margin:0 0 .5rem}.offer-metrics-grid{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.85rem}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.mt-3{margin-top:.75rem}.mt-4{margin-top:1.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.document-download-link{color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;font-weight:500;transition:color .2s}.document-download-link:hover{text-decoration:underline;color:var(--primary-hover)}.file-upload-input-group{position:relative;display:flex;flex-direction:column;gap:.25rem}.file-input-field{padding:.5rem!important;font-size:.9rem!important;background-color:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.file-input-field::file-selector-button{background-color:var(--primary-light);color:var(--primary);border:none;border-radius:var(--radius-sm);padding:.4rem .8rem;font-weight:600;cursor:pointer;margin-inline-end:.75rem;transition:all .2s}.file-input-field::file-selector-button:hover{background-color:var(--primary);color:#fff}.btn-theme{background-color:var(--bg-card);border:1px solid var(--border);padding:.4rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-main);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-theme:hover{background-color:var(--bg-secondary)}
