/* Small additions to the original FeeYang look (style.css is reused unchanged). */
.table { width: 100%; border-collapse: collapse; min-width: 520px; }
.table th { text-align: left; font-size: .8rem; color: var(--ink-faint); font-weight: 600; padding: .5rem .6rem; border-bottom: 1px solid var(--line-strong); }
.table td { padding: .7rem .6rem; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.table tr:last-child td { border-bottom: 0; }
.stack.left { text-align: left; }
.gate .card .stack { margin-top: 1rem; }
.steps { margin: .4rem 0 0; padding-left: 1.2rem; text-align: left; }
.steps li { margin-bottom: .35rem; }
.toast-error { background: var(--overdue); color: #fff; }
#toast-host { position: fixed; left: 0; right: 0; bottom: 5.5rem; display: flex; flex-direction: column; align-items: center; gap: .5rem; pointer-events: none; z-index: 60; }
#toast-host .toast { position: static; transform: none; pointer-events: auto; max-width: min(520px, calc(100vw - 2rem)); }
.tpl-task { border: 1px solid var(--line); border-radius: 8px; padding: .7rem; display: grid; gap: .5rem; }
.tpl-task input.offset { width: 5.5rem; min-height: 30px; padding: .1rem .4rem; }
.tpl-task .task-tools { margin-left: auto; flex-direction: row; }
.stage-head .task-tools { flex-direction: row; }
.card h3 + .muted { margin-top: .25rem; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }
/* Feng Shui reports */
.report { display: flex; gap: .75rem; align-items: center; justify-content: space-between; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 10px; padding: .75rem .9rem; }
.report-title { font-weight: 600; overflow-wrap: anywhere; }
.report .small { overflow-wrap: anywhere; }
.report-upload { border-top: 1px solid var(--line); padding-top: 1rem; }
.report-upload input[type="file"] { width: 100%; }
