/* demo/software-development/styles.css — カレンダー連携・業務移行コンソール */
.swc {
  --s-bg:#f5f7fa; --s-card:#fff; --s-ink:#1f2937; --s-mute:#6b7280; --s-line:#e5e7eb;
  --s-a:#4f46e5; --s-b:#059669; --s-c:#d97706; --s-g:#94a3b8;
  --s-ok:#16a34a; --s-warn:#f59e0b;
  background:var(--s-bg); color:var(--s-ink);
  font-family:"Noto Sans JP",sans-serif; font-size:13px;
  min-height:100%; padding:16px; box-sizing:border-box;
}

/* トグルバー */
.swc-bar { display:flex; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.swc-toggle { border:1px solid var(--s-line); background:#fff; border-radius:999px;
  padding:8px 16px; font-size:12px; cursor:pointer; display:flex; align-items:center; gap:8px;
  color:var(--s-ink); font-family:inherit; }
.swc-toggle .dot { width:9px; height:9px; border-radius:50%; background:var(--s-g); }
.swc-toggle.on { border-color:var(--s-ok); color:var(--s-ok); }
.swc-toggle.on .dot { background:var(--s-ok); }
.swc-toggle.off { border-color:var(--s-warn); color:var(--s-warn); }
.swc-toggle.off .dot { background:var(--s-warn); }
.swc-toggle.mig.on { border-color:var(--s-a); color:var(--s-a); }
.swc-toggle.mig.on .dot { background:var(--s-a); }

/* フォーム */
.swc-form { display:flex; align-items:flex-end; gap:10px; background:var(--s-card);
  border:1px solid var(--s-line); border-radius:12px; padding:12px 14px; flex-wrap:wrap; }
.swc-form-title { font-weight:700; font-size:13px; align-self:center; white-space:nowrap; }
.swc-field { display:flex; flex-direction:column; gap:4px; }
.swc-field.grow { flex:1; min-width:160px; }
.swc-field span { font-size:11px; color:var(--s-mute); }
.swc-field select, .swc-field input { border:1px solid var(--s-line); border-radius:8px;
  padding:8px 10px; font-size:13px; background:#fff; color:var(--s-ink); font-family:inherit; }
.swc-field select:focus, .swc-field input:focus { outline:none; border-color:var(--s-a); }
.swc-add { border:none; border-radius:8px; padding:9px 18px; font-size:13px; font-weight:700;
  background:var(--s-a); color:#fff; cursor:pointer; white-space:nowrap; font-family:inherit; }
.swc-add:disabled { opacity:.5; cursor:default; }

/* 状態ライン */
.swc-status { border-radius:10px; padding:10px 14px; font-size:13px; margin:12px 0; }
.swc-status.intro { background:#eef2ff; border:1px solid #c7d2fe; color:#3730a3; }
.swc-status.ok { background:#ecfdf5; border:1px solid #a7f3d0; color:#047857; }
.swc-status.warn { background:#fffbeb; border:1px solid #fde68a; color:#b45309; }

/* カレンダーカード並列 */
.swc-cards { display:grid; gap:10px; }
.swc-cards.n4 { grid-template-columns:repeat(4,1fr); }
.swc-cards.n5 { grid-template-columns:repeat(5,1fr); }
.swc-card { background:var(--s-card); border:1px solid var(--s-line); border-radius:12px;
  padding:10px; min-width:0; }
.swc-card.legacy { background:#f8fafc; border-style:dashed; }
.swc-card-head { display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.swc-badge { font-size:10px; font-weight:700; color:#fff; border-radius:6px; padding:2px 6px;
  font-family:"Inter",sans-serif; flex:none; }
.swc-card-name { font-size:12px; font-weight:600; flex:1; min-width:0; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.swc-card-tag { font-size:9px; color:var(--s-g); border:1px solid var(--s-g); border-radius:999px;
  padding:1px 6px; white-space:nowrap; flex:none; }
.swc-card-dot { width:8px; height:8px; border-radius:50%; background:var(--s-g); flex:none; }
.swc-card-dot.on { background:var(--s-ok); }

/* 色（バッジ・予定チップ共用の背景色） */
.color-a { background:var(--s-a); } .color-b { background:var(--s-b); }
.color-c { background:var(--s-c); } .color-g { background:var(--s-g); }

/* 週グリッド */
.swc-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:3px; }
.swc-col { display:flex; flex-direction:column; min-width:0; }
.swc-col-day { font-size:10px; color:var(--s-mute); text-align:center; padding:2px 0;
  border-bottom:1px solid var(--s-line); margin-bottom:3px; }
.swc-col-body { display:flex; flex-direction:column; gap:3px; min-height:48px; }
.swc-event { font-size:10px; color:#fff; border-radius:5px; padding:3px 4px; line-height:1.3;
  word-break:break-all; }
