/* 営業OS 認証画面（ログイン/新規登録）＋ ログイン状態チップ。既存カフェ・エディトリアル調に合わせた最小追加。 */
.cw-auth-body{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;box-sizing:border-box;
}
.cw-auth-card{
  width:100%;max-width:400px;
  background:var(--cw-panel, rgba(28,24,20,0.92));
  border:1px solid var(--cw-border, rgba(196,164,120,0.28));
  border-radius:16px;padding:32px 28px;
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
}
.cw-auth-brand{display:flex;align-items:baseline;gap:9px;font-weight:600;letter-spacing:.02em;margin-bottom:6px}
/* 製品名＝生業（Nariwai）。ログイン画面はcw-assistant.cssを読まないため、ここにも定義する。2026-07-08 CrowdWorks Assistant から生業へ改称 */
.cw-auth-brand .cw-brand-name{font-family:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:1.34rem;letter-spacing:.2em;color:var(--text,#f0eadc)}
.cw-auth-brand .cw-brand-latin{font-family:"Cormorant",Georgia,serif;font-weight:500;font-size:.92rem;letter-spacing:.14em;color:var(--cw-accent,#c9a86a);margin-left:2px}
.cw-auth-title{font-size:1.35rem;margin:6px 0 4px}
.cw-auth-sub{font-size:.82rem;opacity:.72;margin-bottom:20px;line-height:1.5}
.cw-auth-field{display:block;margin-bottom:14px}
.cw-auth-field span{display:block;font-size:.8rem;opacity:.8;margin-bottom:5px}
.cw-auth-field input{
  width:100%;box-sizing:border-box;padding:11px 13px;border-radius:10px;
  border:1px solid var(--cw-border, rgba(196,164,120,0.3));
  background:rgba(0,0,0,0.28);color:inherit;font-size:1rem;
}
.cw-auth-field input:focus{outline:none;border-color:var(--cw-accent,#c9a86a)}
.cw-auth-submit{
  width:100%;padding:12px;border:none;border-radius:10px;cursor:pointer;
  background:var(--cw-accent,#c9a86a);color:#1a1512;font-weight:600;font-size:1rem;margin-top:6px;
}
.cw-auth-submit:hover{filter:brightness(1.05)}
.cw-auth-note{font-size:.74rem;opacity:.62;margin-top:18px;line-height:1.55}
.cw-flash{padding:10px 13px;border-radius:9px;font-size:.85rem;margin-bottom:14px}
.cw-flash.error{background:rgba(150,40,40,0.22);border:1px solid rgba(200,90,90,.45)}
.cw-flash.ok{background:rgba(40,110,70,0.22);border:1px solid rgba(90,180,120,.45)}

/* トップナビのログイン状態チップ */
.cw-auth-chip{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:.8rem}
.cw-auth-user{opacity:.82}
.cw-logout-btn{
  background:transparent;border:1px solid var(--cw-border,rgba(196,164,120,.3));
  color:inherit;border-radius:8px;padding:5px 11px;cursor:pointer;font-size:.78rem;
}
.cw-logout-btn:hover{border-color:var(--cw-accent,#c9a86a)}

/* ダッシュボード 安全ステータス帯 */
.cw-safety-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 18px}
.cw-safety-chip{font-size:.78rem;padding:5px 12px;border-radius:999px;border:1px solid var(--cw-border,rgba(196,164,120,.28))}
.cw-safety-chip.ok{background:rgba(40,110,70,.2)}
.cw-safety-chip.warn{background:rgba(170,120,30,.28)}
.cw-safety-link{font-size:.78rem;opacity:.85;text-decoration:none;border-bottom:1px dotted currentColor}
.cw-safety-link:hover{opacity:1}

/* クラウドワークス連携（/connect） */
.cw-connect-fetch{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.cw-connect-fetch input{flex:1 1 320px;box-sizing:border-box;padding:9px 12px;border-radius:9px;
  border:1px solid var(--cw-border,rgba(196,164,120,.3));background:rgba(0,0,0,.24);color:inherit;font-size:.92rem}

/* 改善ループ（/improvement）＋応募結果フォーム */
.cw-rate-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.88rem}
.cw-rate-table th,.cw-rate-table td{padding:7px 10px;border-bottom:1px solid var(--cw-border,rgba(196,164,120,.18));text-align:left}
.cw-rate-table td.num,.cw-rate-table th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.cw-rate-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.cw-result-form label{display:block;font-size:.84rem;margin-bottom:10px}
.cw-result-row{display:flex;gap:12px;flex-wrap:wrap}
.cw-result-row label{flex:1 1 200px}
.cw-result-form input,.cw-result-form select,.cw-result-form textarea{
  width:100%;box-sizing:border-box;padding:8px 11px;border-radius:9px;margin-top:4px;
  border:1px solid var(--cw-border,rgba(196,164,120,.3));background:rgba(0,0,0,.24);color:inherit;font-family:inherit;font-size:.92rem}

/* スマホ下部ナビ（640px以下のみ表示） */
.cw-bottom-nav{display:none}
@media (max-width:640px){
  .cw-bottom-nav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;
    background:var(--cw-panel,rgba(24,20,17,0.97));border-top:1px solid var(--cw-border,rgba(196,164,120,.28));
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));
  }
  .cw-bottom-nav a{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    font-size:.66rem;text-decoration:none;color:inherit;opacity:.72;padding:4px 0;
  }
  .cw-bottom-nav a span{font-size:1.15rem}
  .cw-bottom-nav a.active{opacity:1;color:var(--cw-accent,#c9a86a)}
  /* 下部ナビに隠れないよう本文に余白 */
  .cw-main{padding-bottom:64px}
}

/* サイト内リマインド（ダッシュボード） */
.cw-reminder-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:7px}
.cw-reminder{display:flex;align-items:baseline;gap:9px;padding:9px 12px;border-radius:9px;font-size:.9rem;
  border:1px solid var(--cw-border,rgba(196,164,120,.2));background:rgba(0,0,0,.14)}
.cw-reminder a{text-decoration:none;border-bottom:1px dotted currentColor}
.cw-reminder-urgent{border-color:rgba(200,90,90,.5);background:rgba(170,40,40,.16)}
.cw-reminder-warn{border-color:rgba(180,140,30,.45);background:rgba(170,130,30,.13)}
.cw-reminder-icon{flex-shrink:0}

/* 同じ種類をまとめた行（3件以上・折りたたみ） */
.cw-reminder-grouped{display:block;padding:0}
.cw-reminder-grouped>details{width:100%}
.cw-reminder-grouped summary{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;
  list-style:none;border-radius:9px}
.cw-reminder-grouped summary::-webkit-details-marker{display:none}
.cw-reminder-grouped summary::after{content:"▾";margin-left:auto;opacity:.55;font-size:.8em;
  transition:transform .15s ease}
.cw-reminder-grouped[open] summary::after,
.cw-reminder-grouped summary:hover::after{opacity:.9}
.cw-reminder-grouped>details[open] summary::after{transform:rotate(180deg)}
.cw-reminder-grouped summary:hover{background:rgba(255,255,255,.04)}
.cw-reminder-group-title{font-weight:600}
.cw-reminder-count{font-size:.8rem;padding:1px 8px;border-radius:999px;
  border:1px solid var(--cw-border,rgba(196,164,120,.28));background:rgba(0,0,0,.22);opacity:.85}
.cw-reminder-sub{list-style:none;margin:0;padding:2px 12px 10px 34px;display:flex;flex-direction:column;gap:5px}
.cw-reminder-sub li{font-size:.86rem;opacity:.92;line-height:1.5}
.cw-reminder-sub a{text-decoration:none;border-bottom:1px dotted currentColor}

/* AI秘書（/assistant） */
.cw-assistant-layout{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:start}
.cw-assistant-questions{display:flex;flex-direction:column;gap:8px}
.cw-assistant-q{display:block;padding:10px 13px;border-radius:10px;text-decoration:none;font-size:.88rem;
  border:1px solid var(--cw-border,rgba(196,164,120,.24));background:rgba(0,0,0,.16)}
.cw-assistant-q.active,.cw-assistant-q:hover{border-color:var(--cw-accent,#c9a86a);background:rgba(201,168,106,.12)}
.cw-assistant-points{line-height:1.8;margin:6px 0}
.cw-assistant-joblist{line-height:1.9;margin:6px 0}
.cw-assistant-footer{font-size:.78rem;opacity:.7;margin-top:16px;border-top:1px solid var(--cw-border,rgba(196,164,120,.2));padding-top:12px}
@media (max-width:640px){.cw-assistant-layout{grid-template-columns:1fr}
  .cw-assistant-questions{flex-direction:row;flex-wrap:wrap}
  .cw-assistant-q{flex:1 1 44%}}

/* 予定・カレンダー（/calendar） */
.cw-cal-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.cw-cal-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:9px 12px;border-radius:9px;border:1px solid var(--cw-border,rgba(196,164,120,.2));background:rgba(0,0,0,.14)}
.cw-cal-date{font-size:.8rem;opacity:.82;min-width:170px;font-variant-numeric:tabular-nums}
.cw-cal-title{font-weight:600;text-decoration:none;border-bottom:1px dotted currentColor}
.cw-cal-urgent{border-color:rgba(180,120,30,.5);background:rgba(170,120,30,.14)}
.cw-cal-overdue{border-color:rgba(200,90,90,.5);background:rgba(170,40,40,.16)}
.cw-cal-follow{border-color:rgba(90,150,200,.4);background:rgba(60,120,180,.12)}

/* 定型文管理（/templates） */
.cw-tpl-form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.cw-tpl-form label,.cw-tpl-card label{display:block;font-size:.82rem}
.cw-tpl-grow{flex:1 1 220px}
.cw-tpl-form input,.cw-tpl-form select,.cw-tpl-form textarea,.cw-tpl-card textarea,.cw-tpl-title-input{
  width:100%;box-sizing:border-box;padding:8px 11px;border-radius:9px;margin-top:4px;
  border:1px solid var(--cw-border,rgba(196,164,120,.3));background:rgba(0,0,0,.24);color:inherit;font-size:.92rem;font-family:inherit}
.cw-tpl-list{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cw-tpl-card{border:1px solid var(--cw-border,rgba(196,164,120,.24));border-radius:12px;padding:14px;background:rgba(0,0,0,.16)}
.cw-tpl-title-input{font-weight:600;margin-bottom:6px}
.cw-tpl-body{resize:vertical;line-height:1.5}
.cw-tpl-actions{display:flex;gap:8px;margin-top:8px;align-items:center}
.cw-tpl-delete{margin-top:8px}
.btn-danger{border-color:rgba(200,90,90,.5)!important;color:#f0b8b8}

/* 進捗ボード（/pipeline）ドラッグ */
.pipeline-card{cursor:grab}
.pipeline-card:active{cursor:grabbing}
.pipeline-dragover{outline:2px dashed var(--cw-accent,#c9a86a);outline-offset:-4px;background:rgba(201,168,106,.08)}

/* 危険度グレードバッジ（低/中/高/応募非推奨） */
.cw-risk-badge{display:inline-block;font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:999px;margin:4px 0}
.cw-risk-badge.risk-low{background:rgba(40,110,70,.28)}
.cw-risk-badge.risk-mid{background:rgba(170,140,30,.3)}
.cw-risk-badge.risk-high{background:rgba(180,90,30,.34)}
.cw-risk-badge.risk-avoid{background:rgba(170,40,40,.4)}
.cw-risk-avoid-note{font-size:.82rem;color:#f0b8b8;margin:6px 0 10px;line-height:1.5}

/* 応募期限切れ（もう応募できない案件。既定では一覧に出ないが、「期限切れも表示する」時に使う） */
.cw-deadline-expired{color:#e08b8b;font-weight:600}

/* /security ページ */
.cw-sec-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:16px}
.cw-sec-item{border:1px solid var(--cw-border,rgba(196,164,120,.24));border-radius:12px;padding:16px 18px;background:rgba(0,0,0,.16)}
.cw-sec-item h3{margin:0 0 8px;font-size:1rem;display:flex;align-items:center;gap:8px}
.cw-sec-detail{font-size:.85rem;line-height:1.6;opacity:.9}
.cw-sec-basis{font-size:.72rem;opacity:.6;margin-top:9px}
.cw-sec-badge{font-size:.72rem;padding:2px 9px;border-radius:999px;font-weight:600}
.cw-sec-badge.ok{background:rgba(40,110,70,.28)}
.cw-sec-badge.na{background:rgba(90,90,110,.28)}
.cw-sec-badge.warn{background:rgba(170,120,30,.3)}
.cw-sec-badge.unknown{background:rgba(90,90,110,.24);opacity:.85}
