.request-page { padding-top: 48px; padding-bottom: calc(100px + env(safe-area-inset-bottom)); max-width: 1100px; }
.request-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.request-heading h1 { font-family:var(--font-display); font-size:32px; font-weight:600; letter-spacing:-.02em; margin:8px 0; }
.request-card { border:1px solid var(--border); border-radius:8px; padding:24px; margin:16px 0; background:var(--bg); overflow-wrap:anywhere; }
.request-card h2 { font-family:var(--font-display); font-size:23px; font-weight:600; line-height:1.28; letter-spacing:-.01em; margin:10px 0; }
.request-card p { margin:10px 0; white-space:pre-wrap; }
.request-meta, .request-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.request-meta { color:var(--muted); font-size:13px; }
.request-actions { margin-top:20px; }
.request-form { max-width:720px; padding:24px 0; }
.request-form fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; }
.request-form legend { font-family:var(--font-display); font-size:24px; font-weight:700; letter-spacing:-.015em; margin-bottom:20px; }
.request-form .field { margin-bottom:18px; }
.request-form label { display:block; margin-bottom:8px; }
.request-form input, .request-form select, .request-form textarea { width:100%; box-sizing:border-box; }
.request-responders { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:20px; margin-top:24px; }
.request-person { border-top:1px solid var(--border); padding-top:16px; }
.request-person img { width:60px; height:60px; object-fit:cover; border-radius:8px; }
.request-person h3 { font-family:var(--font-display); font-size:17px; font-weight:600; margin:8px 0; }
.request-page button, .request-page .btn, .request-page input, .request-page select { min-height:44px; }
.request-page button { transition:transform 150ms cubic-bezier(.23,1,.32,1); }
.request-page button:active:not(:disabled) { transform:scale(.985); }
.request-preview { max-width:100%; max-height:55vh; object-fit:contain; }
.request-preview-shell { text-align:center; }
.request-preview-pdf { width:min(100%,760px); height:min(68vh,760px); border:1px solid var(--border); border-radius:8px; }
.request-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 8px; }
.request-filters .field { margin:0; }
.request-filters label { display:block; margin:0 0 6px; font-size:12px; font-weight:700; color:var(--muted); }
.request-filters select { width:100%; }
.request-student-label { color:var(--ink); }
.request-attachments { margin-top:18px; }
.request-attachments .request-actions { margin-top:8px; }
.request-public-tutors { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.request-public-tutors>h3 { margin:0 0 12px; font-size:15px; }
.request-person-public { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; align-items:start; }
.request-person-public img,.request-person-fallback { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.request-person-fallback { display:grid; place-items:center; background:var(--pink-bg); color:var(--pink); font-weight:800; }
.request-person-public p { margin:3px 0; color:var(--muted); font-size:13px; }
.request-page [hidden] { display:none!important; }
.request-page .workspace-tabs { flex-wrap:wrap; }
@media(max-width:600px) { .request-heading { align-items:flex-start; flex-direction:column; } .request-heading h1 { font-size:27px; } .request-card { padding:18px; } .request-card h2 { font-size:21px; } .request-filters { grid-template-columns:1fr; } .request-responders { grid-template-columns:1fr; gap:12px; } }
@media(prefers-reduced-motion:reduce) { .request-page button { transition:none; } .request-page button:active { transform:none; } }
