/* Access portal additions on top of the rockingja.com site.css */
.portal-hero { padding: 3rem 0 1rem; }
.portal-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 2.5rem; align-items: start; }
.portal-mark { width: min(100%, 15rem); justify-self: center; }
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0; }
.steps li { counter-increment: s; position: relative; padding-left: 2.4rem; margin: 0 0 0.9rem; color: var(--muted); }
.steps li::before { content: counter(s); position: absolute; left: 0; top: 0.05rem; width: 1.6rem; height: 1.6rem; border-radius: 999px; background: var(--ember-soft); color: var(--ember-hot); font-weight: 700; font-size: 0.85rem; display: grid; place-items: center; border: 1px solid rgba(232, 90, 26, 0.4); }
.steps strong { color: var(--cream); }
.connect { list-style: none; padding: 0; margin: 0.4rem 0 0; }
.connect li { margin: 0.35rem 0; }
.connect code { font-size: 1rem; color: var(--cream); }
.alert { border: 1px solid rgba(232, 90, 26, 0.5); background: rgba(232, 90, 26, 0.08); border-radius: 0.7rem; padding: 0.8rem 1rem; margin: 0 0 1.2rem; }
.alert.ok { border-color: rgba(120, 200, 120, 0.45); background: rgba(120, 200, 120, 0.07); }
.field-err { display: block; color: var(--ember-hot); font-size: 0.85rem; margin-top: 0.25rem; font-weight: 500; }
.ts-wrap { margin: 0.2rem 0 1rem; min-height: 65px; }
.small { font-size: 0.88rem; }
/* admin */
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.reqcard { border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.2rem; margin: 0 0 1rem; background: rgba(232, 220, 200, 0.02); }
.reqcard h3 { margin: 0 0 0.3rem; font-size: 1.1rem; }
.reqcard dl { display: grid; grid-template-columns: 8rem 1fr; gap: 0.15rem 1rem; margin: 0.6rem 0; }
.reqcard dt { color: var(--muted); }
.reqcard dd { margin: 0; overflow-wrap: anywhere; }
.pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.req-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: flex-end; margin-top: 0.6rem; }
.req-actions form { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0; }
.req-actions input[type=text] { font: inherit; font-size: 0.9rem; color: var(--ink); background: #110f0d; border: 1px solid rgba(232, 220, 200, 0.16); border-radius: 0.5rem; padding: 0.45rem 0.6rem; min-width: 16rem; }
.req-actions label { font-size: 0.88rem; color: var(--muted); display: inline-flex; gap: 0.3rem; align-items: center; }
button.btn { cursor: pointer; font-family: inherit; }
.btn.danger { background: transparent; color: var(--cream); border-color: rgba(232, 90, 26, 0.6); }
.badge { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.1rem 0.55rem; border-radius: 999px; border: 1px solid var(--line); }
.badge.pending { color: var(--ember-hot); border-color: rgba(232, 90, 26, 0.5); }
.badge.approved { color: #8fd18f; border-color: rgba(120, 200, 120, 0.45); }
.badge.denied { color: var(--muted); }
details summary { cursor: pointer; color: var(--muted); font-size: 0.9rem; }
@media (max-width: 820px) { .portal-grid { grid-template-columns: 1fr; } .portal-mark { width: min(55%, 12rem); order: -1; } .reqcard dl { grid-template-columns: 1fr; } }
/* required-field marker: plain inline accent asterisk right after the label text */
.inquiry .req { display: inline; color: var(--ember-hot); background: none; border: 0; padding: 0; margin: 0 0 0 0.15em; border-radius: 0; font-weight: 600; }
.two-steps { margin-bottom: 1rem; }
.connect li { margin: 0.55rem 0; color: var(--muted); font-size: 0.95rem; line-height: 1.5; }
.connect strong { color: var(--cream); }
