:root{--jm-red:#e63946;--jm-navy:#1d3557;--jm-ink:#1d3557;--jm-paper:#fff;--jm-paper-2:#f6f7fb;--jm-muted:#5a6477;--jm-border:#e3e6ee;--jm-radius:10px;--jm-max-width:1100px;--jm-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--jm-paper);color:var(--jm-ink);font-family:var(--jm-font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--jm-navy);text-decoration:none}a:hover{text-decoration:underline}.jm-shell{min-height:100vh;display:flex;flex-direction:column}.jm-container{width:100%;max-width:var(--jm-max-width);margin:0 auto;padding:0 24px}.jm-header{border-bottom:1px solid var(--jm-border);background:var(--jm-paper)}.jm-header__inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--jm-max-width);margin:0 auto}.jm-brand{display:inline-flex;align-items:center;gap:10px;color:var(--jm-ink);font-weight:700;font-size:1.125rem;letter-spacing:-.01em}.jm-brand:hover{text-decoration:none}.jm-brand__logo{width:32px;height:32px;display:block}.jm-brand__wordmark{font-weight:800}.jm-brand__wordmark--accent{color:var(--jm-red)}.jm-nav{display:flex;gap:16px;align-items:center}.jm-nav a{color:var(--jm-muted);font-weight:500}.jm-nav a:hover{color:var(--jm-ink);text-decoration:none}.jm-main{flex:1 1}.jm-hero{padding:80px 0 56px;text-align:left}.jm-hero__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--jm-red);font-weight:700;margin:0 0 16px}.jm-hero__title{font-size:clamp(2rem,5vw,3.25rem);line-height:1.1;margin:0 0 16px;font-weight:800;letter-spacing:-.02em;color:var(--jm-ink)}.jm-hero__title .accent{color:var(--jm-red)}.jm-hero__lede{font-size:1.125rem;color:var(--jm-muted);max-width:56ch;margin:0 0 32px}.jm-cta-row{display:flex;flex-wrap:wrap;gap:12px}.jm-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:var(--jm-radius);font-weight:600;font-size:1rem;border:1px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease;cursor:pointer}.jm-btn:hover{text-decoration:none}.jm-btn--primary{background:var(--jm-red);color:#fff}.jm-btn--primary:hover{background:#c92e3a}.jm-btn--primary:disabled{background:#d88a91;cursor:not-allowed}.jm-btn--secondary{background:var(--jm-paper);color:var(--jm-navy);border-color:var(--jm-navy)}.jm-btn--secondary:hover,.jm-features{background:var(--jm-paper-2)}.jm-features{padding:48px 0 80px;border-top:1px solid var(--jm-border)}.jm-features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:24px;gap:24px;margin-top:32px}.jm-feature{background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:24px}.jm-feature__title{margin:0 0 8px;font-size:1.125rem;font-weight:700;color:var(--jm-ink)}.jm-feature__body{margin:0;color:var(--jm-muted);font-size:.975rem}.jm-features__heading{font-size:1.5rem;margin:0;font-weight:700;letter-spacing:-.01em}.jm-footer{border-top:1px solid var(--jm-border);background:var(--jm-paper);padding:24px 0;color:var(--jm-muted);font-size:.875rem}.jm-footer__inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.jm-auth{display:flex;justify-content:center;padding:64px 24px}.jm-auth__card{width:100%;max-width:420px;background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:32px;box-shadow:0 1px 2px rgba(29,53,87,.04),0 8px 24px rgba(29,53,87,.06)}.jm-auth__title{margin:0 0 8px;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.jm-auth__lede{margin:0 0 24px;color:var(--jm-muted);font-size:.95rem}.jm-form{gap:16px}.jm-field,.jm-form{display:flex;flex-direction:column}.jm-field{gap:6px}.jm-label{font-weight:600;font-size:.9rem;color:var(--jm-ink)}.jm-input{width:100%;padding:10px 12px;border-radius:var(--jm-radius);border:1px solid var(--jm-border);font-family:inherit;font-size:1rem;color:var(--jm-ink);background:var(--jm-paper);transition:border-color .12s ease,box-shadow .12s ease}.jm-input:focus{outline:none;border-color:var(--jm-navy);box-shadow:0 0 0 3px rgba(29,53,87,.12)}.jm-input[aria-invalid=true]{border-color:var(--jm-red)}.jm-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(230,57,70,.18)}.jm-field__error{color:var(--jm-red);font-size:.85rem;margin:0}.jm-form__error{color:var(--jm-red);background:#fdecee;border:1px solid #f5c2c7;border-radius:var(--jm-radius);padding:10px 12px;font-size:.9rem;margin:0}.jm-form__submit{margin-top:8px}.jm-auth__footer{margin-top:24px;font-size:.9rem;color:var(--jm-muted);text-align:center}.jm-auth__footer a{color:var(--jm-navy);font-weight:600}.jm-user-menu{display:inline-flex;align-items:center;gap:12px}.jm-user-menu__email{color:var(--jm-muted);font-size:.9rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jm-user-menu__form{margin:0}.jm-btn--sm{padding:6px 12px;font-size:.85rem}.jm-dashboard{padding:56px 0 80px}.jm-dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:40px}.jm-dashboard__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--jm-muted);margin:0 0 8px;font-weight:600}.jm-dashboard__greeting{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.15;margin:0 0 8px;font-weight:800;letter-spacing:-.01em}.jm-dashboard__email{color:var(--jm-red);word-break:break-all}.jm-dashboard__lede{margin:0;color:var(--jm-muted);font-size:1.05rem}.jm-dashboard__logout{margin:0}.jm-action-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.jm-action-card{display:flex;flex-direction:column;gap:12px;background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:24px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.jm-action-card:hover{border-color:var(--jm-navy);box-shadow:0 4px 16px rgba(29,53,87,.08);transform:translateY(-1px)}.jm-action-card__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--jm-ink)}.jm-action-card__body{margin:0;color:var(--jm-muted);font-size:.95rem;flex:1 1}.jm-action-card__cta{align-self:flex-start;margin-top:4px}.jm-container--narrow{max-width:760px}.jm-empty{background:var(--jm-paper);border:1px dashed var(--jm-border);border-radius:var(--jm-radius);padding:48px 24px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.jm-empty__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--jm-ink)}.jm-empty__body{margin:0;color:var(--jm-muted)}.jm-profile-form{gap:24px}.jm-label__hint{color:var(--jm-muted);font-weight:400;font-size:.85rem}.jm-textarea{font-family:inherit;resize:vertical;min-height:96px;line-height:1.5}.jm-fieldset{border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:20px;margin:0;display:flex;flex-direction:column;gap:16px;background:var(--jm-paper-2)}.jm-fieldset__legend{font-weight:700;color:var(--jm-ink);padding:0 6px}.jm-fieldset__hint{margin:0;color:var(--jm-muted);font-size:.9rem}.jm-fieldset__empty{margin:0;color:var(--jm-muted);font-style:italic;font-size:.95rem}.jm-repeat{list-style:none;padding:0;margin:0;gap:16px}.jm-repeat,.jm-repeat__row{display:flex;flex-direction:column}.jm-repeat__row{background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:16px;gap:12px}.jm-repeat__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.jm-repeat__full{grid-column:1/-1}.jm-repeat__actions{display:flex;justify-content:flex-end}@media (max-width:540px){.jm-repeat__grid{grid-template-columns:1fr}}.jm-form__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.jm-btn--danger{background:var(--jm-red);color:#fff;border-color:var(--jm-red)}.jm-btn--danger:hover{background:#c92e3a;border-color:#c92e3a}.jm-btn--danger:disabled{background:#d88a91;border-color:#d88a91;cursor:not-allowed}.jm-divider{border:none;border-top:1px solid var(--jm-border);margin:32px 0}.jm-danger-zone{border:1px solid #f5c2c7;background:#fdecee;border-radius:var(--jm-radius);padding:20px;display:flex;flex-direction:column;gap:12px}.jm-danger-zone__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--jm-red)}.jm-danger-zone__body{margin:0;color:var(--jm-ink);font-size:.95rem}.jm-delete{align-items:flex-start}.jm-delete,.jm-job-search{display:flex;flex-direction:column;gap:8px}.jm-job-search{margin:24px 0 16px}.jm-job-search__row{display:flex;gap:8px;align-items:stretch}.jm-job-search__row .jm-input{flex:1 1 auto;min-width:0}.jm-job-search__row .jm-btn{flex:0 0 auto}.jm-job-search__meta{margin:8px 0 12px;color:var(--jm-muted);font-size:.9rem}.jm-job-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.jm-job-card{display:flex;gap:16px;align-items:flex-start;background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:16px;transition:border-color .15s ease,transform .15s ease}.jm-job-card:hover{border-color:var(--jm-navy);transform:translateY(-1px)}.jm-job-card__logo{flex:0 0 48px;width:48px;height:48px;object-fit:contain;background:var(--jm-paper-2);border-radius:8px;padding:4px}.jm-job-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.jm-job-card__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.jm-job-card__link{color:var(--jm-ink);text-decoration:none}.jm-job-card__link:hover{color:var(--jm-red);text-decoration:underline}.jm-job-card__meta{margin:0;color:var(--jm-muted);font-size:.9rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.jm-job-card__sep{color:var(--jm-border)}.jm-job-card__deadline{margin:0;color:var(--jm-muted);font-size:.85rem}.jm-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 0}.jm-job-detail__back{margin:16px 0}.jm-job-detail__header{display:flex;gap:20px;align-items:flex-start;margin:8px 0 16px}.jm-job-detail__logo{flex:0 0 64px;width:64px;height:64px;object-fit:contain;background:var(--jm-paper-2);border-radius:8px;padding:6px}.jm-job-detail__meta{margin:6px 0 0;color:var(--jm-muted);gap:6px}.jm-job-detail__actions,.jm-job-detail__meta{display:flex;flex-wrap:wrap;align-items:center}.jm-job-detail__actions{gap:16px;margin:16px 0 24px}.jm-job-detail__external{color:var(--jm-navy);font-size:.95rem;text-decoration:underline}.jm-job-detail__external:hover{color:var(--jm-red)}.jm-job-detail__description{background:var(--jm-paper-2);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:20px;color:var(--jm-ink);font-size:.98rem;line-height:1.6;white-space:pre-line}.jm-dryrun{display:flex;align-items:flex-start;gap:16px;background:#fff4cc;border:3px solid #d97706;border-left-width:8px;border-radius:var(--jm-radius);padding:18px 20px;margin:16px 0 24px;color:#5b3b00;box-shadow:0 1px 0 rgba(0,0,0,.04)}.jm-dryrun__icon{flex:0 0 auto;color:#b45309;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}.jm-dryrun__text{margin:0;font-size:1.05rem;font-weight:600;line-height:1.45}.jm-apply__summary{background:var(--jm-paper-2);border:1px solid var(--jm-border);border-radius:var(--jm-radius);padding:18px 20px;margin-bottom:24px}.jm-apply__label{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--jm-ink-muted,#5b6470)}.jm-apply__value{margin:2px 0 12px;font-size:1.05rem;color:var(--jm-ink);font-weight:600}.jm-apply__value:last-child{margin-bottom:0}.jm-apply__form{margin-top:8px}.jm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:600;line-height:1.2;border:1px solid transparent;white-space:nowrap}.jm-badge--queued{background:#eef0f3;color:#4a5563;border-color:#d8dde3}.jm-badge--submitting{background:#e6f0ff;color:#1d4ed8;border-color:#c7dafe}.jm-badge--dry-run{background:#fff4d6;color:#8a5a00;border-color:#f3d98c}.jm-badge--submitted{background:#e1f6e7;color:#1f7a3a;border-color:#bce5c8}.jm-badge--failed{background:#fde2e2;color:#a01b1b;border-color:#f4b7b7}.jm-table-wrap{width:100%;overflow-x:auto;background:var(--jm-paper);border:1px solid var(--jm-border);border-radius:var(--jm-radius)}.jm-table{width:100%;border-collapse:collapse;font-size:.95rem}.jm-table thead th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--jm-muted);background:var(--jm-paper-2)}.jm-table tbody td,.jm-table thead th{padding:14px 18px;border-bottom:1px solid var(--jm-border)}.jm-table tbody td{vertical-align:middle;color:var(--jm-ink)}.jm-table tbody tr:last-child td{border-bottom:0}.jm-table tbody tr:hover{background:var(--jm-paper-2)}.jm-table__link{color:var(--jm-navy);font-weight:600;text-decoration:none}.jm-table__link:hover{text-decoration:underline}.jm-timeline__title{margin:24px 0 12px;font-size:1.1rem;font-weight:700;color:var(--jm-ink)}.jm-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 28px}.jm-timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--jm-border);border-radius:1px}.jm-timeline__item{position:relative;padding:6px 0 18px}.jm-timeline__item:last-child{padding-bottom:0}.jm-timeline__dot{position:absolute;left:-24px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--jm-muted);box-shadow:0 0 0 3px var(--jm-paper)}.jm-timeline__dot[data-status=queued]{background:#94a0ad}.jm-timeline__dot[data-status=submitting]{background:#1d4ed8}.jm-timeline__dot[data-status=submitted_dry_run]{background:#c89400}.jm-timeline__dot[data-status=submitted]{background:#1f7a3a}.jm-timeline__dot[data-status=failed]{background:#a01b1b}.jm-timeline__body{display:flex;flex-direction:column;gap:4px}.jm-timeline__head{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jm-timeline__time{color:var(--jm-muted);font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jm-timeline__reason{margin:4px 0 0;color:#a01b1b;font-size:.9rem}.jm-apply__hint{color:var(--jm-muted);font-weight:400}