.typing-label { margin-left: 8px; font-size: 0.8125rem; color: var(--ink-3); vertical-align: middle; }
.vh-planner[aria-busy="true"] { cursor: progress; }

.ai-link { display: grid; gap: 6px; }
.ai-link label { font-size: 0.8125rem; font-weight: 700; color: var(--navy); }
.ai-link-row { display: flex; gap: 8px; }
.ai-link-row input { flex: 1; min-width: 0; height: 38px; border: 2px solid var(--navy); border-radius: var(--r); padding: 0 12px; font-size: 0.875rem; background: #fff; outline: none; }
.ai-link-row input:focus { box-shadow: 3px 3px 0 var(--sun); }
.vh-planner .ai-link { margin-top: 16px; padding-top: 14px; border-top: 2px dashed var(--line-2); }
.vh-planner .ai-link .btn { margin-top: 0; }
.ai-link-side { padding: 10px 14px 0; border-top: 1.5px dashed var(--line-2); }

.imp-list { list-style: none; padding: 0; margin: 0 0 14px; display: grid; }
.imp-list li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-top: 2px dashed var(--line); }
.imp-list li:first-child { border-top: 0; }
.imp-list .grow { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.imp-list .tag { margin-left: 4px; }
.imp-form { display: grid; gap: 10px; }
.imp-form textarea { width: 100%; border: 2px solid var(--navy); border-radius: var(--r); padding: 10px 12px; font: inherit; font-size: 0.875rem; resize: vertical; background: #fff; outline: none; }
.imp-form textarea:focus { box-shadow: 3px 3px 0 var(--sun); }
.imp-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.imp-file { position: relative; overflow: hidden; gap: 6px; max-width: 100%; }
.imp-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.imp-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.imp-file:focus-within { box-shadow: 3px 3px 0 var(--sun); }
.imp-note { margin: 12px 0 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.day-booked { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.booked-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border: 1.5px solid var(--navy); border-radius: 999px; background: var(--mint); font-size: 0.8125rem; font-weight: 600; color: var(--navy); }
.booked-chip .icon { width: 14px; height: 14px; }
