.user-button { max-width:300px; text-align:center; overflow-wrap:anywhere; }
.signup-card,.account-card { padding:30px; border:1px solid var(--line); background:#f8fbf9; border-radius:12px; }
.signup-card h2 { margin:0; font-size:27px; line-height:1.15; letter-spacing:-.02em; }
.account-eyebrow { margin:0 0 12px; color:var(--green-dark); text-transform:uppercase; font-size:11px; letter-spacing:.1em; }
.account-intro,.signup-card>p:not(.account-eyebrow) { color:var(--muted); font-size:14px; line-height:1.55; margin:12px 0 20px; }
.hero:has(.signup-card) { padding-block:36px; gap:clamp(32px,5vw,80px); grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr); }
.account-form { display:flex; flex-direction:column; gap:14px; }
.signup-card { padding:24px; }
.signup-card .account-form { gap:12px; }
.signup-card .account-intro { margin-bottom:16px; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.account-full { grid-column:1/-1; }
.account-form label { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:13px; font-weight:600; }
.account-form input:not([type=checkbox]),.account-form select { min-width:0; width:100%; border:1px solid #ccd8d0; border-radius:5px; background:white; color:var(--ink); padding:10px 12px; min-height:41px; font-size:14px; font-weight:400; }
.account-form select { text-overflow:ellipsis; }
.account-form input[readonly] { background:#edf3ef; }
.account-form .account-check { flex-direction:row; align-items:flex-start; gap:10px; line-height:1.5; font-size:12px; font-weight:400; }
.account-check input { flex-shrink:0; margin:2px 0 0; width:17px; height:17px; accent-color:var(--green-dark); }
.account-check a,.account-switch a,.account-small-link,.terms-main a { color:var(--green-dark); text-underline-offset:3px; }
.account-primary,.account-secondary { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 20px; min-height:44px; border:1px solid var(--green); border-radius:5px; background:var(--green); color:#fff; font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; }
.account-secondary { background:#fff; color:var(--ink); border-color:#d0d9d3; }
.account-primary:hover { background:var(--green-dark); border-color:var(--green-dark); }
.account-primary:disabled,.account-secondary:disabled { opacity:.6; cursor:default; }
.signup-card>.account-primary,.signup-card>.account-secondary { display:flex; margin-top:14px; }
.account-switch { margin:0; text-align:center; font-size:12px; color:var(--muted); line-height:1.6; }
.account-error:empty { display:none; }.account-error { color:#a22f2f; font-size:14px; line-height:1.5; margin:0; }
.draft-note { margin:0; color:#68776e; font-size:11px; line-height:1.5; }
.account-main { flex:1; display:flex; align-items:flex-start; justify-content:center; padding-block:54px 72px; }
.account-card { width:100%; max-width:500px; padding:36px; }
.account-card h1 { font-size:36px; text-wrap:initial; }
.account-card>p:not(.account-eyebrow):not(.account-switch) { color:var(--muted); line-height:1.6; font-size:15px; margin:18px 0 24px; }
.account-card .account-switch { margin-top:24px; }
.account-small-link { display:inline-block; margin-top:18px; font-size:13px; }
.social-options { display:grid; grid-template-columns:1fr; gap:10px; }
.social-button { display:flex; align-items:center; justify-content:center; gap:12px; background:white; color:var(--ink); border:1px solid #d1dbd5; border-radius:5px; min-height:45px; padding:10px 14px; font-size:14px; cursor:pointer; }
.social-button:disabled { color:#66756b; background:#f2f6f3; cursor:default; }.social-button small { font-size:10px; margin-left:auto; }.social-letter { font-weight:700; font-size:18px; }
.account-divider { display:flex; align-items:center; gap:14px; color:#758278; font-size:12px; margin:22px 0; }.account-divider::before,.account-divider::after { content:''; flex:1; height:1px; background:var(--line); }
.field-help { margin:0; font-size:12px; line-height:1.5; color:var(--muted); }.account-notice { padding:14px; background:#e5f2ea; color:#235b3e; font-size:14px; line-height:1.5; border-radius:5px; }
.investment-lock { display:inline-flex; vertical-align:-2px; color:var(--green-dark); }.access-note { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:26px 0 -22px; font-size:13px; line-height:1.5; color:var(--muted); }.access-note a { color:var(--green-dark); text-underline-offset:3px; }
.gate-lock { display:block; color:var(--green-dark); margin-bottom:22px; }.gate-lock svg { width:32px; height:32px; }
.profile-main { flex:1; padding-block:55px 80px; }.profile-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:36px; }.profile-heading p:not(.account-eyebrow) { color:var(--muted); }.profile-main h2 { font-size:24px; font-weight:600; margin:0 0 20px; }
.profile-details { padding:28px; background:var(--soft-green); border-radius:8px; margin-bottom:44px; }.profile-details dl { margin:0; display:grid; grid-template-columns:1fr 2fr 1fr; gap:24px; }.profile-details dt { font-size:12px; color:var(--muted); margin-bottom:8px; }.profile-details dd { font-size:15px; line-height:1.5; margin:0; }
.library-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }.library-heading span,.library-note { font-size:14px; color:var(--muted); }.library-note { line-height:1.6; margin:0 0 24px; }.library-empty { padding:50px 24px; border:1px solid var(--line); border-radius:8px; text-align:center; }.library-empty h3 { font-size:22px; margin:0 0 12px; }.library-empty p { color:var(--muted); font-size:15px; margin:0 0 24px; }
.report-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.library-card { display:flex; gap:24px; align-items:center; padding:26px; border:1px solid var(--line); border-radius:8px; }.library-card h3 { margin:0 0 12px; font-size:21px; }.library-card p { color:var(--muted); font-size:13px; }.library-paper { flex-shrink:0; width:105px; height:145px; padding:15px 12px; border:1px solid #d1e0d5; background:#f1f7f3; font-size:9px; color:var(--green-dark); box-shadow:4px 4px 0 #e3ece6; }.library-paper strong { display:block; margin:18px 0; font-size:15px; }.library-paper span { display:block; font-size:10px; }
.terms-main { max-width:1000px; flex:1; padding-block:60px 80px; }.terms-main h1 { font-size:44px; }.terms-main h2 { margin:34px 0 14px; font-size:23px; }.terms-main p { color:#435349; font-size:16px; line-height:1.75; }.terms-main .draft-banner { display:inline-block; margin:0 0 20px; padding:9px 13px; background:#fff1d7; color:#775a27; font-size:12px; font-weight:600; }.terms-editor-note { padding:20px; background:#faf5e9; border:1px solid #eadfca; border-radius:6px; font-size:14px; line-height:1.6; }.terms-main .terms-version { font-size:13px; color:var(--muted); }
.viewer-main { padding-block:36px 70px; max-width:1200px; }.viewer-heading h1 { font-size:30px; margin-top:26px; }.viewer-heading p,.viewer-policy { font-size:13px; color:var(--muted); }.viewer-toolbar { display:flex; gap:16px; justify-content:space-between; align-items:center; margin-top:26px; }.viewer-toolbar label { font-size:14px; }.viewer-toolbar input { width:60px; padding:8px; border:1px solid #cdd8d1; border-radius:4px; }.report-page-frame { border:1px solid var(--line); background:#edf1ee; padding:18px; user-select:none; margin-top:20px; }.report-page-frame img { display:block; width:100%; height:auto; pointer-events:auto; }.print-block-message { display:none; }
@media(max-width:1050px) { .hero:has(.signup-card) { grid-template-columns:minmax(0,1fr) minmax(340px,1fr); gap:28px; }.signup-card { padding:24px; }.profile-details dl { grid-template-columns:1fr 1fr; }.report-library-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .hero:has(.signup-card) { grid-template-columns:1fr; gap:36px; padding-block:44px; }.signup-card { max-width:560px; }.profile-heading { align-items:flex-start; }.profile-details dl { grid-template-columns:1fr; }.account-card { padding:26px; }.user-button { max-width:200px; }.viewer-toolbar { gap:8px; }.viewer-toolbar button { padding:10px; }.viewer-main h1 { font-size:27px; } }
@media(max-width:420px) { .account-grid { grid-template-columns:1fr; }.account-full { grid-column:auto; }.library-card { padding:18px; gap:18px; }.library-paper { display:none; }.user-button { max-width:160px; }.profile-heading { flex-direction:column; } }
@media print { body:has(.viewer-main)>* { display:none!important; } body:has(.viewer-main)::after { content:'Printing this report is not permitted. Read it in your Sequoia Research account.'; display:block; padding:40px; } }
.profile-new-badge { display:inline-block; margin-left:5px; background:#fff; color:#006b4c; border-radius:12px; font-size:10px; font-weight:700; padding:3px 7px; white-space:nowrap; }
.report-new-badge { display:inline-block; color:#006b4c; background:#ddf4e7; border-radius:12px; font-size:10px; font-weight:700; padding:4px 9px; margin-bottom:8px; }
.library-new-alert { background:#eaf7ef; border:1px solid #bbdfc9; padding:16px 20px; border-radius:7px; font-size:14px; line-height:1.7; margin-bottom:25px; }.library-new-alert strong { display:block; }
.library-card-new { border-color:#83cba3; }.library-card:target { outline:3px solid #83cba3; outline-offset:4px; }#purchased-reports,.library-card { scroll-margin-top:24px; }
