/* ============================================================
   landnotice.css — 土地管理者による飛行条件のお知らせ(MVP)
   map.css のトークン(--ink/--accent/--surface 等)を参照する。
   review.css のカードトーン(白カード・角丸・12-13px)を踏襲。
   ============================================================ */

/* ---- 判定シート内のお知らせブロック ---- */
.dfm-lmn-block {
  margin-top: 10px;
  padding: 0 24px;
}
.dfm-lmn-title {
  font-size: 12.5px; font-weight: 800; color: var(--ink-2);
  margin-bottom: 8px;
}
.dfm-lmn-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 13px;
  margin-bottom: 8px;
  border-left: 4px solid var(--c, var(--ink-2));
}
.dfm-lmn-card.is-prohibited { --c: #C13515; background: color-mix(in srgb, #C13515 5%, #FFF); }
.dfm-lmn-card.is-conditional { --c: #D97706; background: color-mix(in srgb, #D97706 5%, #FFF); }
.dfm-lmn-card.is-allowed { --c: #008A05; background: color-mix(in srgb, #008A05 5%, #FFF); }

.dfm-lmn-head { display: flex; align-items: center; gap: 8px; }
.dfm-lmn-chip {
  flex-shrink: 0;
  font-size: 10.5px; font-weight: 700; color: #fff;
  background: var(--c, var(--ink-2));
  border-radius: var(--r-pill);
  padding: 3px 9px;
  white-space: nowrap;
}
.dfm-lmn-manager { font-size: 12.5px; font-weight: 700; color: var(--ink); }
.dfm-lmn-lead { margin-top: 4px; font-size: 13px; font-weight: 700; color: var(--ink); }

.dfm-lmn-conds { margin-top: 7px; display: flex; flex-direction: column; gap: 3px; }
.dfm-lmn-cond { display: flex; gap: 6px; font-size: 12px; line-height: 1.5; }
.dfm-lmn-cond-label { flex-shrink: 0; color: var(--ink-3); font-weight: 600; min-width: 5.2em; }
.dfm-lmn-cond-val { color: var(--ink); word-break: break-word; }

.dfm-lmn-contact { margin-top: 6px; font-size: 11.5px; color: var(--ink-2); }

.dfm-lmn-disclaimer {
  margin: 6px 0 0;
  font-size: 10px; color: var(--ink-3); line-height: 1.6;
}

/* ---- 投稿導線(控えめなテキストリンク) ---- */
.dfm-lmn-postlink-row { padding: 0 24px; margin-top: 6px; }
.dfm-lmn-postlink {
  border: none; background: none;
  font-family: inherit; font-size: 11.5px; font-weight: 600;
  color: var(--ink-3);
  text-decoration: underline; text-underline-offset: 2px;
  cursor: pointer; padding: 4px 0;
}
.dfm-lmn-postlink:hover { color: var(--ink-2); }

/* ---- 投稿フォーム(モーダル) ---- */
.dfm-lmn-form-backdrop {
  position: fixed; inset: 0; z-index: 41;
  background: rgba(11, 34, 57, .38);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.dfm-lmn-form {
  width: min(480px, 100%);
  max-height: min(88vh, 760px);
  overflow-y: auto;
  background: var(--surface);
  border-radius: var(--r-card);
  padding: 18px 20px 20px;
  box-shadow: var(--shadow);
}
.dfm-lmn-form-head {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 16px; font-weight: 800; color: var(--ink);
  margin-bottom: 10px;
}
.dfm-lmn-form-close {
  width: 30px; height: 30px;
  border: none; border-radius: var(--r-pill);
  background: var(--bg); color: var(--ink-2);
  font-size: 13px; cursor: pointer;
}
.dfm-lmn-form-place {
  margin: 0 0 14px;
  font-size: 12.5px; color: var(--ink-2); font-weight: 500;
}
.dfm-lmn-field {
  display: block;
  margin-bottom: 12px;
}
.dfm-lmn-field span {
  display: flex; align-items: baseline; gap: 6px;
  font-size: 12.5px; font-weight: 700; color: var(--ink);
  margin-bottom: 5px;
}
.dfm-lmn-field span em {
  font-style: normal;
  font-size: 10.5px; font-weight: 700; color: #fff;
  background: var(--danger, #C13515);
  border-radius: var(--r-pill);
  padding: 1px 7px;
}
.dfm-lmn-field input,
.dfm-lmn-field select,
.dfm-lmn-field textarea {
  width: 100%;
  border: 1px solid var(--line-strong); border-radius: var(--r-input);
  padding: 9px 11px;
  font-family: inherit; font-size: 13px; line-height: 1.6; color: var(--ink);
  outline: none;
  background: var(--surface);
}
.dfm-lmn-field input:focus,
.dfm-lmn-field select:focus,
.dfm-lmn-field textarea:focus { border-color: var(--ink); }
.dfm-lmn-field textarea { resize: vertical; }

.dfm-lmn-form-sub {
  margin: 14px 0 4px;
  font-size: 12px; font-weight: 800; color: var(--ink-2);
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.dfm-lmn-form-note {
  margin-top: 8px;
  font-size: 10.5px; color: var(--ink-3); line-height: 1.6;
}
.dfm-lmn-form-submit {
  display: block; width: 100%; height: 48px;
  margin-top: 12px;
  border: none; border-radius: var(--r-pill);
  background: var(--accent); color: #fff;
  font-family: inherit; font-size: 14.5px; font-weight: 700;
  cursor: pointer;
  transition: background .12s, opacity .12s;
}
.dfm-lmn-form-submit:disabled { opacity: .55; cursor: default; }
.dfm-lmn-form-submit:hover:not(:disabled) { background: var(--accent-press); }

/* ---- トースト ---- */
.dfm-lmn-toast {
  position: fixed;
  left: 50%; bottom: calc(max(env(safe-area-inset-bottom), 16px) + 16px);
  transform: translate(-50%, 8px);
  z-index: 60;
  background: var(--ink);
  color: #fff;
  font-size: 12.5px; font-weight: 600;
  border-radius: var(--r-pill);
  padding: 11px 18px;
  box-shadow: var(--shadow);
  opacity: 0;
  transition: opacity .22s, transform .22s;
  max-width: calc(100vw - 32px);
  text-align: center;
}
.dfm-lmn-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 480px) {
  .dfm-lmn-form-backdrop { align-items: flex-end; padding: 0; }
  .dfm-lmn-form {
    width: 100%; border-radius: var(--r-card) var(--r-card) 0 0;
    padding-bottom: calc(max(env(safe-area-inset-bottom), 16px));
  }
}
