body { font-family: Arial, sans-serif; margin: 0; padding: 10px 16px; color: #222; }
header { display: flex; align-items: baseline; gap: 16px; }
.hint { color: #777; font-size: 0.85em; }
.link { color: #1f77b4; cursor: pointer; text-decoration: underline; }

#dropzone { border: 2px dashed #aaa; border-radius: 8px; padding: 14px; text-align: center; margin: 8px 0; }
#dropzone.over { background: #eef6ff; border-color: #1f77b4; }
#dropzone p { margin: 4px 0; }

.file-card { border: 1px solid #ccc; border-radius: 6px; padding: 8px 10px; margin: 8px 0; }
.file-head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.file-head strong { flex: 1 1 200px; }
.file-head select { margin-left: 4px; }
.file-head .remove { cursor: pointer; border: none; background: none; color: #c00; font-size: 1.1em; }
.warn { color: #b45309; font-size: 0.85em; margin-top: 4px; }
.preview { overflow-x: auto; margin-top: 6px; max-height: 190px; }
.preview table { border-collapse: collapse; font-size: 0.78em; }
.preview td { border: 1px solid #ddd; padding: 2px 6px; white-space: nowrap; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.preview td.rn { background: #f3f3f3; color: #666; }
.preview tr.plant-row td:not(.rn) { background: #e3f1ff; }
.preview tr.group-row td:not(.rn) { background: #fff1d6; }

#viewer { display: flex; gap: 20px; margin-top: 10px; }
#viewer[hidden] { display: none; }
aside { width: 270px; max-height: 85vh; overflow-y: auto; flex: none; }
main { flex: 1; min-width: 0; }
.btn-row { display: flex; gap: 6px; margin-bottom: 10px; }
.btn-row button { flex: 1; }
.group-panel { padding-left: 8px; margin-bottom: 10px; border-left: 4px solid #333; }
.group-panel .gname { font-weight: bold; display: block; }
.group-panel .plants { padding-left: 16px; font-size: 0.85em; }
.group-panel .plants label { display: block; }
.toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.seg label { margin-right: 12px; }
.seg button.active { background: #1f77b4; color: #fff; }
#chart { height: 78vh; }
