| @font-face { |
| font-family: "Bahij TheSansArabic"; |
| src: url("./font/Bahij_TheSansArabic-Plain.ttf") format("truetype"); |
| font-weight: 400 700; |
| font-display: swap; |
| } |
|
|
| @font-face { |
| font-family: "Bahij TheSansArabic"; |
| src: url("./font/Bahij_TheSansArabic-Black.ttf") format("truetype"); |
| font-weight: 800 900; |
| font-display: swap; |
| } |
|
|
| :root { |
| --ink: #172033; |
| --muted: #5C6E88; |
| --primary: #4137A8; |
| --violet: #7030A0; |
| --cyan: #1CADE4; |
| --aqua: #27CED7; |
| --green: #00B050; |
| --mint: #42BA97; |
| --yellow: #FFC000; |
| --red: #F5554A; |
| --paper: #FFFFFF; |
| --line: rgba(92, 110, 136, .18); |
| --soft: #F4F8FC; |
| --shadow: 0 22px 70px rgba(65, 55, 168, .13); |
| --radius: 8px; |
| } |
|
|
| * { box-sizing: border-box; } |
|
|
| body { |
| margin: 0; |
| min-height: 100vh; |
| font-family: "Bahij TheSansArabic", Tahoma, Arial, sans-serif; |
| color: var(--ink); |
| background: |
| linear-gradient(135deg, rgba(65, 55, 168, .10), transparent 31%), |
| linear-gradient(225deg, rgba(28, 173, 228, .15), transparent 35%), |
| linear-gradient(0deg, rgba(39, 206, 215, .10), transparent 46%), |
| var(--soft); |
| padding-bottom: 76px; |
| } |
|
|
| button, |
| input, |
| select { font: inherit; } |
|
|
| .pageShell { |
| width: min(1120px, calc(100% - 28px)); |
| margin: 0 auto; |
| padding: 24px 0 26px; |
| } |
|
|
| .hero { |
| min-height: 190px; |
| display: grid; |
| grid-template-columns: auto 1fr auto; |
| gap: 18px; |
| align-items: center; |
| padding: 26px 0 18px; |
| } |
|
|
| .brandMark { |
| width: 74px; |
| height: 74px; |
| border-radius: 8px; |
| background: |
| linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,0) 34%), |
| linear-gradient(135deg, var(--primary), var(--cyan) 58%, var(--green)); |
| box-shadow: 0 18px 42px rgba(65, 55, 168, .22); |
| } |
|
|
| .kicker { |
| margin: 0 0 8px; |
| color: var(--muted); |
| font-size: 15px; |
| } |
|
|
| h1 { |
| margin: 0; |
| color: var(--primary); |
| font-size: clamp(34px, 5vw, 64px); |
| line-height: 1.05; |
| } |
|
|
| .summaryStrip { |
| display: grid; |
| grid-template-columns: repeat(3, minmax(106px, 1fr)); |
| gap: 8px; |
| min-width: min(460px, 100%); |
| } |
|
|
| .summaryStrip span { |
| display: grid; |
| gap: 4px; |
| min-height: 72px; |
| align-content: center; |
| padding: 12px; |
| border-radius: var(--radius); |
| color: #fff; |
| background: linear-gradient(135deg, var(--primary), var(--cyan)); |
| box-shadow: 0 14px 32px rgba(65, 55, 168, .16); |
| text-align: center; |
| } |
|
|
| .summaryStrip span:nth-child(2) { background: linear-gradient(135deg, var(--violet), var(--aqua)); } |
| .summaryStrip span:nth-child(3) { background: linear-gradient(135deg, var(--mint), var(--green)); } |
| .summaryStrip b { font-size: 24px; } |
|
|
| .toolSurface { |
| background: rgba(255, 255, 255, .88); |
| border: 1px solid rgba(255, 255, 255, .72); |
| box-shadow: var(--shadow); |
| border-radius: var(--radius); |
| padding: 14px; |
| } |
|
|
| .modeTabs { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 8px; |
| margin-bottom: 14px; |
| } |
|
|
| .modeTab { |
| min-height: 50px; |
| border: 1px solid var(--line); |
| border-radius: var(--radius); |
| background: #fff; |
| color: var(--muted); |
| cursor: pointer; |
| } |
|
|
| .modeTab.active { |
| color: #fff; |
| border-color: transparent; |
| background: linear-gradient(135deg, var(--primary), var(--cyan)); |
| } |
|
|
| .searchPanel { display: none; } |
| .searchPanel.active { display: block; } |
|
|
| .searchBox { |
| display: grid; |
| grid-template-columns: 48px 1fr; |
| align-items: center; |
| min-height: 74px; |
| background: #fff; |
| border: 1px solid var(--line); |
| border-radius: var(--radius); |
| padding: 10px 14px; |
| } |
|
|
| .searchIcon { |
| width: 38px; |
| height: 38px; |
| display: grid; |
| place-items: center; |
| color: #fff; |
| border-radius: var(--radius); |
| background: linear-gradient(135deg, var(--primary), var(--cyan)); |
| } |
|
|
| input { |
| width: 100%; |
| border: 0; |
| outline: 0; |
| color: var(--ink); |
| background: transparent; |
| font-size: 20px; |
| } |
|
|
| input::placeholder { color: rgba(92, 110, 136, .66); } |
|
|
| .selectBox { |
| display: grid; |
| grid-template-columns: auto 1fr; |
| gap: 12px; |
| align-items: center; |
| min-height: 58px; |
| margin-top: 12px; |
| padding: 9px 12px; |
| border: 1px solid var(--line); |
| border-radius: var(--radius); |
| background: #fff; |
| } |
|
|
| .selectBox span { |
| color: var(--muted); |
| white-space: nowrap; |
| } |
|
|
| select { |
| width: 100%; |
| min-height: 40px; |
| border: 0; |
| outline: 0; |
| color: var(--ink); |
| background: transparent; |
| cursor: pointer; |
| } |
|
|
| .inspectorResearchersBox { |
| background: linear-gradient(180deg, #fff, rgba(28, 173, 228, .06)); |
| } |
|
|
| .inspectorGrid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); |
| gap: 8px; |
| margin-top: 12px; |
| } |
|
|
| .inspectorChip { |
| border: 1px solid var(--line); |
| border-radius: var(--radius); |
| background: #fff; |
| color: var(--ink); |
| min-height: 48px; |
| padding: 9px 12px; |
| cursor: pointer; |
| text-align: right; |
| } |
|
|
| .inspectorChip { |
| color: #fff; |
| border-color: transparent; |
| background: linear-gradient(135deg, var(--violet), var(--primary)); |
| } |
|
|
| .inspectorChip:hover { |
| transform: translateY(-1px); |
| } |
|
|
| .inspectorChip.selected { |
| background: linear-gradient(135deg, var(--primary), var(--cyan)); |
| box-shadow: 0 12px 28px rgba(65, 55, 168, .18); |
| } |
|
|
| .resultHeader { |
| display: flex; |
| align-items: end; |
| justify-content: space-between; |
| gap: 14px; |
| margin: 22px 0 12px; |
| } |
|
|
| .resultHeader p { |
| margin: 0 0 3px; |
| color: var(--muted); |
| font-size: 14px; |
| } |
|
|
| .resultHeader h2 { |
| margin: 0; |
| color: var(--primary); |
| font-size: 24px; |
| } |
|
|
| .resultBadge { |
| min-width: 50px; |
| min-height: 42px; |
| display: grid; |
| place-items: center; |
| border-radius: var(--radius); |
| color: #fff; |
| background: var(--red); |
| padding: 8px 14px; |
| } |
|
|
| .resultsGrid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(318px, 1fr)); |
| gap: 12px; |
| } |
|
|
| .sampleCard { |
| position: relative; |
| overflow: hidden; |
| min-height: 212px; |
| background: rgba(255, 255, 255, .94); |
| border: 1px solid rgba(255, 255, 255, .74); |
| border-radius: var(--radius); |
| box-shadow: 0 16px 44px rgba(92, 110, 136, .14); |
| padding: 16px; |
| } |
|
|
| .sampleCard::before { |
| content: ""; |
| position: absolute; |
| inset-inline-start: 0; |
| inset-block: 0; |
| width: 6px; |
| background: linear-gradient(180deg, var(--primary), var(--cyan), var(--green), var(--yellow)); |
| } |
|
|
| .sampleName { |
| margin: 0 0 12px; |
| font-size: 20px; |
| color: var(--ink); |
| line-height: 1.55; |
| } |
|
|
| .metaLine { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 7px; |
| margin-bottom: 12px; |
| } |
|
|
| .metaLine span, |
| .statusBox strong { |
| display: inline-flex; |
| align-items: center; |
| min-height: 30px; |
| border-radius: var(--radius); |
| padding: 4px 9px; |
| background: rgba(28, 173, 228, .10); |
| color: var(--primary); |
| font-size: 13px; |
| } |
|
|
| .statusGrid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 8px; |
| } |
|
|
| .statusBox { |
| display: grid; |
| gap: 6px; |
| padding: 10px; |
| border-radius: var(--radius); |
| background: #F8FAFE; |
| border: 1px solid var(--line); |
| } |
|
|
| .statusBox strong { |
| width: fit-content; |
| background: rgba(255, 192, 0, .17); |
| color: #835f00; |
| } |
|
|
| .statusBox p { |
| margin: 0; |
| line-height: 1.55; |
| color: var(--ink); |
| } |
|
|
| .statusBox em { |
| display: inline-flex; |
| width: fit-content; |
| max-width: 100%; |
| margin-top: 2px; |
| padding: 4px 9px; |
| border-radius: var(--radius); |
| color: var(--primary); |
| background: rgba(28, 173, 228, .10); |
| font-style: normal; |
| font-size: 13px; |
| line-height: 1.5; |
| } |
|
|
| .emptyState { |
| grid-column: 1 / -1; |
| min-height: 150px; |
| display: grid; |
| place-items: center; |
| text-align: center; |
| padding: 24px; |
| border: 1px dashed rgba(92, 110, 136, .36); |
| border-radius: var(--radius); |
| color: var(--muted); |
| background: rgba(255, 255, 255, .75); |
| } |
|
|
| .credit { |
| position: fixed; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| z-index: 10; |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| gap: 10px; |
| min-height: 58px; |
| padding: 10px 14px; |
| color: #fff; |
| background: linear-gradient(90deg, var(--primary), var(--cyan), var(--mint)); |
| box-shadow: 0 -12px 32px rgba(65, 55, 168, .16); |
| } |
|
|
| .credit span { |
| padding: 4px 10px; |
| border-radius: var(--radius); |
| background: rgba(255, 255, 255, .16); |
| } |
|
|
| @media (max-width: 820px) { |
| .pageShell { width: min(100% - 18px, 680px); padding-top: 10px; } |
| .hero { |
| grid-template-columns: 58px 1fr; |
| min-height: 0; |
| padding-top: 16px; |
| } |
| .brandMark { width: 58px; height: 58px; } |
| .summaryStrip { |
| grid-column: 1 / -1; |
| min-width: 0; |
| } |
| .toolSurface { padding: 10px; } |
| .resultsGrid { grid-template-columns: 1fr; } |
| .statusGrid { grid-template-columns: 1fr; } |
| .resultHeader h2 { font-size: 20px; } |
| input { font-size: 18px; } |
| .selectBox { grid-template-columns: 1fr; gap: 6px; } |
| } |
|
|