#memberJournal form{margin:18px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
#memberJournal #journalNote{grid-template-columns:1fr;max-width:700px}
#memberJournal textarea{font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;resize:vertical}
#journalCalendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;margin:16px 0}
#journalCalendar button{background:#eef1f6;color:#243348;font-size:12px;min-height:44px}
#journalTrades{overflow-x:auto}#journalTrades table{width:100%;border-collapse:collapse}#journalTrades th,#journalTrades td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}
#journalTrades table{min-width:500px}
#journalExportBox{display:grid;gap:10px;padding:12px 0}#journalExportBox textarea{width:100%;min-height:110px}#journalExportBox a{padding:12px;background:var(--blue);color:white;border-radius:8px;justify-self:start}
.journal-heading,.journal-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.journal-actions{justify-content:flex-start}.journal-actions label{display:flex;align-items:center}.journal-actions input{height:auto}
#journalCalendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}#journalCalendar[data-view=Daily]{grid-template-columns:1fr}#journalCalendar>strong{text-align:center;font-size:12px}
#journalCalendar button{height:auto;min-height:85px;padding:8px;text-align:left;overflow-wrap:anywhere}#journalCalendar button>*{display:block}#journalCalendar button strong{font-size:12px;margin:6px 0}#journalCalendar button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--blue)}
#journalBody{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}#journalBody>section{min-width:0}#memberJournal[data-layout="Below trades"] #journalBody{grid-template-columns:1fr}
#memberJournal[data-density=Compact] #journalCalendar button{min-height:62px}#memberJournal[data-density=Compact] td{padding:6px}
.journal-images{display:flex;flex-wrap:wrap;gap:8px}.journal-images figure{margin:8px 0;max-width:100%;display:flex;flex-wrap:wrap;gap:6px}.journal-images img{width:100%;max-height:280px;object-fit:contain}.journal-images button{height:auto;min-height:32px;overflow-wrap:anywhere}
#journalTotals{font-size:22px;font-weight:700;padding:12px 0}#memberJournal [hidden]{display:none!important}#journalSettings input[type=checkbox]{height:auto}#journalPrint{display:none}
@media(max-width:1050px){#journalBody{grid-template-columns:1fr}}
@media(max-width:500px){#journalCalendar button{padding:4px;font-size:11px;min-height:54px}#journalCalendar:not([data-view=Daily]) button strong{display:none}#journalCalendar button small{font-size:9px}#journalCalendar button small{overflow-wrap:normal}#journalCalendar[data-view=Daily] button strong{display:block}}
@media print{body>*:not(#journalPrint){display:none!important}#journalPrint{display:block;padding:12px;font-size:10pt}#journalPrint table{min-width:0;width:100%;table-layout:fixed}#journalPrint th,#journalPrint td{padding:5px;overflow-wrap:anywhere;white-space:pre-wrap}#journalPrint p{white-space:pre-wrap}}
#portalShell{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px}
#portalContent .home-page{background:transparent;padding:8px 0;border-radius:0;color:#172437;font-size:14px;line-height:1.5}
.home-heading{margin-bottom:24px}.home-heading h1{font-size:28px;line-height:1.25;font-weight:650;letter-spacing:-.7px;margin:7px 0 8px}.home-heading p{margin:0}
body:has(#portalShell:not(.hidden))>header{padding:18px max(28px,calc((100vw - 1044px)/2));align-items:center}body:has(#portalShell:not(.hidden))>header>img{width:64px;height:64px}
.home-eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:650;color:#637189;margin:0}.home-muted{color:#637189}
.home-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.home-card{background:white;border:1px solid #e4e9f1;border-radius:16px;padding:22px;min-width:0}.home-card h2:not(.home-eyebrow){font-size:18px;margin:0;font-weight:650}.home-number{font-size:27px;line-height:1.3;font-weight:650;letter-spacing:-.5px;margin:10px 0 4px}.home-card small{display:block;font-size:12px}.home-positive{color:#13744e}.home-negative{color:#b33d4b}
.home-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.home-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-bottom:1px solid #e4e9f1}.home-row:last-child{border:0;padding-bottom:0}.home-row strong{font-size:13px;font-weight:600;text-align:right;overflow-wrap:anywhere;min-width:0}.home-row>span{min-width:0}.home-action{font-weight:600}.home-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-text-button{background:transparent;color:#2559d6;font-size:13px;padding:0;height:auto;min-height:32px}.home-chat-copy{min-width:0;flex:1}.home-chat-copy h3{font-size:14px;margin:0;font-weight:600;overflow-wrap:anywhere}.home-chat-copy p{font-size:12px;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#eaf0ff;color:#2559d6;font-size:12px;font-weight:650}.home-unread{font-size:11px;color:#2559d6}.home-chat-help{font-size:12px;margin:20px 0 0}.home-chat-list>p{font-size:13px;padding:14px 0}.home-footnote{font-size:11px;color:#637189;margin-top:17px}
@media(max-width:1000px){.home-columns{grid-template-columns:1fr}}
@media(max-width:560px){.home-metrics{grid-template-columns:1fr}.home-card{padding:18px}.home-heading h1{font-size:25px}.home-row{gap:10px}.home-number{font-size:25px}}
.guest-nav{display:flex;gap:24px;flex-wrap:wrap}.guest-nav a{color:#eaf0fa;text-decoration:none;font-size:14px}.guest-nav a:hover{text-decoration:underline}
.customer-main:has(>#portalShell.hidden){display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:24px;max-width:1200px}
.customer-main:has(>#portalShell.hidden)>section{grid-column:1/-1;margin:0}
.customer-main:has(>#portalShell.hidden)>.welcome-hero{grid-column:1;grid-row:1}
.customer-main:has(>#portalShell.hidden)>.member-login{grid-column:2;grid-row:1;align-self:start;padding:28px}
.customer-main:has(>#portalShell.hidden) #loginForm{grid-template-columns:1fr!important}
.welcome-hero{padding:22px 18px 28px 0}.welcome-kicker{font-size:12px;letter-spacing:.14em;font-weight:800;color:#137a55}
.welcome-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:18px 0 22px;letter-spacing:-.045em}
.welcome-hero>p{font-size:17px;line-height:1.65;color:#566073;max-width:490px}.welcome-link{display:inline-block;margin:14px 0 26px;color:#174ab9;font-weight:700;text-decoration:none}
.welcome-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);padding-top:24px}.welcome-features span{color:#137a55;font-size:12px;font-weight:800}.welcome-features h2{font-size:15px;margin:12px 0 8px}.welcome-features p,.guest-login-help,.welcome-risk{font-size:13px;color:#566073;line-height:1.6}.guest-login-help{margin-bottom:22px}.welcome-risk{border-top:1px solid var(--line);padding-top:18px}
body:has(#portalShell:not(.hidden)) .guest-nav,body:has(#portalShell:not(.hidden)) .guest-login-help{display:none}
@media(max-width:800px){.customer-main:has(>#portalShell.hidden){grid-template-columns:1fr}.customer-main:has(>#portalShell.hidden)>.welcome-hero,.customer-main:has(>#portalShell.hidden)>.member-login{grid-column:1;grid-row:auto}.welcome-hero{order:-1;padding:8px 0}.welcome-features{gap:12px}.guest-nav{gap:16px}}
#portalShell>nav{background:#111e33;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;align-self:start}
#portalShell>nav button{text-align:left;background:transparent;color:#eaf0fa;height:auto;min-height:42px;padding:10px}
#portalShell>nav button[aria-current=page]{background:#2a3c57}
#portalContent{min-width:0}.portal-page{background:white;padding:20px;border-radius:16px;min-width:0}.portal-page[hidden],.portal-guest-hidden{display:none!important}
.portal-page details{padding:16px 0;border-bottom:1px solid var(--line)}.portal-page p{white-space:pre-wrap;overflow-wrap:anywhere}
.portal-form{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}.portal-form button{justify-self:start}
/* Keep preference checkboxes out of the text-field grid sizing. The whole
   label remains a comfortable click target, including on narrow screens. */
.portal-form label:has(> input[type="checkbox"]){display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.portal-form input[type="checkbox"]{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;padding:0;accent-color:var(--blue)}
.portal-form input[type="checkbox"]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:760px){#portalShell{grid-template-columns:1fr}#portalShell>nav{flex-direction:row;flex-wrap:wrap}.portal-page{padding:12px}}
