/* New forms reuse the approved modal controls. Existing stylesheet is unchanged. */
.gc-form label{display:block;font-size:8px;font-weight:800;color:#5e6d65;margin:10px 0}
.gc-form input,.gc-form select{display:block;width:100%;height:42px;border:1px solid var(--line);border-radius:9px;padding:0 10px;margin-top:5px;outline:0;background:white}
.gc-form input:focus,.gc-form select:focus{border-color:#79a394;box-shadow:0 0 0 3px rgba(11,90,73,.07)}
.gc-form input[type=file]{height:auto;padding:10px}
.modal-card.gc-scroll{max-height:90vh;overflow-y:auto}
.modal-card input[type=checkbox]{display:inline-block;width:auto;height:auto;margin-right:6px}
.admin-form label{display:block;font-size:10px;font-weight:600;margin:12px 0 5px}
.admin-form input,.admin-form select{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;outline:none}
.admin-form input:focus,.admin-form select:focus{border-color:#7794ff}

/* Member forms: keep the existing green palette and shell, with readable controls. */
/* Dashboard reading scale, scoped away from the public homepage. */
.app-shell{font-size:15px;line-height:1.5}
.app-shell :is(.sidebar-nav button,.sidebar-bottom button,.member-mini b,.profile-chip b,.global-search input,.date-chip,.btn,.text-link,.segmented button,.category-tabs button,.table-filters select,.panel-head select,.marketplace-toolbar>select){font-size:14px}
.app-shell :is(.sidebar-nav p,.member-mini small,.profile-chip small,.page-eyebrow,.sidebar-card p,.sidebar-card button,.global-search kbd,.sidebar-nav button em){font-size:12px;line-height:1.5}
.app-shell :is(.page-title-row p,.panel-head p,.plan-main b,.tx-main b,.transaction-row>strong,.plan-card p,.plan-progress-head,.plan-details b,.transaction-cell b,.member-cell b,.market-spec-grid b,.portfolio-row b,.allocation-list b,.allocation-breakdown b){font-size:14px;line-height:1.5}
.app-shell :is(.metric-card>small,.metric-foot,.chart-legend,.plan-main span,.plan-main small,.tx-main small,.wallet-number small,.wallet-number b,.wallet-actions button,.wallet-actions span,.wallet-status,.wallet-card-large>small,.wallet-card-large p,.wallet-card-large>div:last-child,.wallet-side-stats small,.wallet-side-stats b,.savings-kpis span,.savings-kpis small,.portfolio-kpis span,.portfolio-kpis small,.plan-details small,.calendar-summary,.large-week span,.large-days>div>span,.large-days>div>div,.calendar-controls button,.market-title small,.market-title>span,.market-spec-grid small,.market-funded,.market-image-top>span,.market-progress>div:first-child,.donut small,.allocation-donut small,.allocation-list small,.allocation-breakdown small,.allocation-breakdown>span>strong,.portfolio-gain small,.portfolio-gain b,.data-table small,.status-badge){font-size:13px;line-height:1.5}
.app-shell .data-table th{font-size:12px}.app-shell .data-table td{font-size:14px;line-height:1.5}
.app-shell .wallet-hero-top small,.app-shell .wallet-hero-top>div>span{font-size:13px;line-height:1.5}
.app-shell .member-mini>span,.app-shell .profile-chip>span{font-size:12px}
.member-dialog .member-note p{font-size:14px;line-height:1.6;margin:10px 0}.member-dialog .member-note small{font-size:12px;line-height:1.6;display:block}
.app-shell .panel-head h3{font-size:17px}.app-shell .sidebar-nav button{min-height:44px}
.app-shell .panel-head{flex-wrap:wrap;gap:12px}.app-shell .calendar-controls{flex-shrink:0}
.app-shell :is(.metric-foot,.calendar-summary,.wallet-actions){flex-wrap:wrap;gap:8px}
.app-shell :is(.tx-main,.plan-main){min-width:0;overflow-wrap:anywhere}
.app-shell .sidebar-nav{min-height:0;overflow-y:auto}
.app-shell .sidebar-card,.app-shell .sidebar-bottom,.app-shell .member-mini,.app-shell .sidebar-brand{flex-shrink:0}
.member-form{max-width:820px;padding:28px;margin-bottom:20px}
.member-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.member-form h2{font:750 19px var(--display);margin:0 0 8px;color:var(--ink)}
.member-form p,.member-dialog>p{font-size:13px;line-height:1.65;color:#5e6d65;margin:0 0 16px}
.member-form-heading p{margin:0;max-width:52ch}
.member-status{display:inline-flex;flex-shrink:0;border:1px solid #dce7df;background:#f1f6f2;color:#365347;padding:7px 11px;border-radius:20px;font-size:12px;font-weight:700;text-transform:capitalize}
.member-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}
.member-field-wide{grid-column:1/-1}
.member-form label,.member-dialog label{font-size:13px;font-weight:650;line-height:1.5;color:#344b40;margin:0;display:block}
.member-form input,.member-form select,.member-dialog input,.member-dialog select{width:100%;min-width:0;height:48px;margin-top:8px;padding:0 13px;font:400 14px var(--body, sans-serif);color:#243d31;border:1px solid #cad8cf;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}
.member-form input::placeholder,.member-dialog input::placeholder{color:#7a887f}
.member-form input:focus,.member-form select:focus,.member-dialog input:focus,.member-dialog select:focus{outline:2px solid #39836b;outline-offset:2px;box-shadow:none;border-color:#39836b}
.member-form input[readonly]{background:#f4f7f4;color:#5e6d65}
.member-form small,.member-help{display:block;font-size:12px;font-weight:400;color:#627268;line-height:1.6;margin-top:7px}
.member-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px}
.member-form-actions .btn,.member-dialog .btn{font-size:13px;min-height:44px;padding:12px 18px}
.member-form .text-link,.member-dialog .text-link{font-size:13px;min-height:40px}
.member-form .btn:disabled,.member-dialog .btn:disabled{opacity:.55;cursor:not-allowed}
.member-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f5f8f5;border:1px solid #e2eae3;padding:18px;border-radius:12px;margin:0}
.member-summary dt{font-size:12px;color:#627268;margin-bottom:6px}
.member-summary dd{font-size:13px;color:#344b40;font-weight:600;margin:0;overflow-wrap:anywhere}
.member-note,.member-dialog>p.member-note{padding:14px 16px;border-left:3px solid #80a58d;background:#f2f7f3;border-radius:6px;font-size:13px;line-height:1.6;margin:18px 0;color:#365347;overflow-wrap:anywhere}
.member-error,.member-dialog>p.member-error{background:#fff3f1;border-color:#b84135;color:#8f3026}
.member-dialog>p.member-error{margin-top:28px}
.member-upload{padding:20px;border:1px dashed #aabfb0;border-radius:12px;background:#fafcf9}
.member-form input[type=file],.member-dialog input[type=file]{height:auto;min-height:48px;padding:10px;font-size:13px;max-width:100%}
.member-form input::file-selector-button,.member-dialog input::file-selector-button{border:0;border-radius:6px;background:#e6efe8;color:#235440;padding:9px 12px;margin-right:10px;font-weight:600;cursor:pointer}
.member-session{margin-top:24px}.member-session .member-form-actions{margin-top:16px}
.member-dialog{width:min(500px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:30px;scrollbar-gutter:stable}
.member-dialog label{margin:18px 0}.member-dialog h2{font-size:23px;padding-right:24px}
.member-dialog .modal-close{width:36px;height:36px;z-index:1}
.member-dialog input[type=checkbox]{display:inline-block;width:18px;height:18px;vertical-align:middle;margin:0 8px 0 0;accent-color:var(--green)}
.member-dialog .quick-amounts{gap:8px}.member-dialog .quick-amounts button{height:40px;font-size:12px}
.member-dialog .invest-summary small{font-size:12px}.member-dialog .invest-summary b{font-size:14px}.member-dialog .invest-summary span{padding:12px}
.member-dialog .btn-block+.btn-block{margin-top:12px}
.market-image{position:relative;overflow:hidden}
.project-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.market-image .market-image-top,.market-image .market-funded{z-index:2}
.project-detail-cover{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px;margin-top:20px}
.project-description{white-space:pre-line;overflow-wrap:anywhere}
.project-update{border-top:1px solid var(--line);padding:14px 0;font-size:14px;overflow-wrap:anywhere}
.project-update h4{margin:0 0 8px;font-size:15px}.project-update p{font-size:13px;line-height:1.6;margin:6px 0}
.member-dialog h3{font-size:17px;margin:22px 0 12px}
.app-shell .header-icon.notification .notification-count{width:auto;height:auto;min-width:18px;padding:1px 4px;top:-5px;right:-5px;border-radius:12px;background:var(--green);color:#fff;font-size:11px;line-height:1.4;text-align:center}
.member-notifications{max-width:900px;padding:24px}
.member-notification{display:flex;gap:20px;align-items:flex-start;padding:20px 12px;border-bottom:1px solid var(--line)}
.member-notification>div{flex:1;min-width:0}.member-notification h3{font-size:16px;margin:0 0 6px}.member-notification time{font-size:12px;color:var(--muted)}
.member-notification p{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.65;margin:10px 0 0}
.member-notification.is-unread{background:#f3f8f4;border-left:3px solid var(--green)}
.member-notification .btn{flex-shrink:0}
.member-payment-history{padding:24px;margin-bottom:24px}
.member-payment-history>.member-help{padding:0 12px}
.member-payment-row{display:flex;justify-content:space-between;gap:24px;padding:22px 12px;border-top:1px solid var(--line)}
.member-payment-row>div:first-child{min-width:0;flex:1;overflow-wrap:anywhere}
.member-payment-row h3{font-size:16px;margin:0 0 8px;text-transform:capitalize}
.member-payment-row p{font-size:14px;line-height:1.6;margin:8px 0;color:#4e6257}
.member-payment-row small{font-size:12px;line-height:1.6;color:var(--muted)}
.payment-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.payment-row-actions strong{font-size:18px}
@media(max-width:600px){.member-payment-history{padding:16px}.member-payment-row{flex-direction:column;gap:16px}.payment-row-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.payment-row-actions strong{width:100%}}
.wallet-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
.wallet-filters label{display:grid;gap:6px;font-size:13px;font-weight:600}
.wallet-filters input,.wallet-filters select{width:100%;min-width:0;height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:14px}
.wallet-filters :is(input,select):focus{outline:2px solid #39836b;outline-offset:2px}
.wallet-filter-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.wallet-filters{grid-template-columns:1fr 1fr}.wallet-filters input,.wallet-filters select{font-size:16px}}
@media(max-width:420px){.wallet-filters{grid-template-columns:1fr}.wallet-filter-actions .btn{flex:1}}
@media(max-width:600px){.member-notifications{padding:14px}.member-notification{flex-direction:column;gap:14px}}
@media(max-width:600px){
  .member-form{padding:20px}.member-fields{grid-template-columns:1fr;gap:18px}.member-form-heading{flex-direction:column;gap:12px}
  .member-summary{grid-template-columns:1fr;gap:16px}.member-form-actions{align-items:stretch}.member-form-actions .btn{width:100%}
  .member-form input,.member-form select,.member-dialog input,.member-dialog select{font-size:16px}
  .member-dialog{padding:24px 20px;max-height:calc(100dvh - 24px)}.modal-overlay:has(.member-dialog){padding:12px}
  .member-dialog .quick-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.member-help-topics{display:grid;gap:12px;margin-top:20px;text-align:left}
.member-help-topics details{border:1px solid var(--line);border-radius:12px;padding:14px}
.member-help-topics summary{font-size:15px;font-weight:600;line-height:1.5;cursor:pointer}
.member-help-topics summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}
.member-help-topics p{font-size:14px;line-height:1.7;margin:12px 0!important}
.member-help-topics .btn{white-space:normal;text-align:left}

.global-search-trigger{display:grid;place-items:center;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;flex-shrink:0}.global-search-trigger svg{width:18px;height:18px}
.member-search-results{text-align:left;margin-top:20px}.member-search-results h3 small{font-weight:400}.member-search-results section{padding-bottom:16px;border-bottom:1px solid var(--line)}
.member-search-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:inherit;font-size:14px;cursor:pointer;color:inherit}.member-search-result small{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.member-search-result>span:first-child{min-width:0}.member-search-result strong{overflow-wrap:anywhere}.member-search-result:focus-visible,.global-search-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}.member-search-results .btn{margin-top:12px}

.project-gallery{text-align:left;margin-bottom:20px}.project-gallery .project-detail-cover{object-fit:contain;background:#f3f6f4;margin-bottom:8px}.project-photo-caption{font-size:13px!important;line-height:1.5!important;margin:8px 0!important}.project-gallery-controls{display:flex;justify-content:space-between;gap:12px}.project-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 3px}.project-thumbnails button{flex:0 0 72px;height:56px;padding:2px;border:2px solid transparent;border-radius:8px;background:#f3f6f4;cursor:pointer}.project-thumbnails button[aria-pressed=true]{border-color:var(--green)}.project-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:4px}.project-thumbnails button:focus-visible{outline:2px solid var(--green);outline-offset:2px}

.member-upload-preview{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafcf9;margin:12px 0;overflow-wrap:anywhere}.member-upload-preview p{margin:0}.member-upload-preview p small{display:block;margin-top:4px}.member-upload-preview img{display:block;width:100%;max-height:240px;object-fit:contain;background:#fff;border-radius:8px}.member-upload-preview>.btn{justify-self:start}.member-upload-preview small{line-height:1.5}

.public-load-error{margin:100px auto 0;padding:20px;border:1px solid #d5ded7;border-radius:12px;background:#fff8ef;color:#344b40;font-size:15px;line-height:1.6}.public-load-error p{margin:8px 0 14px}.public-load-error button{font-size:14px;min-height:44px}

.member-form .member-field-error{color:#8f3026;display:block;margin-top:8px;font-size:14px;line-height:1.5}.member-form input[aria-invalid="true"]{border-color:#b84135}

.member-dialog .member-field-error{color:#8f3026;display:block;margin-top:8px;font-size:14px;line-height:1.5}.member-dialog input[aria-invalid="true"]{border-color:#b84135}

.status-badge.neutral{background:#eef2ef;color:#56695e}

.member-form select[aria-invalid="true"],.member-form textarea[aria-invalid="true"],.member-dialog select[aria-invalid="true"]{border-color:#b84135}

.member-dialog .contract-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6}.member-dialog .contract-consent input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}.member-dialog .project-description{overflow-wrap:anywhere}.member-dialog .project-description :is(ul,ol){padding-left:24px}

/* Public account links retain the existing call-to-action appearance. */
.gc-home a.gc-login,.gc-home a.gc-join{text-decoration:none}

.member-investment-update{font-size:16px}.member-investment-update h3{font-size:20px;line-height:1.4;margin:0 0 8px}.member-investment-update p{font-size:16px;line-height:1.7}.member-investment-update time{font-size:13px;color:var(--muted)}.member-investment-update img{display:block;max-width:100%;height:auto;border-radius:12px;margin-top:16px}

/* Keep investment amounts readable and give position actions a dedicated row. */
.app-shell .portfolio-row{min-width:0;grid-template-columns:42px minmax(160px,1fr) repeat(3,minmax(100px,auto)) auto;align-items:start}
.app-shell .portfolio-row small{font-size:13px;line-height:1.5}
.portfolio-row>div{min-width:0;overflow-wrap:anywhere}
.portfolio-position-actions{grid-column:2/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.portfolio-position-actions .btn{min-height:40px;white-space:normal}
@media(max-width:1100px){.app-shell .portfolio-row{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr)}.portfolio-row .portfolio-project-main{grid-column:2/-1}.portfolio-row>div:not(.portfolio-project-main):not(.portfolio-position-actions){grid-column:auto}.portfolio-row .status-badge{grid-column:2/-1;justify-self:start}.portfolio-position-actions{grid-column:1/-1}.portfolio-row .portfolio-project-main .progress{max-width:100%}}
@media(max-width:600px){.app-shell .portfolio-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:14px}.portfolio-project-icon{display:none}.portfolio-row .portfolio-project-main{grid-column:1/-1}.portfolio-row .status-badge{grid-column:auto;align-self:center}.portfolio-position-actions .btn{flex:1 1 140px}}

@media(min-width:721px) and (max-width:1100px){.app-header{flex-wrap:wrap;gap:12px}.app-header-right{flex-wrap:wrap;max-width:100%;margin-left:auto}}
