/* Airtable 공식 밝은 화면 선택지 팔레트, 2026-09-27 확인. */
.reaction-blue { --reaction: #166ee1; }
.reaction-green { --reaction: #048a0e; }
.reaction-yellow { --reaction: #ffba05; }
.reaction-red { --reaction: #dc043b; }
.reaction-gray { --reaction: #616670; }
.reaction-cyan { --reaction: #39caff; }
.reaction-none { --reaction: transparent; }
.panel { display:flex; flex-direction:column; }
.panel-scroll { flex:1; min-height:0; height:auto; }

.visits-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 20px;
  border-bottom:1px solid var(--line);
  background:#fff;
  flex-shrink:0;
}
.visits-toolbar p { font-size:12px; color:#56605a; }
.visits-toolbar button {
  flex-shrink:0;
  min-height:44px;
  padding:0 8px;
  background:transparent;
  border:0;
  font-size:13px;
  font-weight:700;
}
.visits-error { margin:0; padding:12px 20px; background:#fff3d4; color:#634b16; font-size:14px; flex-shrink:0; }
.visit-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; color:#59605c; font-size:14px; }
.reaction-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:13px;
  color:#303733;
  background:#f2f3f1;
  border:1px solid #e1e4e0;
  padding:4px 7px;
  border-radius:5px;
}
.reaction-badge::before { content:''; width:9px; height:9px; background:var(--reaction); border-radius:50%; }
.reaction-none::before { display:none; }
.reaction-guide, .unmatched-records { margin-top:14px; font-size:14px; }
.reaction-guide summary, .unmatched-records summary, .outside-records summary { min-height:44px; padding:12px 0; cursor:pointer; font-weight:650; }
.reaction-guide p, .unmatched-records p { font-size:14px; line-height:1.65; }
.reaction-colors { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.row-visit { font-size:12px; color:#5f655f; margin-top:5px; }
.visit-history { margin-top:24px; border-top:1px solid var(--line); padding-top:20px; }
.visit-card { border:1px solid var(--line); border-radius:10px; padding:16px; margin-top:12px; background:#fff; }
.visit-card-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; font-size:14px; }
.visit-card-location { font-size:16px; font-weight:650; margin:12px 0; }
.visit-note { margin-top:14px; }
.visit-note p, .visit-card-location { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.visit-note p { font-size:16px; margin-top:4px; }
.visit-photos { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.photo-link { display:flex; flex-direction:column; gap:5px; font-size:12px; min-height:44px; }
.photo-link img { height:80px; max-width:140px; object-fit:contain; border:1px solid var(--line); border-radius:5px; }
.connection-button { min-height:44px; padding:9px 0; background:transparent; border:0; text-decoration:underline; color:#626a61; font-size:13px; text-underline-offset:3px; }
.unmatched-row { padding:14px 0; border-top:1px solid var(--line); }
.unmatched-row strong, .unmatched-row small { display:block; }
.unmatched-row small { margin:4px 0; color:#667060; }
.outside-records { background:#f4f5f2; padding:0 12px; border-radius:7px; }
.connection-dialog { width:min(420px,calc(100% - 32px)); border:1px solid var(--line); border-radius:16px; padding:24px; }
.connection-dialog::backdrop { background:#172b2770; }
.connection-dialog form { display:grid; gap:14px; }
.connection-dialog h2 { font-size:22px; }
.connection-dialog p { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.connection-dialog label { font-size:14px; font-weight:700; }
.connection-dialog select { width:100%; min-height:48px; padding:8px; border:1px solid #9ca699; background:#fff; font-size:16px; border-radius:7px; }
@media(max-width:760px) {
  .visits-toolbar { padding:0 16px; }
  .visits-toolbar p { font-size:11px; }
  .visits-error { max-height:90px; overflow-y:auto; padding:6px 16px; font-size:12px; }
  .panel:not(.expanded) .visits-error { max-height:48px; }
}
