/* Extracted from company-applications/index.html <style> */
    .company-applications-page {
      padding: 2rem 0 3rem;
    }

    .company-applications-hero {
      margin-bottom: 1.5rem;
    }

    .company-applications-hero h1 {
      margin: 0 0 0.5rem;
      font-size: clamp(1.8rem, 4vw, 2.4rem);
      line-height: 1.2;
    }

    .company-applications-hero p {
      margin: 0;
      color: #475569;
      line-height: 1.7;
    }

    .company-applications-login-required,
    .company-applications-logged-in-panel {
      display: none;
    }

    .company-applications-login-required.is-visible,
    .company-applications-logged-in-panel.is-visible {
      display: block;
    }

    .company-applications-card {
      background: #fff;
      border: 1px solid rgba(15, 23, 42, 0.08);
      border-radius: 18px;
      padding: 1.5rem;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    }

    .company-applications-card + .company-applications-card {
      margin-top: 1rem;
    }

    .company-applications-card h2 {
      margin: 0 0 0.5rem;
      font-size: 1.2rem;
    }

    .company-applications-card p {
      margin: 0;
      color: #475569;
      line-height: 1.7;
    }

    .company-applications-card p + p {
      margin-top: 0.75rem;
    }

    .company-applications-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      margin-bottom: 0.6rem;
      color: #0f172a;
      font-size: 1.5rem;
      font-weight: 700;
    }

    .company-applications-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1rem;
    }

    .company-applications-loading,
    .company-applications-empty {
      color: #64748b;
      font-size: 0.92rem;
      line-height: 1.7;
    }

    .company-applications-loading.is-full-panel {
      box-sizing: border-box;
      min-height: clamp(16rem, 42vh, 26rem);
      display: grid;
      place-items: center;
      text-align: center;
      padding: 1.25rem 1rem;
    }

    .company-applications-jobs .company-applications-loading.is-full-panel {
      min-height: clamp(5.5rem, 18vh, 10rem);
    }

    .company-applications-picker-hint {
      margin: 0 0 0.65rem;
      font-size: 0.9375rem;
      font-weight: 600;
      color: #334155;
    }

    /* 求人選択カードヘッダー（個人マイページ応募一覧と同様、トグルは右上） */
    .company-applications-jobs-section-header {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem 1.25rem;
      margin-bottom: 0.15rem;
    }

    .company-applications-jobs-section-header-main {
      flex: 1;
      min-width: min(100%, 12rem);
    }

    .company-applications-jobs-section-header-main h2 {
      margin: 0 0 0.35rem;
    }

    .company-applications-hide-ended-control {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      flex-shrink: 0;
      margin-top: 0.1rem;
    }

    .company-applications-hide-ended-text {
      font-size: 0.9rem;
      font-weight: 600;
      color: #475569;
      user-select: none;
    }

    .company-applications-toggle {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: none;
      background: transparent;
      cursor: pointer;
      border-radius: 999px;
      flex-shrink: 0;
    }

    .company-applications-toggle:focus-visible {
      outline: 2px solid rgba(37, 99, 235, 0.45);
      outline-offset: 3px;
    }

    .company-applications-toggle-track {
      position: relative;
      display: block;
      width: 44px;
      height: 26px;
      border-radius: 999px;
      background: #cbd5e1;
      transition: background 0.2s ease;
    }

    .company-applications-toggle[aria-checked="true"] .company-applications-toggle-track {
      background: #22c55e;
    }

    .company-applications-toggle-thumb {
      position: absolute;
      top: 3px;
      left: 3px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
      transition: transform 0.2s ease;
    }

    .company-applications-toggle[aria-checked="true"] .company-applications-toggle-thumb {
      transform: translateX(18px);
    }

    .company-applications-jobs {
      margin-top: 1rem;
    }

    .company-applications-job-picker {
      position: relative;
    }

    .company-applications-job-trigger {
      width: 100%;
      border: 1px solid rgba(148, 163, 184, 0.4);
      border-radius: 16px;
      padding: 0.95rem 1rem;
      background: #f8fafc;
      color: #0f172a;
      text-align: left;
      cursor: pointer;
      font: inherit;
      /* 読み込み→選択済みの差し替えでブロック高さが大きく変わらないようにする */
      min-height: clamp(4.75rem, 11vw, 6.5rem);
      box-sizing: border-box;
      transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    }

    .company-applications-job-trigger:hover,
    .company-applications-job-picker.is-open .company-applications-job-trigger {
      border-color: #2563eb;
      background: #eff6ff;
      box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
    }

    .company-applications-job-trigger-head {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 0.85rem;
    }

    .company-applications-job-trigger-copy {
      min-width: 0;
      flex: 1;
      display: grid;
      gap: 0.35rem;
    }

    .company-applications-job-trigger-body-slot {
      min-width: 0;
      flex: 1;
      display: block;
    }

    .company-applications-job-trigger-label {
      display: block;
      font-size: 0.78rem;
      font-weight: 700;
      color: #475569;
    }

    .company-applications-job-trigger-topline {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem;
      min-width: 0;
    }

    .company-applications-job-trigger-title {
      font-size: 1rem;
      font-weight: 700;
      color: #0f172a;
      min-width: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .company-applications-job-trigger-meta {
      display: block;
      font-size: 0.83rem;
      color: #64748b;
      line-height: 1.6;
    }

    .company-applications-picker-chip {
      display: inline-flex;
      align-items: center;
      max-width: 100%;
      min-height: 22px;
      padding: 0 0.55rem;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
    }

    .company-applications-picker-chip-contract {
      border: 1px solid rgba(100, 116, 139, 0.45);
      background: #fff;
      color: #1e3a5f;
    }

    .company-applications-picker-chip-status {
      border: 0;
      font-weight: 700;
    }

    .company-applications-picker-chip-status.is-published {
      background: #dcfce7;
      color: #15803d;
    }

    .company-applications-picker-chip-status.is-reviewing {
      background: #dbeafe;
      color: #1d4ed8;
    }

    .company-applications-picker-chip-status.is-paused {
      background: #fef3c7;
      color: #92400e;
    }

    .company-applications-picker-chip-status.is-draft {
      background: #fff7ed;
      color: #c2410c;
    }

    .company-applications-picker-chip-status.is-changes-requested {
      background: #fef9c3;
      color: #854d0e;
    }

    .company-applications-picker-chip-status.is-rejected {
      background: #fee2e2;
      color: #b91c1c;
    }

    .company-applications-picker-chip-status.is-closed {
      background: #f1f5f9;
      color: #475569;
    }

    .company-applications-picker-chip-status.is-other {
      background: #e2e8f0;
      color: #334155;
    }

    .company-applications-picker-chip-workstyle {
      background: #edf4fb;
      color: #3a5879;
    }

    .company-applications-picker-chip-requirement {
      background: #eef2ff;
      color: #364b91;
    }

    .company-applications-picker-chip-more {
      background: #f1f5f9;
      color: #475569;
    }

    .company-applications-req-ellipsis {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 22px;
      padding: 0 0.5rem;
      border-radius: 999px;
      font-size: 0.9rem;
      font-weight: 800;
      line-height: 1;
      color: #1d4ed8;
      background: #eff6ff;
      border: 1px solid rgba(37, 99, 235, 0.28);
      cursor: pointer;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
    }

    .company-applications-req-ellipsis:hover,
    .company-applications-req-ellipsis:focus {
      background: #dbeafe;
      outline: none;
    }

    .company-applications-req-ellipsis:focus-visible {
      box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2563eb;
    }

    .company-applications-req-omit-popover {
      position: fixed;
      z-index: 200;
      width: min(22rem, calc(100vw - 1rem));
      max-height: min(20rem, 50vh);
      overflow: auto;
      padding: 0.65rem 0.7rem 0.75rem;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.45);
      background: #fff;
      box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
    }

    .company-applications-req-omit-title {
      font-size: 0.78rem;
      font-weight: 700;
      color: #0f172a;
      margin: 0 0 0.5rem;
    }

    .company-applications-req-omit-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      align-content: flex-start;
    }

    .company-applications-req-omit-list [role="listitem"] {
      max-width: 100%;
    }

    .company-applications-req-omit-list [role="listitem"] .company-applications-picker-chip-requirement {
      max-width: min(100%, 18rem);
    }

    .company-applications-job-trigger-icon {
      color: #475569;
      font-size: 0.9rem;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.25rem;
      line-height: 1;
    }

    .company-applications-job-menu {
      position: absolute;
      z-index: 20;
      top: calc(100% + 0.5rem);
      left: 0;
      right: 0;
      display: grid;
      gap: 0.65rem;
      padding: 0.75rem;
      border: 1px solid rgba(148, 163, 184, 0.34);
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
      max-height: min(44rem, calc(100vh - 7rem));
      overflow-y: auto;
    }

    .company-applications-job-option {
      width: 100%;
      border: 1px solid rgba(148, 163, 184, 0.3);
      border-radius: 14px;
      padding: 0.9rem;
      background: #fff;
      text-align: left;
      cursor: pointer;
      font: inherit;
      color: inherit;
      transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
    }

    .company-applications-job-option:hover,
    .company-applications-job-option.is-selected {
      border-color: #2563eb;
      background: #eff6ff;
      box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
    }

    .company-applications-job-option-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 168px;
      gap: 0.85rem;
      align-items: start;
    }

    .company-applications-job-option-main {
      min-width: 0;
      display: grid;
      gap: 0.45rem;
    }

    .company-applications-job-option-row-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.5rem;
      min-width: 0;
    }

    .company-applications-job-title {
      margin: 0;
      font-size: 0.98rem;
      font-weight: 700;
      color: #0f172a;
      flex: 1;
      min-width: 0;
      line-height: 1.35;
    }

    .company-applications-job-top-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      flex-shrink: 0;
      justify-content: flex-end;
    }

    .company-applications-job-summary {
      margin: 0;
      font-size: 0.8rem;
      line-height: 1.45;
      color: #64748b;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .company-applications-job-conditions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem 0.55rem;
      font-size: 0.78rem;
      color: #334155;
      line-height: 1.45;
    }

    .company-applications-job-condition {
      white-space: nowrap;
    }

    .company-applications-job-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
    }

    .company-applications-job-requirements {
      display: grid;
      gap: 0.3rem;
      min-width: 0;
    }

    .company-applications-job-requirements-chips {
      align-content: flex-start;
    }

    .company-applications-job-requirements-chips .company-applications-picker-chip-requirement {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      min-width: 0;
      max-width: min(100%, 16rem);
      box-sizing: border-box;
    }

    .company-applications-job-requirements-chips .company-applications-picker-chip-requirement-legacy {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      max-width: min(100%, 16rem);
    }

    .company-applications-req-kind {
      flex-shrink: 0;
      white-space: nowrap;
    }

    .company-applications-req-name {
      min-width: 0;
      flex: 1 1 auto;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .company-applications-req-meta {
      flex-shrink: 0;
      white-space: nowrap;
    }

    .company-applications-job-meta-compact {
      display: grid;
      gap: 0.28rem;
      min-width: 0;
      margin-top: 0.35rem;
    }

    .company-applications-job-meta-line {
      margin: 0;
      font-size: 0.74rem;
      line-height: 1.38;
      color: #334155;
      display: flex;
      align-items: baseline;
      gap: 0.2rem;
      min-width: 0;
    }

    .company-applications-job-meta-label {
      flex-shrink: 0;
      font-weight: 700;
      color: #64748b;
    }

    .company-applications-job-meta-value {
      min-width: 0;
      flex: 1 1 auto;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .company-applications-job-option-side {
      display: grid;
      gap: 0.45rem;
      align-content: start;
    }

    .company-applications-job-counts {
      margin: 0;
      display: grid;
      gap: 0.35rem;
    }

    .company-applications-job-count {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.45rem;
      align-items: baseline;
      font-size: 0.78rem;
    }

    .company-applications-job-count dt {
      margin: 0;
      color: #64748b;
      font-weight: 600;
    }

    .company-applications-job-count dd {
      margin: 0;
      font-size: 0.86rem;
      font-weight: 800;
      color: #0f172a;
    }

    @media (max-width: 720px) {
      .company-applications-job-option-layout {
        grid-template-columns: 1fr;
      }
      .company-applications-job-meta-compact {
        display: none;
      }
    }

    .company-applications-job-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1rem;
    }

    .company-applications-section {
      margin-top: 1.25rem;
      display: grid;
      gap: 1rem;
    }

    .company-applications-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem;
      flex-wrap: wrap;
    }

    .company-applications-head-right {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 0.45rem;
      flex: 1;
      min-width: min(100%, 14rem);
    }

    .company-applications-head-right .company-applications-summary {
      text-align: right;
    }

    .company-applications-head h3 {
      margin: 0;
      font-size: 1rem;
      color: #0f172a;
    }

    .company-applications-summary {
      font-size: 0.84rem;
      color: #64748b;
    }

    .company-applications-layout {
      display: grid;
      grid-template-columns: minmax(0, 0.81fr) minmax(0, 1.19fr);
      gap: 1rem;
    }

    .company-applications-list {
      display: grid;
      gap: 0.75rem;
      align-content: start;
      min-height: clamp(16rem, 42vh, 26rem);
    }

    .company-applications-item {
      width: 100%;
      border: 1px solid rgba(148, 163, 184, 0.3);
      border-radius: 14px;
      padding: 1rem;
      background: #fff;
      text-align: left;
      cursor: pointer;
      font: inherit;
      color: inherit;
      transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    }

    .company-applications-item.is-selected {
      border-color: #2563eb;
      box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
      background: #eff6ff;
    }

    .company-applications-item-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.65rem;
    }

    .company-applications-item-name {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.3;
      flex: 1;
      min-width: 0;
    }

    .job-match-rate-card {
      display: inline-flex;
      align-items: baseline;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid #93c5fd;
      background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%);
      box-shadow: 0 8px 20px rgba(37, 99, 235, 0.12);
      color: #1d4ed8;
      flex-shrink: 0;
    }

    .job-match-rate-label {
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.06em;
    }

    .job-match-rate-value {
      font-size: 1.25rem;
      font-weight: 800;
      line-height: 1;
    }

    .company-applications-item-meta {
      margin-top: 0.45rem;
      color: #64748b;
      font-size: 0.84rem;
      line-height: 1.6;
    }

    .company-applications-requirement-summary {
      margin-top: 0.55rem;
      font-size: 0.78rem;
      line-height: 1.55;
      color: #334155;
    }

    .company-applications-requirement-summary .req-line {
      margin: 0.12rem 0;
    }

    .company-applications-req-sub {
      margin: 0.85rem 0 0.45rem;
      font-size: 0.88rem;
      color: #0f172a;
    }

    .company-applications-requirement-groups {
      display: grid;
      gap: 1rem;
      margin-top: 0.15rem;
      padding-left: 0.95rem;
    }

    .company-applications-requirement-group {
      display: grid;
      gap: 0.85rem;
    }

    .company-applications-requirement-group + .company-applications-requirement-group {
      padding-top: 0.95rem;
      border-top: 1px solid rgba(148, 163, 184, 0.24);
    }

    .company-applications-requirement-group-title {
      margin: 0;
      font-size: 0.98rem;
      font-weight: 800;
      color: #0f172a;
    }

    .company-applications-requirement-category {
      display: grid;
      gap: 0.45rem;
      padding-left: 0.72rem;
    }

    .company-applications-requirement-category-title {
      margin: 0;
      font-size: 0.86rem;
      font-weight: 800;
      color: #475569;
    }

    /* マスタ行（カード）をカテゴリ見出しから一段インデント */
    .company-applications-requirement-category .company-applications-breakdown-list {
      margin-left: 0;
      padding-left: 0.4rem;
    }

    .company-applications-judgment {
      border-radius: 999px;
      padding: 0.22rem 0.55rem;
      font-size: 0.72rem;
      font-weight: 800;
    }

    .company-applications-judgment.judgment-ok {
      background: #dcfce7;
      color: #15803d;
    }

    .company-applications-judgment.judgment-warn {
      background: #fef9c3;
      color: #a16207;
    }

    .company-applications-judgment.judgment-bad {
      background: #fee2e2;
      color: #b91c1c;
    }

    .company-applications-contact-grid {
      display: grid;
      gap: 0.75rem;
    }

    .company-applications-contact-last-block {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      min-width: 0;
    }

    .company-applications-datetime-row {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      gap: 0.5rem;
    }

    .company-applications-datetime-row input[type="datetime-local"] {
      min-width: 0;
      flex: 1;
      max-width: 100%;
      min-height: 2.75rem;
      box-sizing: border-box;
      padding: 0.65rem 0.75rem;
      border: 1px solid rgba(148, 163, 184, 0.55);
      border-radius: 12px;
      font: inherit;
      color: #0f172a;
    }

    .company-applications-datetime-row .company-applications-last-contact-btn {
      flex-shrink: 0;
      align-self: stretch;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 2.75rem;
      box-sizing: border-box;
      padding: 0.65rem 1.1rem;
    }

    .company-applications-detail-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.25rem;
      align-items: start;
    }

    .company-applications-detail-compare {
      border: 1px solid rgba(148, 163, 184, 0.45);
      border-radius: 16px;
      padding: 1rem 1.1rem;
      background: #f8fafc;
    }

    .company-applications-detail-compare > .company-applications-detail-card + .company-applications-detail-card {
      margin-top: 1rem;
    }

    .company-applications-detail-compare .company-applications-item-name {
      font-size: 1.15rem;
    }

    .company-applications-detail-title-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.55rem;
    }

    .company-applications-detail-title-row .company-applications-detail-section-title {
      margin: 0;
      min-width: 0;
    }

    .company-applications-detail-actions {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .company-applications-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }

    /* 一覧カード：社内ステータス + 稼働開始・入社予定日 をグループ化し、その下に応募者への公開を置く */
    .company-applications-item-workflow {
      display: grid;
      gap: 0.42rem;
      margin-top: 0.65rem;
      padding-top: 0.65rem;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
    }

    .company-applications-item-internal-group {
      display: grid;
      gap: 0.35rem;
    }

    .company-applications-item-internal {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.35rem 0.6rem;
      padding: 0.42rem 0.65rem 0.45rem;
      border-radius: 10px;
      border-left: 4px solid #334155;
      background: rgba(241, 245, 249, 0.95);
    }

    .company-applications-item-internal-label {
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      color: #64748b;
    }

    .company-applications-item-internal-value {
      font-size: 0.84rem;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.35;
    }

    .company-applications-item-person-visible {
      margin: 0;
      padding-left: 0.22rem;
      font-size: 0.72rem;
      line-height: 1.5;
      color: #64748b;
    }

    .company-applications-item-person-visible strong {
      font-weight: 600;
      color: #475569;
    }

    .company-applications-item-start-date-hint {
      margin: 0;
      padding-left: 0.22rem;
      font-size: 0.71rem;
      line-height: 1.45;
      color: #6d28d9;
      font-weight: 600;
    }

    .company-applications-list-matching-wrap {
      margin-top: 0.72rem;
      padding-top: 0.65rem;
      border-top: 1px solid rgba(148, 163, 184, 0.32);
    }

    .company-applications-list-matching-heading {
      margin: 0 0 0.45rem;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      color: #64748b;
    }

    .company-applications-badge {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: 0.24rem 0.58rem;
      font-size: 0.72rem;
      font-weight: 700;
    }

    .company-applications-badge.applied {
      background: #e2e8f0;
      color: #334155;
    }

    .company-applications-badge.reviewing {
      background: #dbeafe;
      color: #1d4ed8;
    }

    .company-applications-badge.progress {
      background: #ede9fe;
      color: #6d28d9;
    }

    .company-applications-badge.in-progress {
      background: #dcfce7;
      color: #15803d;
    }

    .company-applications-badge.closed {
      background: #fee2e2;
      color: #b91c1c;
    }

    .company-applications-badge.mismatch {
      background: #fff7ed;
      color: #c2410c;
    }

    .company-applications-detail {
      display: grid;
      gap: 0.9rem;
      align-content: start;
      min-height: clamp(16rem, 42vh, 26rem);
    }

    .company-applications-detail-card {
      border: 1px solid rgba(148, 163, 184, 0.24);
      border-radius: 18px;
      padding: 1.2rem;
      background: #fff;
    }

    .company-applications-detail-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.85rem 1rem;
    }

    .company-applications-detail-item {
      min-width: 0;
    }

    .company-applications-detail-label {
      display: block;
      margin-bottom: 0.3rem;
      font-size: 0.76rem;
      font-weight: 700;
      color: #64748b;
    }

    .company-applications-detail-value {
      color: #0f172a;
      font-size: 0.92rem;
      line-height: 1.6;
      word-break: break-word;
    }

    .company-applications-profile-subsection {
      margin-top: 1rem;
    }

    .company-applications-profile-subsection:first-of-type {
      margin-top: 0.5rem;
    }

    .company-applications-profile-subsection-title {
      margin: 0 0 0.5rem;
      font-size: 1rem;
      font-weight: 700;
      color: #0f172a;
    }

    .company-applications-profile-subsection__body {
      padding-left: 1rem;
      border-left: 3px solid rgba(148, 163, 184, 0.4);
    }

    .company-applications-work-list {
      display: grid;
      gap: 0.75rem;
    }

    .company-applications-work-item {
      border: 1px solid rgba(148, 163, 184, 0.22);
      border-radius: 12px;
      padding: 0.85rem;
      background: #f8fafc;
    }

    .company-applications-work-item strong {
      display: block;
      margin-bottom: 0.35rem;
    }

    .company-applications-work-item__main {
      padding-left: 1rem;
      border-left: 3px solid rgba(148, 163, 184, 0.35);
    }

    .company-applications-work-item-overview {
      margin-top: 0.65rem;
    }

    .company-applications-work-item-overview .company-applications-detail-label {
      margin-bottom: 0.25rem;
    }

    .company-applications-matching-summary {
      display: block;
      margin-top: 0;
      margin-bottom: 0.15rem;
    }

    .company-applications-match-rate {
      display: inline-flex;
      align-items: baseline;
      gap: 0.45rem;
      padding: 0.65rem 0.85rem;
      border-radius: 14px;
      background: #eff6ff;
      color: #1d4ed8;
      width: fit-content;
    }

    .company-applications-match-rate-label {
      font-size: 0.76rem;
      font-weight: 700;
      opacity: 0.85;
    }

    .company-applications-match-rate-value {
      font-size: 1.2rem;
      font-weight: 800;
      line-height: 1;
    }

    .company-applications-chip-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
    }

    .company-applications-chip {
      display: inline-flex;
      align-items: center;
      padding: 0.35rem 0.6rem;
      border-radius: 999px;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.3;
      background: #e2e8f0;
      color: #334155;
    }

    .company-applications-chip.skill {
      background: #ede9fe;
      color: #6d28d9;
    }

    .company-applications-chip.tool {
      background: #dbeafe;
      color: #1d4ed8;
    }

    .company-applications-chip.qualification {
      background: #dcfce7;
      color: #15803d;
    }

    .company-applications-breakdown-section {
      display: grid;
      gap: 0.55rem;
      margin-top: 0.2rem;
    }

    /* 求人側の見出し（h4）とツリー本体の視覚的区切り */
    .company-applications-breakdown-section > h4 {
      letter-spacing: 0.02em;
    }

    .company-applications-breakdown-card {
      border: 1px solid rgba(148, 163, 184, 0.24);
      border-radius: 14px;
      padding: 1rem;
      background: #fff;
    }

    .company-applications-breakdown-card h4 {
      margin: 0 0 0.35rem;
      font-size: 0.95rem;
      color: #0f172a;
    }

    .company-applications-breakdown-summary {
      margin-bottom: 0.7rem;
      color: #64748b;
      font-size: 0.82rem;
      line-height: 1.6;
    }

    .company-applications-breakdown-list {
      display: grid;
      gap: 0.6rem;
    }

    .company-applications-breakdown-item {
      border: 1px solid rgba(148, 163, 184, 0.2);
      border-radius: 12px;
      padding: 0.8rem;
      background: #f8fafc;
    }

    .company-applications-breakdown-item-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.35rem;
    }

    .company-applications-breakdown-item-title {
      font-weight: 700;
      color: #0f172a;
      min-width: 0;
    }

    .company-applications-breakdown-item-meta {
      display: grid;
      gap: 0.28rem;
      color: #64748b;
      font-size: 0.8rem;
      line-height: 1.55;
    }

    .company-applications-breakdown-item-meta-row {
      word-break: break-word;
    }

    .company-applications-breakdown-note {
      margin-top: 0.25rem;
      color: #64748b;
      font-size: 0.8rem;
      line-height: 1.5;
    }

    .company-applications-master-section {
      display: grid;
      gap: 0.75rem;
      margin-top: 0.25rem;
    }

    /* 「応募者が持っているもの」：求人側と同じインデント幅で対比しやすくする */
    .company-applications-master-section > :not(h4) {
      padding-left: 0.95rem;
    }

    .company-applications-master-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.75rem;
    }

    .company-applications-master-card {
      border: 1px solid rgba(148, 163, 184, 0.24);
      border-radius: 14px;
      padding: 0.9rem;
      background: #fff;
    }

    .company-applications-master-card h4 {
      margin: 0 0 0.55rem;
      font-size: 0.92rem;
      color: #0f172a;
    }

    .company-applications-master-card .company-applications-chip-list {
      display: grid;
      gap: 0.5rem;
    }

    .company-applications-master-card .company-applications-chip {
      width: 100%;
      justify-content: flex-start;
      border-radius: 12px;
      text-align: left;
      white-space: normal;
    }

    .company-applications-status-actions {
      display: grid;
      gap: 0.75rem;
      margin-top: 0.4rem;
    }

    .company-applications-status-actions h4 {
      margin: 0;
      font-size: 0.94rem;
      color: #0f172a;
    }

    .company-applications-status-actions > h4 {
      font-size: 1.05rem;
    }

    .company-applications-status-actions > .mypage-help {
      margin: 0 0 0.25rem;
    }

    .company-applications-op-card {
      border: 1px solid rgba(148, 163, 184, 0.28);
      border-radius: 14px;
      padding: 1rem 1.05rem;
      background: #f8fafc;
    }

    .company-applications-op-card h4 {
      margin: 0 0 0.45rem;
      font-size: 0.95rem;
      color: #0f172a;
    }

    .company-applications-op-card p.op-help {
      margin: 0 0 0.65rem;
      font-size: 0.8rem;
      color: #64748b;
      line-height: 1.55;
    }

    .company-applications-op-card + .company-applications-op-card {
      margin-top: 0.65rem;
    }

    .company-hr-messenger .hr-messenger-status {
      min-height: 0;
      margin: 0.35rem 0 0;
      font-size: 0.82rem;
      color: #b45309;
      line-height: 1.45;
    }

    .company-hr-messenger .hr-messenger-policy-note {
      margin: 0.4rem 0 0.2rem;
      padding-left: 0.75rem;
      font-size: 0.72rem;
      line-height: 1.55;
      color: #64748b;
    }

    .company-hr-messenger .hr-messenger-display-name-setup-notice {
      margin: 0.65rem 0 0.35rem;
      padding: 0.75rem 0.85rem;
      border-radius: 10px;
      border: 1px solid rgba(245, 158, 11, 0.45);
      background: #fffbeb;
      color: #92400e;
      font-size: 0.84rem;
      line-height: 1.55;
    }

    .company-hr-messenger .hr-messenger-display-name-setup-notice p {
      margin: 0;
    }

    .company-hr-messenger .hr-messenger-display-name-setup-notice p + p {
      margin-top: 0.55rem;
    }

    .company-hr-messenger .hr-messenger-list {
      margin-top: 0.45rem;
      max-height: 384px;
      overflow-y: auto;
      padding: 0.5rem;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.35);
      background: #f8fafc;
    }

    .company-hr-messenger .hr-messenger-empty {
      margin: 0;
      font-size: 0.86rem;
      color: #64748b;
    }

    .company-hr-messenger .hr-messenger-item {
      margin-bottom: 0.75rem;
      max-width: 86%;
    }

    .company-hr-messenger .hr-messenger-item:last-child {
      margin-bottom: 0;
    }

    .company-hr-messenger .hr-messenger-item--company,
    .company-hr-messenger .hr-messenger-item--system {
      margin-right: 14%;
    }

    .company-hr-messenger .hr-messenger-item--person {
      margin-left: 14%;
    }

    .company-hr-messenger .hr-messenger-meta {
      margin: 0 0 0.25rem;
      font-size: 0.75rem;
      color: #64748b;
      line-height: 1.35;
    }

    .company-hr-messenger .hr-messenger-item--person .hr-messenger-meta {
      text-align: right;
    }

    .company-hr-messenger .hr-messenger-bubble {
      margin: 0;
      padding: 0.55rem 0.7rem;
      border-radius: 10px;
      background: #fff;
      border: 1px solid rgba(148, 163, 184, 0.45);
      position: relative;
      font-size: 0.88rem;
      color: #0f172a;
      line-height: 1.55;
      white-space: pre-wrap;
      word-break: break-word;
    }

    .company-hr-messenger .hr-messenger-bubble::after {
      content: "";
      position: absolute;
      top: 0.7rem;
      width: 0.55rem;
      height: 0.55rem;
      background: inherit;
      border: inherit;
      transform: rotate(45deg);
      z-index: 0;
    }

    .company-hr-messenger .hr-messenger-bubble > * {
      position: relative;
      z-index: 1;
    }

    .company-hr-messenger .hr-messenger-item--company .hr-messenger-bubble::after,
    .company-hr-messenger .hr-messenger-item--system .hr-messenger-bubble::after {
      left: -0.32rem;
      border-top: 0;
      border-right: 0;
    }

    .company-hr-messenger .hr-messenger-item--person .hr-messenger-bubble {
      background: #eef2ff;
      border-color: rgba(99, 102, 241, 0.32);
    }

    .company-hr-messenger .hr-messenger-item--person .hr-messenger-bubble::after {
      right: -0.32rem;
      border-bottom: 0;
      border-left: 0;
    }

    .company-hr-messenger .hr-messenger-bubble--system {
      background: #eff6ff;
      border-color: rgba(59, 130, 246, 0.35);
    }

    .company-hr-messenger .hr-messenger-input {
      margin-top: 0.65rem;
      width: 100%;
      box-sizing: border-box;
      min-height: 3.35rem;
      padding: 0.6rem 0.72rem;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.6);
      font: inherit;
      line-height: 1.55;
      resize: vertical;
    }

    .company-hr-messenger .hr-messenger-input::placeholder {
      font-size: 0.88rem;
      line-height: 1.55;
    }

    .company-hr-messenger .company-applications-send-row {
      margin-top: 0.75rem;
    }

    .company-applications-badge-muted {
      background: #f1f5f9 !important;
      color: #475569 !important;
      font-weight: 600 !important;
    }

    .company-applications-status-current-internal {
      margin: 0 0 0.65rem;
      font-size: 0.9rem;
      color: #0f172a;
      line-height: 1.5;
    }

    .company-applications-status-current-internal strong {
      font-weight: 700;
    }

    .company-applications-applicant-visible-note {
      margin: 0.75rem 0 0;
      font-size: 0.88rem;
      color: #334155;
      line-height: 1.55;
    }

    .company-applications-applicant-visible-note strong {
      font-weight: 700;
      color: #0f172a;
    }

    .company-applications-person-decline-notice {
      margin-top: 0.85rem;
      padding: 0.75rem 0.9rem;
      border-radius: 10px;
      border: 1px solid rgba(248, 113, 113, 0.45);
      background: rgba(254, 226, 226, 0.35);
    }

    .company-applications-person-decline-notice__title {
      margin: 0;
      font-size: 0.9rem;
      font-weight: 700;
      color: #7f1d1d;
      line-height: 1.45;
    }

    .company-applications-person-decline-notice__meta {
      margin: 0.4rem 0 0;
      font-size: 0.82rem;
      color: #991b1b;
      line-height: 1.5;
    }

    .company-applications-status-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 0.65rem;
      align-items: center;
      /* 再描画で select の computed 高さが揺れても周辺レイアウトが追従しにくいよう確保 */
      min-height: 3.125rem;
      contain: layout;
    }

    .company-applications-status-row select,
    .company-applications-status-row input[type="date"] {
      width: 100%;
      min-width: 0;
      min-height: 2.875rem;
      box-sizing: border-box;
      line-height: 1.35;
      padding: 0.75rem 0.9rem;
      border: 1px solid rgba(148, 163, 184, 0.55);
      border-radius: 12px;
      background: #fff;
      font: inherit;
      color: #0f172a;
    }

    .company-applications-date-picker-only:not(:disabled) {
      cursor: pointer;
      caret-color: transparent;
    }

    .company-applications-status-row .btn {
      min-height: 2.875rem;
      box-sizing: border-box;
      align-self: center;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .company-applications-publish-history {
      margin-top: 0.65rem;
      font-size: 0.78rem;
      color: #64748b;
      line-height: 1.5;
    }

    .company-applications-publish-history ul {
      margin: 0.35rem 0 0;
      padding-left: 1.1rem;
    }

    .company-applications-reflect-toggle {
      display: flex;
      align-items: flex-start;
      gap: 0.55rem;
      color: #0f172a;
      font-size: 0.88rem;
      line-height: 1.55;
    }

    .company-applications-reflect-toggle input[type="checkbox"] {
      margin-top: 0.15rem;
      flex: 0 0 auto;
    }

    @media (max-width: 900px) {
      .company-applications-layout {
        grid-template-columns: 1fr;
      }

      .company-applications-detail-grid {
        grid-template-columns: 1fr;
      }

      .company-applications-master-grid {
        grid-template-columns: 1fr;
      }

      .company-applications-requirement-groups,
      .company-applications-master-section > :not(h4) {
        padding-left: 0.72rem;
      }

      .company-applications-requirement-category {
        padding-left: 0.55rem;
      }

      .company-applications-status-row {
        grid-template-columns: 1fr;
        min-height: 0;
        align-items: stretch;
      }

      .company-applications-status-row .btn {
        align-self: stretch;
        width: 100%;
        min-height: 2.875rem;
      }
    }

/* Extracted from company-applications/index.html style attributes */
.csp-company-applications-1 {
  display: none;
}
.csp-company-applications-2 {
  display:none;
}
