.entry-shell { width: min(760px, calc(100% - 40px)); margin: 48px auto 72px; }
.entry-shell h1 { font-size: 28px; line-height: 1.25; margin-bottom: 12px; }
.entry-shell h2 { font-size: 20px; margin: 24px 0 14px; }
.entry-intro { font-size: 16px; line-height: 1.6; color: #687680; }
.role-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0 20px; }
.role-choice { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border: 1px solid #DCE3E8; border-radius: 18px; background: #fff; text-decoration: none; color: #1F2B36; }
.role-choice:hover { border-color: #078143; }
.role-choice strong { font-size: 20px; font-weight: 600; color: #078143; }
.role-choice span, .entry-note { color: #687680; font-size: 14px; line-height: 1.6; }
.entry-shell form { display: grid; gap: 18px; }
.entry-shell label { display: grid; gap: 8px; font-size: 14px; }
.entry-shell label .form-message:empty { display: none; }
.entry-shell input:not([type=checkbox]), .request-admin select, .request-admin textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #DCE3E8; border-radius: 10px; font: inherit; }
.entry-shell .request-consent { display: flex; align-items: flex-start; gap: 10px; }
.request-consent input { width: 18px; height: 18px; flex-shrink: 0; }
.request-item { padding: 20px 0; border-top: 1px solid #DCE3E8; overflow-wrap: anywhere; }
.request-item h3 { font-size: 16px; margin: 0 0 8px; }
.request-item p { margin: 8px 0; }
.request-admin-controls { display: grid; gap: 12px; max-width: 680px; }
.request-admin-controls label { display: grid; gap: 6px; }
.request-admin-controls select, .request-admin-controls textarea { font: inherit; padding: 10px; border: 1px solid #DCE3E8; border-radius: 8px; width: 100%; }
.request-admin-controls textarea { min-height: 72px; }
.request-admin-controls button, #requests-refresh { font: inherit; padding: 10px 14px; color: #078143; background: white; border: 1px solid #DCE3E8; border-radius: 10px; cursor: pointer; }
.request-admin-controls button:disabled { opacity: .55; cursor: wait; }
@media (max-width:600px) { .entry-shell { margin-top: 28px; } .role-choices { grid-template-columns: 1fr; } .entry-shell h1 { font-size: 24px; } }
.entry-shell [hidden] { display: none !important; }
.request-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }
/* Advisory source checks use both text and color. */
.check-signal { padding: 7px 10px; border-radius: 8px; font-size: 12px; font-weight: 600; }
.check-green { color:#096b3e; background:#eaf8f0; }
.check-yellow { color:#795005; background:#fff5dc; }
.check-red { color:#9d2532; background:#fff0f1; }
.check-gray { color:#53626e; background:#eef2f5; }
#direct-consent-panel { margin-bottom:24px; }
.direct-consent-terms { margin:12px 0 20px; font-size:14px; line-height:1.55; }
.direct-consent-terms summary { cursor:pointer; font-weight:500; }
#direct-consent-companies { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
#direct-consent-companies .stack-form { gap:10px; align-content:start; }
#direct-consent-companies h3, #direct-consent-companies p { margin:0; }
#direct-consent-companies label { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.5; }
#direct-consent-companies input[type="checkbox"] { width:18px; height:18px; min-height:18px; padding:0; margin:1px 0 0; flex:0 0 18px; accent-color:#08b85f; }
#direct-consent-companies button { justify-self:start; width:auto; padding:10px 16px; }
