/* 福祉用具（tool）: 最小テーマ */

.theme-tool h2{
  margin: 0 0 12px;
}

.card-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}

.theme-tool{
  --primary:#3f6f9f;
  --primary-hover:#38648f;
  --primary-pressed:#345d86;
  --primary-soft:#eef5fb;
  --primary-border:#c8d9ea;
  --ring:var(--focus-ring);
}

.card-link{
  display:block;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  text-decoration:none;
  color:var(--text);
}

.card-link:hover{
  background:var(--primary-soft);
}

.card-link.is-disabled{
  background:var(--disabled-bg);
  color:var(--disabled-text);
  pointer-events:none;
}

.card-title{
  font-size: 16px;
  font-weight: 700;
}

.card-desc{
  margin-top:6px;
  font-size: 12px;
  color:var(--muted);
}

.tool-note{
  padding:10px 12px;
  border:1px dashed var(--border-strong);
  border-radius:12px;
  margin-bottom: 12px;
  background:var(--surface);
  color:var(--text);
}

.tool-note ul{ margin:0; padding-left: 18px; }

.tool-fax-form .form-row{
  margin-bottom: 12px;
}

.tool-fax-form .help{
  margin-top: 6px;
  font-size: 12px;
  opacity: .75;
}

.tool-kv{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
  margin-bottom: 12px;
}

.kv-item{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
}

.kv-label{
  font-size: 12px;
  opacity: .75;
}

.kv-value{
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
}

.mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.pdf-preview{
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#111827;
}

.pdf-frame{
  width:100%;
  height: 70vh;
  border:0;
}

.sticky-actions{
  display:flex;
  gap:10px;
  justify-content: space-between;
  align-items:center;
  margin-top: 12px;
}

.tool-actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:10px;
}

.w-full{ width:100%; }

/* 電話帳カード */
.contact-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.contact-card{
  position: relative;
  display:block;
  padding: 12px 42px 12px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  text-decoration:none;
  color: var(--text);
}

.contact-card:hover{ 
  background: var(--primary-soft);
  color: var(--text);
}

.contact-card.is-inactive{
  background:var(--disabled-bg);
  color:var(--disabled-text);
}

.cc-top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:10px;
  margin-bottom: 4px;
}

.cc-title{
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--text);
}

.cc-sub{
  font-size: 12px;
  color: var(--muted);
}

.cc-fax{
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
}

.cc-note{
  margin-top: 6px;
  font-size: 12px;
  opacity: .75;
}

.cc-arrow{
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  opacity: .55;
}

.badge{
  display:inline-flex;
  align-items:center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid var(--badge-muted-border);
  background: var(--badge-muted-bg);
  color:var(--badge-muted-text);
}

.badge-muted{
  color:var(--badge-muted-text);
}

@media (min-width: 900px){
  .contact-cards{ grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px){
  .card-grid{ grid-template-columns: 1fr 1fr 1fr; }
  .tool-kv{ grid-template-columns: 1fr 1fr; }
  .sticky-actions{ justify-content: flex-end; }
}
