/* 案件カードの見た目（web/project-card.js と対・M-0062）。代理店 LIFF の 2 画面（projects.html / index.html）が読む。
   .pc 単体＝白いカード1枚（index.html の一覧）。.pc-list の中＝枠線で区切った行（projects.html の #list）。 */
.pc { background:#fff; border:1px solid var(--line,#e6ebf1); border-radius:14px; padding:13px 14px; margin-bottom:10px; }
.pc-list .pc { border:0; border-radius:0; margin:0; border-bottom:1px solid #f2f5f8; }
.pc-list .pc:last-of-type { border-bottom:none; }
.pc-head { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.pc.static .pc-head { cursor:default; } /* 開閉しないカード（📱アプリ: STEP が常に見えている） */
.pc.tap { cursor:pointer; }                /* カード全体をタップで別画面へ（🎯イベント: 枠取りシート） */
.pc-extra { margin-top:8px; }              /* 画面固有の足し物（枠取りのゲージなど） */
.pc-main { flex:1; min-width:0; }
.pc-name { font-size:15px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.pc:not(.open) .pc-name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pc-cat { display:inline-block; font-size:11px; color:#fff; padding:1px 7px; border-radius:6px; margin-right:7px; vertical-align:2px; }
.pc-cat.event { background:#4a90d9; } .pc-cat.agent { background:#7b61c9; } .pc-cat.app { background:#e08a2b; }
.pc-sched { font-size:12px; color:#5b6672; margin-top:5px; }
.pc-chev { color:#c2cbd4; font-size:12px; padding-top:3px; transition:transform .15s; }
.pc.open .pc-chev { transform:rotate(180deg); }
/* メタ行: 左=属性タグ / 右=状態バッジ（残数・単価・終了）。名前行に混ぜない（2026-08-08 kaz「情報量維持でスッキリ」） */
.pc-meta { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-top:6px; }
.pc-bdg { margin-left:auto; display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.pc-tag { font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; white-space:nowrap; }
.pc-tag.grad { background:#e9effc; color:#2d6cdf; }
.pc-tag.online { background:#eafaf0; color:#1a7f4b; }
.pc-tag.onsite { background:#faeeda; color:#854f0b; }
.pc-tag.place { background:#f2f5f8; color:#5b6672; }
.pc-tag.ok { background:#eafaf0; color:#1a7f4b; }     /* 再参加OK・複数回参加OK（M-0063） */
.pc-tag.ng { background:#f2f5f8; color:#8a94a0; }     /* 再参加不可・複数回参加不可 */
.pc-badge { font-size:11px; color:#fff; background:#e08a2b; padding:1px 8px; border-radius:6px; white-space:nowrap; }
.pc-badge.tbd { background:#aab3bd; }
.pc-badge.ended { background:#6b7280; font-weight:700; padding:2px 9px; }
.pc-badge.mine { background:#eafaf0; color:#1a7f4b; }
.pc-badge.pick { background:#c0223a; font-weight:700; }
/* 本人分の単価は控えめ: 絵文字なし・白地アウトライン（2026-08-05 kaz指示） */
.pc-badge.reward { background:#fff; color:#5b6672; border:1px solid var(--line,#dfe5ec); font-weight:600; }
.pc-badge.nocap { background:#e7e9ee; color:#5b6472; font-weight:700; }
/* 定員ゲージ（イベント）: 空きあり=緑／残り2割以下=黄／満枠=赤。色は報告画面の枠取りと同じ */
.pc-gauge { display:flex; align-items:center; gap:8px; margin-top:8px; }
.pc-gauge.succ { --g:#3B6D11; --gb:#EAF3DE; } .pc-gauge.warn { --g:#854F0B; --gb:#FAEEDA; } .pc-gauge.dang { --g:#A32D2D; --gb:#FCEBEB; }
.pc-gt { flex:1; height:7px; background:#eceef2; border-radius:999px; overflow:hidden; }
.pc-gf { height:100%; border-radius:999px; background:var(--g,#3B6D11); }
.pc-gnum { font-size:12px; color:#5b6672; white-space:nowrap; }
.pc-gbadge { font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; white-space:nowrap; background:var(--gb,#EAF3DE); color:var(--g,#3B6D11); }
.pc-wait { font-size:11px; color:var(--muted,#9aa3ad); margin-top:4px; }
.pc.ended .pc-gauge { display:none; }
/* イベントの日付タイル */
.pc-date { flex:0 0 46px; align-self:flex-start; text-align:center; background:#eef4ea; border:1px solid #dbe7d3; border-radius:10px; padding:5px 0 4px; }
.pc-date .m { font-size:10px; font-weight:700; color:var(--green-d,#05a948); }
.pc-date .d { font-size:18px; font-weight:800; line-height:1.15; color:#1c2530; }
.pc-date .w { font-size:10px; font-weight:700; color:#5b6672; }
.pc-date.sat .w { color:#2d6cdf; } .pc-date.sun .w { color:#c0392b; }
/* 終了（募集終了・開催日超過）はグレー */
.pc.ended { background:#eef1f4; border-left:3px solid #9aa3ad; }
.pc.ended .pc-name { color:#7c8794; }
.pc.ended .pc-sched { color:#9aa3ad; }
.pc.ended .pc-cat, .pc.ended .pc-date { opacity:.55; }
.pc.ended .pc-meta { opacity:.6; }
.pc.ended .pc-badge:not(.ended) { background:#aab3bd; }
/* 詳細（開いたときだけ） */
.pc-detail { display:none; margin-top:10px; }
.pc.open .pc-detail { display:block; }
.pc-row { display:flex; gap:10px; padding:8px 0; border-top:1px solid #f2f5f8; font-size:13px; }
.pc-lab { flex:0 0 78px; color:#9aa3ad; font-weight:600; }
.pc-val { flex:1; color:#1c2530; white-space:pre-wrap; word-break:break-word; line-height:1.55; }
.pc-val a { color:var(--green-d,#05a948); text-decoration:underline; word-break:break-all; }
.pc-links { margin-top:11px; display:flex; flex-direction:column; gap:8px; }
.pc-lk { font-size:14px; font-weight:700; padding:5px 0; }
.pc-lk a { color:var(--green-d,#05a948); text-decoration:underline; text-underline-offset:2px; word-break:break-all; }
/* 🎓 参加前フォームの代理店向け案内（M-0060） */
.pc-gate { margin-top:8px; padding:9px 11px; background:#f3f6fb; border:1px solid #cfdcef; border-radius:9px; font-size:12.5px; line-height:1.65; color:#2f4a6d; }
.pc-none { font-size:12px; color:var(--muted,#9aa3ad); margin-top:6px; }
