:root { --bg: #f3f5f7; --surface: #ffffff; --surface-muted: #f8fafc; --text: #111827; --muted: #667085; --border: #d9e1ea; --accent: #2563eb; --accent-soft: #eff6ff; --success: #0f766e; --shadow: 0 14px 40px rgba(15, 23, 42, 0.05); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; } html { scroll-behavior: smooth; } body.app-shell { background: var(--bg); color: var(--text); font-family: 'Cairo', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; } body.rtl { text-align: right; } body.rtl .navbar-brand, body.rtl .nav-link, body.rtl .btn, body.rtl .form-control, body.rtl .form-select, body.rtl .form-check, body.rtl .table { direction: rtl; } ::selection { background: rgba(37, 99, 235, 0.12); } .app-navbar { backdrop-filter: saturate(180%) blur(12px); } .navbar-brand { letter-spacing: -0.02em; } .nav-link { font-weight: 500; color: var(--muted); border-radius: var(--radius-sm); padding: 0.5rem 0.75rem !important; } .nav-link.active, .nav-link:hover, .nav-link:focus { color: var(--text); background: var(--accent-soft); } .hero-section { background: rgba(255,255,255,0.78); } .py-lg-6 { padding-top: 4.5rem; padding-bottom: 4.5rem; } .eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--muted); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .display-title, .section-title { color: var(--text); line-height: 1.05; letter-spacing: -0.03em; } .display-title { font-size: clamp(1.8rem, 4vw, 2.75rem); color: var(--accent); max-width: 15ch; } .section-title { font-size: clamp(1.6rem, 2.8vw, 2.4rem); } .lead { max-width: 62ch; font-size: 1rem; } .panel-card, .subject-card, .plan-card, .workflow-card, .metric-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); } .panel-card, .subject-card, .plan-card, .workflow-card { padding: 1.35rem; } .metric-card { padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.15rem; } .metric-card strong { font-size: 1.6rem; line-height: 1; letter-spacing: -0.04em; } .metric-card span, .metric-card p { color: var(--muted); margin: 0; } .metric-card.tall { min-height: 132px; justify-content: center; } .small-stat-grid .metric-card { min-height: 96px; } .mini-tag { display: inline-flex; align-items: center; justify-content: center; padding: 0.35rem 0.6rem; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-muted); color: var(--text); font-size: 0.78rem; font-weight: 600; } .stack-list { display: flex; flex-direction: column; gap: 0.8rem; } .stack-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--border); } .stack-item:last-child { border-bottom: 0; padding-bottom: 0; } .stack-item p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.92rem; } .section-header { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; flex-wrap: wrap; } .subject-card, .plan-card { display: flex; flex-direction: column; } .subject-meta-grid, .detail-meta-grid, .pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; } .subject-meta-grid div, .detail-meta-grid div, .pricing-grid div, .summary-row { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-muted); padding: 0.8rem 0.9rem; } .subject-meta-grid strong, .detail-meta-grid strong, .pricing-grid strong, .summary-row strong { display: block; margin-bottom: 0.2rem; font-size: 0.88rem; } .subject-meta-grid span, .detail-meta-grid span, .pricing-grid span, .summary-row span { color: var(--muted); font-size: 0.9rem; } .summary-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.65rem; } .compact-list { display: flex; flex-direction: column; gap: 0.75rem; } .compact-list li { position: relative; padding-inline-start: 1.2rem; color: var(--text); } .compact-list li::before { content: ''; width: 0.42rem; height: 0.42rem; border-radius: 999px; background: var(--accent); position: absolute; inset-inline-start: 0; top: 0.45rem; } .compact-list-tight { gap: 0.5rem; } .workflow-card { min-height: 100%; } .step-index { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--accent-soft); border: 1px solid var(--border); margin-bottom: 0.85rem; font-weight: 700; font-size: 0.82rem; } .workflow-card p { color: var(--muted); margin-bottom: 0; } .plan-card.highlighted { border-color: #cdd6e1; box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08); } .display-price { font-size: 2rem; font-weight: 800; letter-spacing: -0.04em; } .catalog-search-wrap { min-width: min(100%, 320px); } .empty-filter-state, .empty-state-inline { border: 1px dashed var(--border); border-radius: var(--radius-md); background: rgba(255,255,255,0.7); padding: 1rem; } .dashboard-table thead th { color: var(--muted); font-weight: 600; font-size: 0.84rem; border-bottom-color: var(--border); } .dashboard-table td, .dashboard-table th { padding-top: 0.85rem; padding-bottom: 0.85rem; } .copy-chip { border: 1px solid var(--border); background: var(--surface); padding: 0.35rem 0.7rem; border-radius: 999px; font-size: 0.82rem; font-weight: 600; } .copy-chip:hover, .copy-chip:focus { background: var(--accent-soft); } .btn { border-radius: 10px; font-weight: 600; padding: 0.72rem 1rem; } .btn-sm { padding: 0.45rem 0.7rem; border-radius: 9px; } .btn-lg { padding: 0.8rem 1.15rem; } .btn-dark { background: var(--accent); border-color: var(--accent); color: #fff; } .btn-outline-dark { color: var(--text); border-color: var(--border); } .btn-outline-dark:hover, .btn-outline-dark:focus { color: var(--text); background: var(--accent-soft); border-color: #c4ced8; } .form-control, .form-select, .form-check { border-radius: 10px; } .form-control, .form-select { min-height: 46px; border-color: var(--border); background: #fff; } .form-control:focus, .form-select:focus, .btn:focus, .copy-chip:focus, .nav-link:focus { box-shadow: 0 0 0 0.2rem rgba(17, 24, 39, 0.12); border-color: #bcc8d6; } .alert, .toast, .badge { border-radius: var(--radius-md); } .integration-rail { display: flex; gap: 0.5rem; flex-wrap: wrap; } .sticky-card { position: sticky; top: 88px; } footer { background: rgba(255,255,255,0.86); } @media (max-width: 991.98px) { .sticky-card { position: static; } .subject-meta-grid, .detail-meta-grid, .pricing-grid { grid-template-columns: 1fr; } } @media (max-width: 575.98px) { .panel-card, .subject-card, .plan-card, .workflow-card { padding: 1.05rem; } .display-title { max-width: 100%; } } /* Modal dark blue header */ .modal-header.bg-dark-blue { background-color: #1e3a8a; color: #ffffff; border-top-left-radius: calc(var(--bs-modal-border-radius, .5rem) - 1px); border-top-right-radius: calc(var(--bs-modal-border-radius, .5rem) - 1px); } .modal-header.bg-dark-blue .modal-title, .modal-header.bg-dark-blue .section-title { color: #ffffff !important; } /* Modern Additions */ .hero-section { background: linear-gradient(135deg, #f8f9fc 0%, #e2e8f0 100%); position: relative; overflow: hidden; } .hero-section::before { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, rgba(255,255,255,0) 70%); z-index: 0; } .hero-section > .container { position: relative; z-index: 1; } .hero-section { border-bottom: 0 !important; } .plan-card, .subject-card, .workflow-card, .card { transition: transform 0.2s ease, box-shadow 0.2s ease; border: 1px solid rgba(0,0,0,0.06) !important; background: rgba(255, 255, 255, 0.9); } .plan-card:hover, .subject-card:hover, .workflow-card:hover, .card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important; } .metric-card { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.8); transition: transform 0.2s ease, box-shadow 0.2s ease; } .metric-card:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); } .btn { transition: all 0.2s ease; } .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(0,0,0,0.1); }