:root{color-scheme:light;--background:#f7f8fb;--surface:#ffffff;--surface-muted:#eef3f8;--border:#d7dee8;--text:#1d2733;--muted:#657386;--primary:#155e75;--primary-hover:#0f4d61;--accent:#2f6f4e;--warning:#925d10;--error:#9f1d35}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}button{font:inherit}.loginShell,.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.loginShell,.shell{padding:32px 0}.loginShell{min-height:100vh;display:grid;align-items:center}.loginPanel{width:min(520px,100%);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 50px rgba(29,39,51,.08)}.loginPanel h1,.meetingRow h2,.topBar h1{margin:0;letter-spacing:0}.loginPanel h1,.topBar h1{font-size:clamp(1.65rem,1.45rem + .8vw,2.2rem);line-height:1.15}.loginPanel p,.meetingRow p,.topBar p{color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:.78rem;font-weight:700;text-transform:uppercase}.topBar{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--border)}.topBar p{max-width:680px;margin:8px 0 0}.topActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;max-width:480px}.topActions span{flex-basis:100%;color:var(--muted);font-size:.9rem;text-align:right;overflow-wrap:anywhere}.meetingList{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.downloadPanel,.uploadPanel{display:grid;grid-gap:18px;gap:18px;margin-top:18px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.downloadPanel{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:#b7d8c2;background:#f5fbf7}.downloadPanel h2,.uploadPanel h2{margin:0;font-size:1.05rem;letter-spacing:0}.downloadPanel p,.uploadPanel p{margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere}.uploadForm{display:grid;grid-gap:14px;gap:14px}.uploadForm label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.88rem;font-weight:700}.uploadForm input{min-height:40px;width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);background:#ffffff;font:inherit}.formGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.meetingRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.meetingRow h2{font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere}.meetingRow p{margin:6px 0 10px;font-size:.93rem;overflow-wrap:anywhere}.primaryButton,.secondaryButton{min-height:42px;border-radius:6px;border:1px solid transparent;padding:0 16px;font-weight:700;cursor:pointer;white-space:nowrap}.primaryButton{background:var(--primary);color:#ffffff}.primaryButton:hover:not(:disabled){background:var(--primary-hover)}.secondaryButton{background:var(--surface);color:var(--primary);border-color:var(--border)}.secondaryButton:hover:not(:disabled){border-color:var(--primary)}.primaryButton:disabled,.secondaryButton:disabled{cursor:not-allowed;opacity:.55}.statusPill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:.82rem;font-weight:700}.statusPill.available{color:var(--accent);background:#e3f3e8}.statusPill.ineligible,.statusPill.unavailable{color:var(--warning);background:#fff3d8}.statusBanner{margin-top:18px;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}.statusBanner.info{border-color:#b7d6e1;background:#e9f6fa}.statusBanner.success{border-color:#b7d8c2;background:#ecf8ef}.statusBanner.error{border-color:#e2b7c1;background:#fff0f3;color:var(--error)}.emptyState{margin-top:18px;padding:18px;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px}@media (max-width:720px){.loginShell,.shell{width:min(100% - 24px,1120px)}.downloadPanel,.formGrid,.meetingRow,.topBar{grid-template-columns:1fr}.topBar{display:grid}.topActions{justify-content:stretch;max-width:none}.topActions span{text-align:left}.primaryButton,.secondaryButton{width:100%;white-space:normal}}