.mock-tests-page{max-width:1200px;margin:0 auto;padding:72px 24px 96px;min-height:calc(100vh - 92px)}
.mock-tests-header{max-width:760px;margin-bottom:44px}
.mock-tests-header h1{font-size:48px;line-height:1.1;margin:0 0 16px}
.mock-tests-header p{font-size:17px;line-height:1.7;margin:0;opacity:.72}
.mock-tests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mock-test-card{display:flex;flex-direction:column;min-height:230px;padding:30px;border:1px solid rgba(0,0,0,.09);border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.mock-test-card h2{font-size:21px;margin:0 0 10px}
.mock-test-card p{font-size:14px;line-height:1.65;margin:0;opacity:.68}
.mock-test-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.mock-test-meta span{padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:600}
.mock-test-start{display:flex;align-items:center;justify-content:center;margin-top:auto;padding-top:24px;min-height:42px;border-radius:9px;background:#0f766e;color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.mock-test-start:hover{background:#115e59}
.mock-tests-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #cbd5e1;border-radius:18px;background:#fff}
.mock-tests-state h2{margin:0 0 8px;font-size:20px}
.mock-tests-state p{margin:0;color:#64748b;font-size:14px}
.loading-spinner{width:30px;height:30px;border:3px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;animation:mock-spin .8s linear infinite;margin-bottom:14px}
@keyframes mock-spin{to{transform:rotate(360deg)}}
.hidden{display:none!important}
@media(max-width:900px){.mock-tests-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mock-tests-page{padding-top:48px}.mock-tests-header h1{font-size:38px}.mock-tests-grid{grid-template-columns:1fr}}