/* The portal's OWN content styles, on the live site's design tokens (captured 2026-08-27 - see
   chrome/site-chrome.css for provenance): navy #10356B, link blue #0471B8, CTA orange #FF9454 / #C16B3F,
   pale blue #DDF8FF / #F7FCFE, border #E2E0E0. The header/footer are the site's; this file styles only what
   sits between them. Local file, nothing remote. */
:root {
    --rx-navy: #10356B;
    --rx-blue: #0471B8;
    --rx-orange: #FF9454;
    --rx-orange-hover: #C16B3F;
    --rx-pale: #F7FCFE;
    --rx-pale-blue: #DDF8FF;
    --rx-line: #E2E0E0;
    --rx-ink: #333333;
    --rx-muted: #5b6572;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--rx-ink); background: #FFFFFF; }

.portal-main {
    width: min(720px, calc(100% - 40px));
    margin: 0 auto;
    padding: 2.2rem 0 3.5rem;
    min-height: 52vh;
}

h1 { font-size: 1.6rem; margin: 0.4rem 0 1rem; }
h2 { font-size: 1.1rem; margin: 1.6rem 0 0.6rem; }
p.muted, span.muted { color: var(--rx-muted); }
a { color: var(--rx-blue); }

.notice { background: var(--rx-pale-blue); border: 1px solid #b9e4f0; border-radius: 4px; padding: 0.7rem 0.9rem; margin: 0 0 1rem; }
.error { background: #fbeeee; border: 1px solid #e4bcbc; border-radius: 4px; padding: 0.7rem 0.9rem; margin: 0 0 1rem; }

form.stack label { display: block; margin: 0.9rem 0 0.3rem; font-weight: 600; color: var(--rx-navy); }
form.stack input, form.stack select, form.stack textarea {
    width: 100%; padding: 0.6rem 0.7rem; font-size: 1rem; font-family: inherit;
    border: 1px solid var(--rx-line); border-radius: 4px; background: #fff; color: var(--rx-ink);
}
form.stack input:focus-visible, form.stack select:focus-visible, form.stack textarea:focus-visible,
button:focus-visible { outline: 3px solid var(--rx-blue); outline-offset: 2px; }

button {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 12px 17px;
    background: var(--rx-orange); color: #FFFFFF; border: 0; border-radius: 0;
    font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: .02em; line-height: 1.15;
    cursor: pointer;
}
button:hover { background: var(--rx-orange-hover); }
button.link { background: none; color: var(--rx-blue); text-decoration: underline; padding: 0; min-height: 0; font-size: 0.95rem; font-weight: 400; letter-spacing: 0; }
button.link:hover { background: none; color: var(--rx-navy); }

.rx-card { background: #fff; border: 1px solid var(--rx-line); border-radius: 4px; padding: 1rem 1.1rem; margin: 0 0 0.9rem; box-shadow: 0 2px 8px rgba(16, 53, 107, .05); }
.rx-card .drug { font-family: Poppins, Montserrat, system-ui, sans-serif; font-weight: 600; color: var(--rx-navy); font-size: 1.02rem; }
.rx-card .facts { color: var(--rx-muted); font-size: 0.9rem; line-height: 1.6; margin: 0.25rem 0 0.7rem; }
.rx-card form { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; }
.rx-card select { padding: 0.55rem 0.6rem; font-family: inherit; border: 1px solid var(--rx-line); border-radius: 4px; min-height: 46px; }
.rx-card button { min-height: 46px; }

.status-pill { display: inline-block; background: var(--rx-pale-blue); color: var(--rx-navy); border-radius: 999px; padding: 0.25rem 0.8rem; font-size: 0.86rem; font-weight: 600; }
.asof { color: var(--rx-muted); font-size: 0.85rem; margin-top: 1.4rem; }

table.requests { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--rx-line); }
table.requests th { text-align: left; padding: 0.55rem 0.75rem; border-bottom: 2px solid var(--rx-line); color: var(--rx-navy); font-size: 0.88rem; letter-spacing: .03em; }
table.requests td { text-align: left; padding: 0.55rem 0.75rem; border-bottom: 1px solid var(--rx-line); font-size: 0.92rem; }
table.requests tr:last-child td { border-bottom: 0; }

.signout { margin-top: 2.2rem; }
