.jp-account-utility-page,
.jp-page-wallet,
.jp-legal-page { background: linear-gradient(145deg, #f7f8fa, #f1f4f7); color: #020617; }

.jp-utility-heading,
.jp-wallet-intro {
    display: flex; width: min(100%, 980px) !important; max-width: 980px !important;
    min-height: 56px; margin: 0 auto 12px !important; padding: 0 !important;
    align-items: center; justify-content: space-between;
}
.jp-utility-heading span,
.jp-wallet-intro__eyebrow { display: block; margin-bottom: 1px; color: #8a94a3; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.jp-utility-heading h1,
.jp-wallet-intro h1 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
.jp-utility-heading p,
.jp-wallet-intro p { margin: 3px 0 0; color: #6d7889; font-size: 11px; }

.jp-account-settings--compact,
.jp-wallet-page,
.jp-category-workspace,
.jp-legal-workspace { width: auto !important; max-width: none !important; padding-top: 20px !important; }

.jp-account-profile-card,
.jp-account-shortcuts,
.jp-category-browser,
.jp-legal-card { width: min(100%, 980px) !important; max-width: 980px !important; margin-right: auto !important; margin-left: auto !important; }

.jp-account-profile-card {
    display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; min-height: 82px;
    margin-bottom: 12px !important; padding: 14px !important; align-items: center; gap: 13px;
    border-radius: 12px; background: linear-gradient(100deg, #fff, #faf5f5); box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.jp-account-profile-card__avatar { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; color: #fff; background: #af1f24; font-size: 16px; font-weight: 800; }
.jp-account-profile-card__copy { display: flex; min-width: 0; flex-direction: column; }
.jp-account-profile-card__copy strong { font-size: 15px; font-weight: 800; }
.jp-account-profile-card__copy span { overflow: hidden; color: #667085; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.jp-account-profile-card__copy small { margin-top: 3px; color: #8a94a3; font-size: 10px; }
.jp-account-profile-card__signout { display: inline-flex; min-height: 34px; padding: 7px 10px; align-items: center; gap: 5px; border-radius: 8px; color: #9e252a; background: #fff0f1; font-size: 11px; font-weight: 800; }

.jp-account-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 0 !important; }
.jp-account-shortcuts > a { display: grid; grid-template-columns: 38px minmax(0, 1fr) 18px; min-height: 65px; padding: 10px 11px; align-items: center; gap: 10px; border-radius: 10px; color: #020617; background: #fff; box-shadow: 0 8px 22px rgba(15, 23, 42, .04); }
.jp-account-shortcuts__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; color: #af1f24; background: #fff0f1; }
.jp-account-shortcuts__icon ion-icon { font-size: 18px; }
.jp-account-shortcuts > a > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.jp-account-shortcuts strong { font-size: 12.5px; font-weight: 800; }
.jp-account-shortcuts small { color: #6f7a8a; font-size: 10px; }
.jp-account-shortcuts > a > ion-icon { color: #8691a0; font-size: 16px; }

.jp-page-wallet .jp-wallet-summary,
.jp-page-wallet .jp-wallet-ledger { width: min(100%, 980px) !important; max-width: 980px !important; margin-right: auto !important; margin-left: auto !important; }
.jp-wallet-summary { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr) !important; gap: 10px !important; padding: 0 !important; }
.jp-wallet-summary > * { width: auto !important; max-width: none !important; margin: 0 !important; }
.jp-wallet-summary__card { border: 0 !important; border-radius: 12px !important; background: linear-gradient(120deg, #eef8f3, #fff) !important; box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important; }
.jp-wallet-summary__body { display: grid; grid-template-columns: 46px minmax(0, 1fr) 34px; min-height: 104px; padding: 14px !important; align-items: center; gap: 12px; }
.jp-wallet-summary__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 11px; color: #246f55; background: #ddf1e8; }
.jp-wallet-summary__icon ion-icon { font-size: 22px; }
.jp-wallet-summary__copy { display: flex; min-width: 0; flex-direction: column; }
.jp-wallet-summary__label { color: #667085 !important; font-size: 10px !important; font-weight: 700 !important; }
.jp-wallet-summary__balance { margin: 4px 0 0 !important; font-size: 23px !important; font-weight: 800 !important; letter-spacing: -.025em; }
.jp-wallet-summary__currency { margin-top: 2px; color: #7b8796; font-size: 9px; font-weight: 800; }
.jp-wallet-summary__reveal { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 0; border-radius: 8px; color: #475569; background: #fff; }
.jp-wallet-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.jp-wallet-actions button { display: flex; min-width: 0; align-items: center; justify-content: center; flex-direction: column; border: 0; border-radius: 12px; color: #7c8797; background: #e9edf1; opacity: .8; }
.jp-wallet-actions button ion-icon { font-size: 18px; }
.jp-wallet-actions button span { margin-top: 4px; font-size: 11px; font-weight: 800; }
.jp-wallet-actions button small { font-size: 8.5px; }
.jp-wallet-ledger { margin-top: 12px !important; }
.jp-wallet-ledger__heading { min-height: 38px; }
.jp-wallet-ledger__heading h2 { font-size: 16px !important; font-weight: 800 !important; }
.jp-wallet-ledger__surface { overflow: hidden; border-radius: 12px !important; background: #fff !important; box-shadow: 0 8px 24px rgba(15, 23, 42, .045); }

.jp-category-browser { padding: 14px !important; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(15, 23, 42, .045); }
.jp-category-browser__tabs { display: flex; gap: 5px; }
.jp-category-browser__tabs button { min-height: 34px; padding: 7px 11px; border: 0; border-radius: 8px; color: #5e6979; background: #f1f3f5; font-size: 11px; font-weight: 800; }
.jp-category-browser__tabs button.is-active { color: #fff; background: #020617; }
.jp-category-browser__tabs span { margin-left: 5px; opacity: .72; }
.jp-category-browser__search { display: grid; grid-template-columns: 26px minmax(0, 1fr); height: 38px; margin: 10px 0; align-items: center; border-radius: 9px; background: #f4f5f7; }
.jp-category-browser__search ion-icon { justify-self: end; color: #7a8594; font-size: 15px; }
.jp-category-browser__search input { width: 100%; height: 38px; padding: 0 10px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11px; }
.jp-category-list { display: grid; gap: 6px; }
.jp-category-item { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; min-height: 54px; padding: 8px 9px; align-items: center; gap: 10px; border-radius: 8px; background: #f7f8fa; }
.jp-category-item[hidden] { display: none; }
.jp-category-item__icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 8px; color: #af1f24; background: #fff; }
.jp-category-item__copy { display: flex; min-width: 0; flex-direction: column; }
.jp-category-item__copy strong { font-size: 12px; font-weight: 800; }
.jp-category-item__copy span { color: #748091; font-size: 9.5px; }
.jp-category-item__actions { display: flex; gap: 5px; }
.jp-category-item__actions button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #596579; background: #fff; }
.jp-category-item__actions button:disabled { opacity: .28; }
.jp-category-panel__empty, .jp-category-browser__empty { padding: 20px; color: #778293; text-align: center; font-size: 11px; }
.jp-category-edit-modal .modal-content { background: #fff7f7 !important; border: 0 !important; }

.jp-legal-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); padding: 18px !important; gap: 13px; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(15, 23, 42, .045); }
.jp-legal-card__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 10px; color: #af1f24; background: #fff0f1; }
.jp-legal-card h2 { margin: 0; font-size: 15px; font-weight: 800; }
.jp-legal-card p { max-width: 620px; margin: 5px 0 12px; color: #667085; font-size: 11px; line-height: 1.55; }
.jp-legal-card a { display: inline-flex; align-items: center; gap: 5px; color: #af1f24; font-size: 11px; font-weight: 800; }

@media (min-width: 720px) {
    .jp-account-settings--compact,
    .jp-wallet-page,
    .jp-category-workspace,
    .jp-legal-workspace { margin-left: 286px !important; padding-right: 24px !important; }
}

@media (max-width: 719px) {
    .jp-account-settings--compact,
    .jp-wallet-page,
    .jp-category-workspace,
    .jp-legal-workspace { padding: 72px 14px 112px !important; }
    .jp-utility-heading, .jp-wallet-intro, .jp-account-profile-card, .jp-account-shortcuts, .jp-category-browser, .jp-legal-card,
    .jp-page-wallet .jp-wallet-summary, .jp-page-wallet .jp-wallet-ledger { width: 100% !important; }
    .jp-account-profile-card { grid-template-columns: 44px minmax(0, 1fr) 34px; min-height: 72px; padding: 10px !important; }
    .jp-account-profile-card__avatar { width: 44px; height: 44px; }
    .jp-account-profile-card__signout { width: 34px; height: 34px; padding: 0; justify-content: center; }
    .jp-account-profile-card__signout span { display: none; }
    .jp-account-shortcuts { grid-template-columns: 1fr; gap: 7px; }
    .jp-wallet-summary { grid-template-columns: 1fr !important; }
    .jp-wallet-actions { min-height: 72px; }
    .jp-category-browser { padding: 11px !important; }
}

.jp-guided-project-page { background:linear-gradient(145deg,#f6f7f9,#f1f4f6 60%,#f8f2f3);color:#151116; }
.jp-guided-project { box-sizing:border-box;width:min(1120px,calc(100% - 40px))!important;max-width:1120px!important;margin-inline:auto!important;padding:20px 0 112px!important; }
.jp-guided-project__intro { display:flex;min-height:76px;padding:14px 16px;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,#f7e9eb,#fff 58%,#edf3f5);border-radius:10px; }
.jp-guided-project__badge { display:inline-flex;padding:3px 6px;border-radius:999px;color:#762126;background:#fff;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase; }
.jp-guided-project__intro h1 { margin:5px 0 2px;font-size:22px;font-weight:850;letter-spacing:-.035em;line-height:1.15; }
.jp-guided-project__intro p { max-width:680px;margin:0;color:#5f6b7b;font-size:10.5px;font-weight:650;line-height:1.4; }
.jp-guided-project__intro>a { display:inline-flex;min-height:34px;padding:7px 9px;align-items:center;gap:5px;border-radius:8px;color:#7d2026;background:#fff;font-size:10px;font-weight:850;white-space:nowrap; }
.jp-guided-project__workspace { display:grid;grid-template-columns:286px minmax(0,1fr);margin-top:15px;align-items:start;gap:16px; }
.jp-guided-project__timeline { display:flex;position:relative;padding:5px 0;flex-direction:column; }
.jp-guided-project__timeline::before { position:absolute;top:24px;bottom:24px;left:17px;width:1px;content:"";background:#d8dde4; }
.jp-guided-project__timeline>a { display:grid;position:relative;grid-template-columns:34px minmax(0,1fr);min-height:53px;padding:7px 7px 7px 0;align-items:start;gap:9px;color:#394354!important;border-radius:8px; }
.jp-guided-project__timeline>a:hover,.jp-guided-project__timeline>a:focus-visible { background:rgba(255,255,255,.6); }
.jp-guided-project__timeline>a.is-active { color:#151116!important;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05); }
.jp-guided-project__marker { display:grid;position:relative;z-index:1;width:28px;height:28px;margin:1px 0 0 3px;place-items:center;border:3px solid #f3f5f7;border-radius:50%;color:#687181;background:#dfe3e8;font-size:9px;font-weight:900; }
.jp-guided-project__timeline>a.is-active .jp-guided-project__marker { color:#fff;background:#8c252b; }
.jp-guided-project__timeline-copy { display:flex;min-width:0;padding-right:45px;flex-direction:column; }
.jp-guided-project__timeline-copy strong { font-size:11px;font-weight:850;line-height:1.25; }
.jp-guided-project__timeline-copy small { display:-webkit-box;margin-top:2px;overflow:hidden;color:#7b8492;font-size:8.5px;font-weight:650;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.jp-guided-project__state { position:absolute;top:9px;right:8px;color:#8b93a0;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase; }
.jp-guided-project__detail { min-width:0;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.045); }
.jp-guided-project__detail-head { display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px; }
.jp-guided-project__detail-icon { display:grid;width:40px;height:40px;place-items:center;border-radius:9px;color:#8c252b;background:#faedef; }
.jp-guided-project__detail-icon ion-icon { font-size:20px; }
.jp-guided-project__detail-head>div>span,.jp-guided-project__section-head>div>span { color:#7b8492;font-size:8px;font-weight:850;letter-spacing:.055em;text-transform:uppercase; }
.jp-guided-project__detail-head h2 { margin:2px 0 0;font-size:21px;font-weight:850;letter-spacing:-.03em;line-height:1.15; }
.jp-guided-project__preview-label { padding:4px 7px;border-radius:999px;color:#6d5c25;background:#f7efda;font-size:8px;font-weight:850;text-transform:uppercase; }
.jp-guided-project__detail-intro { margin:14px 0 0;color:#536071;font-size:12px;font-weight:650;line-height:1.55; }
.jp-guided-project__checklist,.jp-guided-project__experts { margin-top:16px;padding-top:15px;border-top:1px solid #e5e8ec; }
.jp-guided-project__checklist h3,.jp-guided-project__section-head h3 { margin:0;font-size:13px;font-weight:850; }
.jp-guided-project__checklist ol { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 0;padding:0;gap:7px;list-style:none; }
.jp-guided-project__checklist li { display:flex;min-height:46px;padding:8px 9px;align-items:center;gap:7px;border-radius:8px;color:#465264;background:#f5f7f8;font-size:9.5px;font-weight:750;line-height:1.35; }
.jp-guided-project__checklist li>span { display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;color:#38644f;background:#e5f2eb; }
.jp-guided-project__section-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.jp-guided-project__section-head button { display:inline-flex;min-height:30px;padding:5px 8px;align-items:center;gap:5px;border:0;border-radius:7px;color:#7b8492;background:#f2f4f6;font:inherit;font-size:8.5px;font-weight:800; }
.jp-guided-project__expert-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:9px;gap:7px; }
.jp-guided-project__expert { display:grid;grid-template-columns:34px minmax(0,1fr) auto;min-width:0;min-height:54px;padding:8px 9px;align-items:center;gap:8px;border-radius:8px;background:#f6f7f9; }
.jp-guided-project__avatar { display:grid;width:34px;height:34px;place-items:center;border:2px solid #fff;border-radius:50%;color:#6d3037;background:#efd9dc;font-size:8px;font-weight:900; }
.jp-guided-project__expert>span:nth-child(2) { display:flex;min-width:0;flex-direction:column; }
.jp-guided-project__expert strong { font-size:10.5px;font-weight:850;line-height:1.2; }
.jp-guided-project__expert small { margin-top:2px;color:#7b8492;font-size:8.5px;font-weight:650; }
.jp-guided-project__expert-status { display:inline-flex;align-items:center;gap:4px;color:#4e665c;font-size:7.5px;font-weight:800;white-space:nowrap; }
.jp-guided-project__detail-footer { display:flex;margin:16px -18px -18px;padding:11px 18px;align-items:center;justify-content:space-between;gap:12px;background:#f7f8fa;border-radius:0 0 10px 10px; }
.jp-guided-project__step-links { display:flex;min-width:0;align-items:center;gap:6px; }
.jp-guided-project__step-links>a { display:flex;min-height:32px;padding:4px 7px;align-items:center;gap:5px;border-radius:7px;color:#394354;background:#fff;font-size:9px;font-weight:800; }
.jp-guided-project__step-links>a>span { display:flex;flex-direction:column; }
.jp-guided-project__step-links small { color:#8a93a1;font-size:7px;font-weight:750; }
.jp-guided-project__detail-footer>button { display:inline-flex;min-height:34px;padding:7px 10px;align-items:center;gap:6px;border:0;border-radius:8px;color:#7e858f;background:#e9ecf0;font:inherit;font-size:9px;font-weight:850;white-space:nowrap; }
@media (min-width:1024px) { .jp-guided-project { width:auto!important;max-width:none!important;margin-left:64px!important; } .jp-guided-project>* { width:min(1120px,calc(100% - 48px));margin-right:auto;margin-left:auto; } }
@media (max-width:840px) { .jp-guided-project__workspace { grid-template-columns:230px minmax(0,1fr); } .jp-guided-project__checklist ol { grid-template-columns:1fr; } .jp-guided-project__expert-list { grid-template-columns:1fr; } .jp-guided-project__expert-status { white-space:normal; } }
@media (max-width:719.98px) {
  .jp-guided-project { width:calc(100% - 28px)!important;margin-inline:14px!important;padding:72px 0 112px!important; }
  .jp-guided-project__intro { min-height:0;padding:12px;align-items:flex-start; }
  .jp-guided-project__intro h1 { font-size:19px; }
  .jp-guided-project__intro p { font-size:9.5px; }
  .jp-guided-project__intro>a { min-height:30px;padding:6px 7px;font-size:8.5px; }
  .jp-guided-project__workspace { grid-template-columns:minmax(0,1fr);margin-top:12px;gap:13px; }
  .jp-guided-project__timeline { display:grid;grid-auto-columns:minmax(126px,42vw);grid-auto-flow:column;margin-inline:-14px;padding:3px 14px 8px;overflow-x:auto;gap:6px;scroll-snap-type:x proximity; }
  .jp-guided-project__timeline::before { display:none; }
  .jp-guided-project__timeline>a { grid-template-columns:26px minmax(0,1fr);min-height:48px;padding:7px;align-items:center;background:rgba(255,255,255,.58);scroll-snap-align:start; }
  .jp-guided-project__marker { width:24px;height:24px;margin:0;border-width:2px; }
  .jp-guided-project__timeline-copy { padding-right:0; }
  .jp-guided-project__timeline-copy strong { font-size:9.5px; }
  .jp-guided-project__timeline-copy small,.jp-guided-project__state { display:none; }
  .jp-guided-project__detail { padding:14px; }
  .jp-guided-project__detail-head { grid-template-columns:36px minmax(0,1fr); }
  .jp-guided-project__detail-icon { width:36px;height:36px; }
  .jp-guided-project__detail-head h2 { font-size:18px; }
  .jp-guided-project__preview-label { grid-column:2;width:max-content; }
  .jp-guided-project__detail-intro { margin-top:11px;font-size:10.5px; }
  .jp-guided-project__checklist,.jp-guided-project__experts { margin-top:13px;padding-top:12px; }
  .jp-guided-project__checklist ol { margin-top:8px;gap:5px; }
  .jp-guided-project__checklist li { min-height:40px;padding:7px 8px; }
  .jp-guided-project__section-head { align-items:flex-start; }
  .jp-guided-project__section-head button { max-width:118px;justify-content:center;text-align:left; }
  .jp-guided-project__expert-list { gap:5px; }
  .jp-guided-project__expert { min-height:50px;padding:7px 8px; }
  .jp-guided-project__expert-status { display:none; }
  .jp-guided-project__detail-footer { margin:14px -14px -14px;padding:10px 14px;align-items:stretch;flex-direction:column; }
  .jp-guided-project__step-links { justify-content:space-between; }
  .jp-guided-project__step-links>a { flex:1; }
  .jp-guided-project__step-links>a:last-child { justify-content:flex-end;text-align:right; }
  .jp-guided-project__detail-footer>button { justify-content:center; }
}

/* Notes borrow the quick scanning rhythm of a pinboard while retaining every
   real note, attachment and detail modal. */
.jp-notes-page .jp-notes-list-section { background: transparent !important; box-shadow: none !important; }
.jp-notes-page .jp-notes-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px !important;
    padding: 0 !important;
    background: transparent !important;
}
.jp-notes-page .jp-note-record {
    --jp-muted: #50596c;
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 0 !important;
    border-radius: 10px !important;
    background: #f0e7cf !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}
.jp-notes-page .jp-note-record:nth-child(4n + 2) { background: #f4dadd !important; }
.jp-notes-page .jp-note-record:nth-child(4n + 3) { background: #dceaf0 !important; }
.jp-notes-page .jp-note-record:nth-child(4n + 4) { background: #e4dced !important; }
.jp-notes-page .jp-note-record::before { position: absolute; inset: 0 0 auto; height: 4px; background: rgba(175, 31, 36, .55); content: ""; }
.jp-notes-page .jp-note-record-action {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    min-height: 118px !important;
    padding: 15px 13px 12px !important;
    align-content: start;
    align-items: start !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.jp-notes-page .jp-note-record-thumbnail { width: 42px !important; height: 42px !important; margin: 0 !important; border-radius: 8px !important; object-fit: cover; }
.jp-notes-page .jp-note-record-content { display: flex !important; min-width: 0; align-items: flex-start !important; gap: 8px !important; }
.jp-notes-page .jp-note-record-title { font-size: 13px !important; }
.jp-notes-page .jp-note-record-created { margin-top: 7px !important; font-size: 10.5px !important; }
.jp-notes-page .jp-note-record-kind { display: none !important; }
.jp-notes-page .jp-note-record-action::after { display: none !important; }
@media (max-width: 980px) { .jp-notes-page .jp-notes-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 719px) {
    .jp-notes-page .jp-notes-list { grid-template-columns: 1fr; gap: 8px !important; }
    .jp-notes-page .jp-note-record-action { min-height: 92px !important; }
}
