html, body { height: 100%; margin: 0; } body { display: flex; flex-direction: column; } #paper { width: 100%; flex: 1; min-height: 0; display: block; margin: auto; border: solid; } .buttons { display: flex; gap: 10px; } #layoutButtons { display: flex; gap: 4px; } .filters-container { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 8px 0; font-family: sans-serif; font-size: 14px; } .filters-label { font-weight: bold; } #categoryFilters { display: flex; flex-wrap: wrap; gap: 8px; } .filter-dropdown { position: relative; } .filter-dropdown-toggle { cursor: pointer; border: 1px solid #ccc; border-radius: 4px; background: #f9f9f9; padding: 4px 10px; font-size: 13px; } .filter-dropdown.open .filter-dropdown-toggle { background: #e3edff; border-color: #3b82f6; } .filter-dropdown-partial .filter-dropdown-toggle { border-color: #3b82f6; border-style: dashed; } .filter-dropdown-empty .filter-dropdown-toggle { color: #999; } .filter-dropdown-panel { display: none; position: absolute; top: calc(100% + 4px); left: 0; z-index: 20; background: white; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); padding: 8px 12px; min-width: 180px; max-height: 320px; overflow-y: auto; } .filter-dropdown.open .filter-dropdown-panel { display: block; } .filter-category-label { display: block; font-weight: bold; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid #ddd; cursor: pointer; } .filter-kind-label { display: block; margin-left: 4px; margin-bottom: 2px; cursor: pointer; white-space: nowrap; } #tooltip { position: absolute; display: none; background: white; border: solid; padding: 5px 10px; border-radius: 4px; font-size: 15px; } input[type="checkbox"] { accent-color: #3b82f6; }