:root{
  --amber-tint:#FFF7E4;
  --amber-line:#F2DFAE;
  --amber-ink:#8a6100;
}

.jl-page{max-width:600px;margin:0 auto;padding:0 0 40px;display:flex;flex-direction:column;gap:16px}

.jl-status-row{display:flex;align-items:center;gap:8px;padding:18px 18px 0}
.jl-status-pill{display:inline-flex;align-items:center;gap:6px;background:var(--teal-tint);border-radius:999px;padding:5px 11px;font-size:.72rem;font-weight:600;color:var(--teal-dark);letter-spacing:.01em}
.jl-status-pill .jl-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-btn)}
.jl-posted{font-size:.72rem;color:var(--muted)}

.jl-back-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--teal-tint);border-bottom:1px solid #d8ebe8;padding:11px 18px;font-size:.86rem}
.jl-back-bar a{font-weight:600;color:var(--teal-dark)}
.jl-back-bar span{font-size:.76rem;color:var(--teal-dark);opacity:.75;flex-shrink:0}

.jl-title-block{padding:0 18px;display:flex;flex-direction:column;gap:3px}
.jl-title-block h1{margin:0;font-size:1.7rem;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.jl-office{font-size:.94rem;font-weight:500;color:var(--ink-2)}
.jl-role-note{font-size:.78rem;color:var(--muted)}

.jl-wage{padding:0 18px;display:flex;align-items:baseline;gap:6px}
.jl-wage-amount{font-size:2.5rem;font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--ink)}
.jl-wage-unit{font-size:1rem;font-weight:600;color:var(--muted)}

.jl-card{margin:0 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.jl-card-row{display:flex;gap:12px;padding:14px 16px;align-items:flex-start}
.jl-card-row+.jl-card-row{border-top:1px solid var(--line)}
.jl-card-row svg{flex-shrink:0;margin-top:1px}
.jl-card-row-label{font-size:.94rem;font-weight:500;line-height:1.4}

.jl-notes-label{padding:0 18px;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.jl-notes{margin:0 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:15px 16px;font-size:.94rem;line-height:1.6;color:var(--ink-2);white-space:pre-line}
.jl-notes.jl-notes-clamped{max-height:120px;overflow:hidden;position:relative}
.jl-notes-more{margin:0 18px;font-size:.86rem;font-weight:600}

.jl-steps{margin:0 18px;display:flex;flex-direction:column;gap:11px}
.jl-step{display:flex;gap:11px;align-items:flex-start}
.jl-step-num{width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal-dark);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.jl-step-text{font-size:.88rem;line-height:1.45;color:var(--ink-2)}

.jl-cta-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(21,49,56,.08);padding:14px 18px 16px;display:flex;flex-direction:column;gap:9px}
.jl-cta-bar .btn{width:100%;height:52px}
/* Same "sent" morph as thank-you.css's .jact .btn.sent - replaces the old
   alert()/confirm() pair on sendInterestButton (GH #116). */
.jl-cta-bar .btn.sent{background:var(--teal-tint);border-color:var(--teal-tint);color:var(--teal-dark);cursor:default;box-shadow:none}
.jl-reassurance{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}
.jl-reassurance-dot{width:3px;height:3px;border-radius:50%;background:#c3cdcf}
.jl-signin-hint{text-align:center;font-size:.8rem;color:var(--muted)}
.jl-signin-hint a{font-weight:600}
.jl-signin-hint.jl-error{color:#d9534f}

/* Closed state */
.jl-closed-banner{display:flex;gap:11px;background:var(--amber-tint);border-bottom:1px solid var(--amber-line);padding:14px 18px;align-items:flex-start}
.jl-closed-banner-title{font-size:.92rem;font-weight:600;color:var(--amber-ink)}
.jl-closed-banner-sub{font-size:.82rem;line-height:1.45;color:var(--amber-ink);opacity:.85}
.jl-summary-card{opacity:.72}
.jl-summary-foot{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2px;padding-top:10px}

.jl-alert-card{margin:0 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px 18px;display:flex;flex-direction:column;gap:14px}
.jl-alert-card h2{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.jl-alert-card p{margin:0;font-size:.88rem;line-height:1.5;color:var(--ink-2)}
.jl-phone-row{display:flex;gap:8px}
.jl-phone-input{flex-grow:1;height:52px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;padding:0 14px;font-size:1rem}
.jl-phone-input.red-border{border-color:#d9534f}
.jl-already-set{font-size:.88rem;line-height:1.5;color:var(--ink-2)}

/* Member state */
.jl-member-banner{flex-shrink:0;background:var(--teal-tint);border-bottom:1px solid var(--line);padding:11px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.jl-member-banner-text{font-size:.82rem;font-weight:500;color:var(--teal-dark);line-height:1.35}
